Merge tag 'LA.UM.9.14.r1-24900-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4 into android13-5.4-lahaina

"LA.UM.9.14.r1-24900-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-24900-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4:
  qcedev: fix UAF in qcedev_smmu
  msm: cvp: OOB write fix due to integer underflow
  msm: eva: Adding kref count for cvp_get_inst_from_id
  msm: kgsl: Fix error handling during drawctxt switch
  msm_ipa: EoGRE Multi tunnel support
  usb: dwc3: Fix dwc3 version and revisions in remote wakeup path
  usb: gadget: f_cdev: Add remote wakeup capability from notify_serial_state
  power: reset: qcom-dload-mode: nodump mode error handling
  firmware: qcom_scm: Add a call for getting dload mode
  msm: kgsl: Fix error handling during drawctxt switch
  power: reset: qcom-dload-mode: support for nodump mode
  defconfig: sdxlemur: Enable nodump support for sdxlemur
  PCI: Disable L0s support for SDX65 with QPS615 on CPE platform
  msm: adsprpc: use-after-free (UAF) in global maps
  UPSTREAM: xhci: prepare for operation without shared HCD
  rpmsg: glink: Get reference of channel objects in rx path
  msm_ipa: Tunnel Config structure changes
  soc: qcom: mdt_loader: add bound checks for headers
  BACKPORT: media: venus: hfi: add checks in capabilities from firmware

Change-Id: Idae516c9223cb306b362ad22f031735cd856d59f
This commit is contained in:
Michael Bestas 2024-08-05 21:53:23 +03:00
commit ea1c711e8f
No known key found for this signature in database
GPG key ID: CC95044519BE6669
21 changed files with 387 additions and 220 deletions

View file

@ -1731,7 +1731,7 @@ struct IpaDscpVlanPcpMap_t {
uint8_t num_vlan; /* indicate how many vlans valid vlan above */
uint8_t num_s_vlan; /* indicate how many vlans valid in s_vlan below */
uint8_t dscp_opt; /* indicates if dscp is required or optional */
uint8_t pad1; /* for alignment */
uint8_t tunnel_id; /* tunnel id */
/*
* The same lookup scheme, using vlan[] above, is used for
* generating the first index of mpls below; and in addition,
@ -1750,8 +1750,8 @@ struct IpaDscpVlanPcpMap_t {
* mpls_val_sorted is in ascending order, by mpls label values in mpls array
* vlan_c and vlan_s are vlan id values that are corresponding to the mpls label
*/
uint16_t pad2; /* for alignment */
uint8_t pad3; /* for alignment */
uint16_t del_add_vlan_id; /* vlan id to add or del */
uint8_t is_vlan_to_del_add; /* whether to add or del vlan? */
uint8_t num_mpls_val_sorted; /* num of elements in mpls_val_sorted */
uint32_t mpls_val_sorted[IPA_EoGRE_MAX_VLAN * IPA_GRE_MAX_S_VLAN];
uint16_t vlan_c[IPA_EoGRE_MAX_VLAN * IPA_GRE_MAX_S_VLAN];
@ -1825,7 +1825,7 @@ struct singletag_mux_mapping_table_t {
uint8_t mux_id;
/* flag if 1=>pkt_with_option_hdr 0=>pkt_without_option_hdr */
uint8_t is_v6_options_hdr_present;
uint16_t pad0; /*for alignment*/
uint16_t tunnel_id;/* tunnel_id */
uint32_t *tunnel_template_addr;
} __packed;
@ -1850,13 +1850,22 @@ struct doubletag_mux_mapping_table_t {
/* max number of tunnel to support ie: per PDN two tunnel (2*8)*/
#define MAX_TUNNEL_SUPPORT 16
/* configuration table */
/* @tunnel_protocols_config_table_t: Config tbl for uC
* @untagged_mapping_table : Store the untag tunnel info.
* @num_of_single_tag_configs : no of active tunnel in single tag config.
* @feature_mode: which tunnel feature is enabled.
* @tunnel_id: Which tunnel info receive from ipacm.
* @is_tunnel_id_to_del: whether tunnel to delete.
* @singletag_mux_mapping_table: Store tunnel info for active tunnels.
* @num_of_double_tag_configs: no of active tunnel in double tag config.
* @doubletag_mux_mapping_table: Store double tag tunnel info.
*/
struct tunnel_protocols_config_table_t {
struct untag_pkt_config_t untagged_mapping_table;
uint8_t num_of_single_tag_configs;
uint8_t pad0; /*for alignment*/
uint16_t pad1; /*for alignment*/
uint32_t pad2; /*for alignment*/
uint8_t feature_mode;
uint16_t tunnel_id;
uint32_t is_tunnel_id_to_del;
/* table for single tag pkt */
struct singletag_mux_mapping_table_t singletag_mux_mapping_table[MAX_TUNNEL_SUPPORT];
uint8_t num_of_double_tag_configs;