Commit graph

969,069 commits

Author SHA1 Message Date
Michael Bestas
ed068fccfe
Merge tag 'LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/audio-kernel into android13-5.4-lahaina
"LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/audio-kernel:
  ASoC: msm-pcm-q6-v2: Add dsp buf check
  ASoC: Add the judgment for TDM
  asoc: swrm: disable bus reset based on swrm verison
  dsp: afe: Add check for sidetone iir config copy size
  ASoC: msm-pcm-host-voice: Address buffer overflow in hpcm playback copy
  ASoC: msm-pcm-voip: Avoid interger underflow
  dsp: asm: validate payload size before access
  dsp:  afe: check for param size before copying
  dsp: q6core: validate payload size before access for AVCS
  dsp: afe: Add check for num_channels
  soc: swr-mstr-ctrl: add new lock to sync runtime_resume and runtime_suspend
  soc: reduce the auto suspend timeout when swr event finished

Change-Id: I82d3446a3ecf6cf47f75ab34a292557f24339ebb
2023-08-25 12:12:56 +03:00
Michael Bestas
5b907c9a3a
Merge tag 'LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api into android13-5.4-lahaina
"LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api:
  fw-api: CL 23575205 - update fw common interface files
  fw-api: CL 23566455 - update fw common interface files
  fw-api: CL 23557966 - update fw common interface files
  fw-api: CL 23542073 - update fw common interface files
  fw-api: CL 23529709 - update fw common interface files
  fw-api: CL 23523211 - update fw common interface files
  fw-api: CL 23520891 - update fw common interface files
  fw-api: CL 23507997 - update fw common interface files
  fw-api: CL 23504182 - update fw common interface files
  fw-api: Changes in monitor headers to support Big endian
  fw-api: CL 23485853 - update fw common interface files
  fw-api: CL 23485848 - update fw common interface files
  fw-api: CL 23467477 - update fw common interface files
  fw-api: CL 23459857 - update fw common interface files
  fw-api: CL 23459166 - update fw common interface files
  fw-api: CL 23441442 - update fw common interface files
  fw-api: CL 23420522 - update fw common interface files
  fw-api: CL 23329795 - update fw common interface files
  fw-api: CL 23307781 - update fw common interface files
  fw-api: CL 23242420 - update fw common interface files
  fw-api: CL 23191762 - update fw common interface files
  fw-api: CL 23190594 - update fw common interface files
  fw-api: CL 23178089 - update fw common interface files
  fw-api: CL 23138893 - update fw common interface files
  fw-api: CL 23101916 - update fw common interface files

Change-Id: Ia96694f553b1f5e2734acf5607d7460f5d779ab4
2023-08-25 12:12:11 +03:00
Michael Bestas
36c61ad7d9
Merge tag 'LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4 into android13-5.4-lahaina
"LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0"

* tag 'LA.UM.9.14.r1-22200-LAHAINA.QSSI14.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4:
  usb: gadget: cdev: Add spinlock to synchronize ports->cbits_updated
  msm: ep_pcie: Set clock power management bit for EP
  msm: Add config option for R8168 IOSS glue driver
  ipa_eth: Header change to pass more info from ETH to GSI

Change-Id: Ib6b27009e9867a605881464b80926daf6e0da25b
2023-08-25 12:11:25 +03:00
Alexander Winkowski
368983dd6c
techpack: camera: Avoid OOB access to struct cam_axi_per_path_bw_vote
Change-Id: I36c6366aa77f8e747a18d30b11c9f4f10ab60a82
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
2023-08-15 17:53:46 +00:00
Soumya Managoli
e9e1988e85
ASoC: Fix overflow error in routing driver
The reg in soc_dapm_mux is 32-bit. The BE DAI ID passed
as shift(to be operated on the reg) may be more than 31,
which may cause overflow.
Set reg field to SND_SOC_NOPM to avoid any DAPM operation
while passing BE IDs in shift_l field and hence avoid overflow.

Change-Id: Ibbbca04c61b7c56eb4c5a7485a4e93dc28a09709
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
[dereference23: Forward port to msm-5.4]
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
2023-08-15 17:50:24 +00:00
Gangadhar Kavalastramath
abd1a7c44c
qcacld-3.0: Initialize local struct objects
Initialize struct cm_roam_values_copy to avoid using uninitialized
parameters in wlan_cm_roam_cfg_set_value().
Initialize struct pdev_params to zero to avoid using uninitialized
parameters in wmi_unified_pdev_param_send().

Change-Id: I820db09840431487f1756695a0562f8a794f549f
CRs-Fixed: 3187194
2023-08-15 17:49:59 +00:00
Manaf Meethalavalappu Pallikunhi
7d3114211e
disp: msm: limit display brightness max cooling device level
Based on panel hardware support, display brightness levels can
be very high value. This high value display brightness cooling
device levels can cause exceeding PAGE_SIZE for cooling device stat
buffer. It leads to buffer failure for cooling device stat feature.

Limit display panel mitigation level max to 255. If hardware
supports more than 255, then scale brightness levels fit
into above limit.

Change-Id: Ieeee4ff2aa5cd884819b30b4fd9839e48ac4d804
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2023-08-15 17:49:42 +00:00
Linux Build Service Account
e88a5cceb1 Merge c99a841d40 on remote branch
Change-Id: I1568e21baded8139319e266649bffde810e4a8a5
2023-07-19 02:18:12 -07:00
Linux Build Service Account
d5e4529e8b Merge b9736f2024 on remote branch
Change-Id: Ieac36f04437394214eb963fddf1bfcb90e18de53
2023-07-19 01:54:34 -07:00
Linux Build Service Account
43c4367cfa Merge f47869b550 on remote branch
Change-Id: I74a048c76fb5f41d4c05ded978e3862210293001
2023-07-19 01:43:00 -07:00
Pratham Pratap
c99a841d40 usb: gadget: cdev: Add spinlock to synchronize ports->cbits_updated
Consider a scenario in which open, write and close of AT port is being
done repeatedly. At some point in time, cbits_updated in f_cdev
structure gets overwritten by the previous close instance causing the AT
port to go unresponsive. This prevents port bridge service from sending
DTR/RTS settings to at_mdm0 from at_usb0.

Fix this by adding spinlock to synchronise the updation of
ports->cbits_updated field in f_cdev structure.

Change-Id: Ibf39aa90f3918cd5f22e32a3b06685db4c4298ae
Signed-off-by: Pratham Pratap <quic_ppratap@quicinc.com>
2023-07-11 11:59:48 -07:00
Michael Bestas
c66e4a1259
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/datarmnet-ext into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/datarmnet-ext:
  rmnet_offload: I590f620cea3770efb8bc319e3a0322bbc8acaf85
  rmnet_offload: I3835da78f030c175bb6ce15cbcb73c50272dd7f2

Change-Id: I1769c803edba359f5ceaecd3aac9e23647f24253
2023-07-11 15:55:17 +03:00
Michael Bestas
e11e13749b
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/datarmnet into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/datarmnet:
  rmnet_core: Strengthen IPv6 fragment check in rmnet_frag_skip_exthdr()
  rmnet_core: Manually checksum csum_valid = 0 packets

Change-Id: Ic8d02b333ceb430f12209e5f8de32c42d617bd17
2023-07-11 15:53:54 +03:00
Michael Bestas
ce16abb069
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/dataipa into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/dataipa:
  msm: ipa3: Adding changes to increase workqueue priority
  msm: ipa3: fix pointer arithmetic to avoid out-of-bound
  msm: ipa3: Removing assert in halt q6 channel failed cases.

Change-Id: I9e71c61d64302bbbe37297de84e616abd3fd6da1
2023-07-11 15:52:40 +03:00
Michael Bestas
7a406906ce
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/audio-kernel into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/audio-kernel:
  ASoC: msm-pcm-voip: Avoid interger underflow
  dsp: q6core: validate payload size before access for AVCS
  dsp:  afe: check for param size before copying
  ASoC: msm-pcm-voip: Avoid interger underflow
  ASoC: msm-pcm-host-voice: Address buffer overflow in hpcm capture copy
  dsp: q6core: Avoid OOB access in q6core
  dsp: q6voice: Add buf size check for cvs cal data
  ASoC: msm-pcm-host-voice: Handle OOB access in hpcm_start
  dsp: q6adm: Resolve mem corruption in adm cb

Change-Id: I049254180a236de36f3f526faa2e401c4dd805ee
2023-07-11 15:49:56 +03:00
Michael Bestas
ee00b849f3
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0 into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qcacld-3.0:
  Release 2.0.8.33B
  qcacld-3.0: Print wow_nack reason code
  Release 2.0.8.33A
  qcacld-3.0: Don't start vdev trans if vdev ops is pending
  Release 2.0.8.33
  qcacld-3.0: Send the 6 GHz channel in WMI_ROAM_CHAN_LIST
  Release 2.0.8.32Z
  qcacld-3.0: Don't fill CCK rates for SAE Pre Auth frame
  Release 2.0.8.32Y
  qcacld-3.0: Update dot11 mode correctly for Getbssinfo

Change-Id: Ib8b32ed0d4ab2282a9e05729f7e3bb6ec49f6c8f
2023-07-11 15:47:05 +03:00
Michael Bestas
1f6fb86d15
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/qca-wifi-host-cmn:
  qcacmn: Get wow nack reason code

Change-Id: I8c847d4e7ae5d913988ec3667c67e4b93bf267bc
2023-07-11 15:46:17 +03:00
Michael Bestas
75e4a02651
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/fw-api:
  fw-api: Add evm info headers for qcn9224
  fw-api: CL 22994196 - update fw common interface files
  fw-api: CL 22946448 - update fw common interface files
  fw-api: CL 22928086 - update fw common interface files
  fw-api: CL 22895719 - update fw common interface files
  fw-api: CL 22882405 - update fw common interface files
  fw-api: CL 22860575 - update fw common interface files
  fw-api: CL 22845599 - update fw common interface files
  fw-api: CL 22832398 - update fw common interface files
  fw-api: CL 22832353 - update fw common interface files
  fw-api: CL 22808446 - update fw common interface files
  fw-api: CL 22808430 - update fw common interface files
  fw-api: CL 22791601 - update fw common interface files
  fw-api: CL 22788805 - update fw common interface files
  fw-api: CL 22765461 - update fw common interface files
  fw-api: CL 22691990 - update fw common interface files
  fw-api: CL 22674286 - update fw common interface files
  fw-api: CL 22650243 - update fw common interface files
  fw-api: CL 22641645 - update fw common interface files
  fw-api: CL 22630619 - update fw common interface files
  Revert "fw-api: Add evm info headers for qcn9224"
  fw-api: Add qcnn6432 target header files to fw-api project
  fw-api: CL 22585871 - update fw common interface files
  fw-api: CL 22585869 - update fw common interface files
  fw-api: CL 22545098 - update fw common interface files
  fw-api: CL 22522091 - update fw common interface files
  fw-api: CL 22520756 - update fw common interface files
  fw-api: CL 22520752 - update fw common interface files
  fw-api: Add evm info headers for qcn9224

Change-Id: Id8039f4e7e68a905241ace1b898e0d4e3ebcfc71
2023-07-11 15:45:18 +03:00
Michael Bestas
98fe78f9fe
Merge tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4 into android13-5.4-lahaina
"LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0"

* tag 'LA.UM.9.14.r1-22000-LAHAINA.QSSI12.0' of https://git.codelinaro.org/clo/la/kernel/msm-5.4:
  cpufreq: schedutil: Fix UAF issue
  msm: mhi_dev: Support async write in UCI for size greater than 8k
  mtd: msm_qpic_nand: Add boot_a and boot_b access to APPS
  qcom: cpufreq-hw: Use the topology coreid for offset
  soc: qcom: Add Upperbounds check for program header
  msm: adsprpc: Handle UAF in fastrpc_buf_free
  interconnect: qcom: sm8150: fix UAF under remove function
  interconnect: qcom: monaco: fix UAF under remove function
  interconnect: qcom: direwolf: fix UAF under remove function
  interconnect: qcom: yupik: fix UAF under remove function
  interconnect: qcom: sdxnightjar: fix UAF under remove function
  interconnect: qcom: sdxlemur: fix UAF under remove function
  interconnect: qcom: sm6150: fix UAF under remove function
  interconnect: qcom: shima: fix UAF under remove function
  interconnect: qcom: scshrike: fix UAF under remove function
  interconnect: qcom: lahaina: fix UAF under remove function
  interconnect: qcom: holi: fix UAF under remove function
  qcedev: vote for crypto clocks during module close
  msm: synx: Check for zero before reducing bind handles
  msm: adsprpc: Handle UAF in fastrpc internal munmap
  mtd: msm_qpic_nand: Add boot_a and boot_b access to APPS
  coresight-tmc: increase qdss pcie sw path throughput
  net: qrtr: Move service id based filter check before queueing skb
  defconfig: sdxlemur: Enable R8168 driver config
  virt: haven: rsc_mgr: Allocate right buffer size of requests

 Conflicts:
	arch/arm64/boot/dts/vendor/bindings/phy/amlogic,g12a-usb3-pcie-phy.yaml
	arch/arm64/boot/dts/vendor/bindings/sound/qcom,wcd9335.txt
	drivers/edac/qcom_edac.c
	drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
	drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c
	drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
	mm/khugepaged.c

Change-Id: I5b49e94db45d481ea90ba77800b26c32bd7433ab
2023-07-11 15:43:42 +03:00
Michael Bestas
6e1a4f94cd
Merge tag 'ASB-2023-07-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
https://source.android.com/docs/security/bulletin/2023-07-01
CVE-2022-42703
CVE-2023-21255
CVE-2023-25012

* tag 'ASB-2023-07-05_11-5.4' of https://android.googlesource.com/kernel/common:
  UPSTREAM: ipvlan:Fix out-of-bounds caused by unclear skb->cb
  UPSTREAM: net/sched: cls_u32: Fix reference counter leak leading to overflow
  UPSTREAM: memstick: r592: Fix UAF bug in r592_remove due to race condition
  BACKPORT: btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
  ANDROID: HID: Only utilise UHID provided exports if UHID is enabled
  UPSTREAM: bluetooth: Perform careful capability checks in hci_sock_ioctl()
  ANDROID: HID; Over-ride default maximum buffer size when using UHID
  Revert "ANDROID: AVB error handler to invalidate vbmeta partition."
  UPSTREAM: mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
  UPSTREAM: mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
  UPSTREAM: efi: rt-wrapper: Add missing include
  BACKPORT: arm64: efi: Execute runtime services from a dedicated stack

Change-Id: I1f90844654d86b0a8507de963cb574813fdbf99b
2023-07-11 15:34:28 +03:00
Sai Chaitanya Kaveti
0c5f471d1c msm: ep_pcie: Set clock power management bit for EP
According to PCIe spec, PCIE_CAP_CLOCK_POWER_MAN bit in
LINK_CAPABILITIES_REG register should be set for EP. But it is seen as
cleared after core reset. In the current driver this bit is being set
but it is not taking effect. Enabling CLK_PM_EN in PCIE_ELBI_SYS_CTRL
register, so that PCIE_CAP_CLOCK_POWER_MAN is set.

Change-Id: I16654d5a477fa8eeaad61d6ec1dd32757627e2f9
Signed-off-by: Sai Chaitanya Kaveti <quic_skaveti@quicinc.com>
2023-07-07 11:46:00 +05:30
t.feng
f95ca5bb23 UPSTREAM: ipvlan:Fix out-of-bounds caused by unclear skb->cb
[ Upstream commit 90cbed5247439a966b645b34eb0a2e037836ea8e ]

If skb enqueue the qdisc, fq_skb_cb(skb)->time_to_send is changed which
is actually skb->cb, and IPCB(skb_in)->opt will be used in
__ip_options_echo. It is possible that memcpy is out of bounds and lead
to stack overflow.
We should clear skb->cb before ip_local_out or ip6_local_out.

v2:
1. clean the stack info
2. use IPCB/IP6CB instead of skb->cb

crash on stable-5.10(reproduce in kasan kernel).
Stack info:
[ 2203.651571] BUG: KASAN: stack-out-of-bounds in
__ip_options_echo+0x589/0x800
[ 2203.653327] Write of size 4 at addr ffff88811a388f27 by task
swapper/3/0
[ 2203.655460] CPU: 3 PID: 0 Comm: swapper/3 Kdump: loaded Not tainted
5.10.0-60.18.0.50.h856.kasan.eulerosv2r11.x86_64 #1
[ 2203.655466] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS rel-1.10.2-0-g5f4c7b1-20181220_000000-szxrtosci10000 04/01/2014
[ 2203.655475] Call Trace:
[ 2203.655481]  <IRQ>
[ 2203.655501]  dump_stack+0x9c/0xd3
[ 2203.655514]  print_address_description.constprop.0+0x19/0x170
[ 2203.655530]  __kasan_report.cold+0x6c/0x84
[ 2203.655586]  kasan_report+0x3a/0x50
[ 2203.655594]  check_memory_region+0xfd/0x1f0
[ 2203.655601]  memcpy+0x39/0x60
[ 2203.655608]  __ip_options_echo+0x589/0x800
[ 2203.655654]  __icmp_send+0x59a/0x960
[ 2203.655755]  nf_send_unreach+0x129/0x3d0 [nf_reject_ipv4]
[ 2203.655763]  reject_tg+0x77/0x1bf [ipt_REJECT]
[ 2203.655772]  ipt_do_table+0x691/0xa40 [ip_tables]
[ 2203.655821]  nf_hook_slow+0x69/0x100
[ 2203.655828]  __ip_local_out+0x21e/0x2b0
[ 2203.655857]  ip_local_out+0x28/0x90
[ 2203.655868]  ipvlan_process_v4_outbound+0x21e/0x260 [ipvlan]
[ 2203.655931]  ipvlan_xmit_mode_l3+0x3bd/0x400 [ipvlan]
[ 2203.655967]  ipvlan_queue_xmit+0xb3/0x190 [ipvlan]
[ 2203.655977]  ipvlan_start_xmit+0x2e/0xb0 [ipvlan]
[ 2203.655984]  xmit_one.constprop.0+0xe1/0x280
[ 2203.655992]  dev_hard_start_xmit+0x62/0x100
[ 2203.656000]  sch_direct_xmit+0x215/0x640
[ 2203.656028]  __qdisc_run+0x153/0x1f0
[ 2203.656069]  __dev_queue_xmit+0x77f/0x1030
[ 2203.656173]  ip_finish_output2+0x59b/0xc20
[ 2203.656244]  __ip_finish_output.part.0+0x318/0x3d0
[ 2203.656312]  ip_finish_output+0x168/0x190
[ 2203.656320]  ip_output+0x12d/0x220
[ 2203.656357]  __ip_queue_xmit+0x392/0x880
[ 2203.656380]  __tcp_transmit_skb+0x1088/0x11c0
[ 2203.656436]  __tcp_retransmit_skb+0x475/0xa30
[ 2203.656505]  tcp_retransmit_skb+0x2d/0x190
[ 2203.656512]  tcp_retransmit_timer+0x3af/0x9a0
[ 2203.656519]  tcp_write_timer_handler+0x3ba/0x510
[ 2203.656529]  tcp_write_timer+0x55/0x180
[ 2203.656542]  call_timer_fn+0x3f/0x1d0
[ 2203.656555]  expire_timers+0x160/0x200
[ 2203.656562]  run_timer_softirq+0x1f4/0x480
[ 2203.656606]  __do_softirq+0xfd/0x402
[ 2203.656613]  asm_call_irq_on_stack+0x12/0x20
[ 2203.656617]  </IRQ>
[ 2203.656623]  do_softirq_own_stack+0x37/0x50
[ 2203.656631]  irq_exit_rcu+0x134/0x1a0
[ 2203.656639]  sysvec_apic_timer_interrupt+0x36/0x80
[ 2203.656646]  asm_sysvec_apic_timer_interrupt+0x12/0x20
[ 2203.656654] RIP: 0010:default_idle+0x13/0x20
[ 2203.656663] Code: 89 f0 5d 41 5c 41 5d 41 5e c3 cc cc cc cc cc cc cc
cc cc cc cc cc cc 0f 1f 44 00 00 0f 1f 44 00 00 0f 00 2d 9f 32 57 00 fb
f4 <c3> cc cc cc cc 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 41 54 be 08
[ 2203.656668] RSP: 0018:ffff88810036fe78 EFLAGS: 00000256
[ 2203.656676] RAX: ffffffffaf2a87f0 RBX: ffff888100360000 RCX:
ffffffffaf290191
[ 2203.656681] RDX: 0000000000098b5e RSI: 0000000000000004 RDI:
ffff88811a3c4f60
[ 2203.656686] RBP: 0000000000000000 R08: 0000000000000001 R09:
ffff88811a3c4f63
[ 2203.656690] R10: ffffed10234789ec R11: 0000000000000001 R12:
0000000000000003
[ 2203.656695] R13: ffff888100360000 R14: 0000000000000000 R15:
0000000000000000
[ 2203.656729]  default_idle_call+0x5a/0x150
[ 2203.656735]  cpuidle_idle_call+0x1c6/0x220
[ 2203.656780]  do_idle+0xab/0x100
[ 2203.656786]  cpu_startup_entry+0x19/0x20
[ 2203.656793]  secondary_startup_64_no_verify+0xc2/0xcb

[ 2203.657409] The buggy address belongs to the page:
[ 2203.658648] page:0000000027a9842f refcount:1 mapcount:0
mapping:0000000000000000 index:0x0 pfn:0x11a388
[ 2203.658665] flags:
0x17ffffc0001000(reserved|node=0|zone=2|lastcpupid=0x1fffff)
[ 2203.658675] raw: 0017ffffc0001000 ffffea000468e208 ffffea000468e208
0000000000000000
[ 2203.658682] raw: 0000000000000000 0000000000000000 00000001ffffffff
0000000000000000
[ 2203.658686] page dumped because: kasan: bad access detected

To reproduce(ipvlan with IPVLAN_MODE_L3):
Env setting:
=======================================================
modprobe ipvlan ipvlan_default_mode=1
sysctl net.ipv4.conf.eth0.forwarding=1
iptables -t nat -A POSTROUTING -s 20.0.0.0/255.255.255.0 -o eth0 -j
MASQUERADE
ip link add gw link eth0 type ipvlan
ip -4 addr add 20.0.0.254/24 dev gw
ip netns add net1
ip link add ipv1 link eth0 type ipvlan
ip link set ipv1 netns net1
ip netns exec net1 ip link set ipv1 up
ip netns exec net1 ip -4 addr add 20.0.0.4/24 dev ipv1
ip netns exec net1 route add default gw 20.0.0.254
ip netns exec net1 tc qdisc add dev ipv1 root netem loss 10%
ifconfig gw up
iptables -t filter -A OUTPUT -p tcp --dport 8888 -j REJECT --reject-with
icmp-port-unreachable
=======================================================
And then excute the shell(curl any address of eth0 can reach):

for((i=1;i<=100000;i++))
do
        ip netns exec net1 curl x.x.x.x:8888
done
=======================================================

Bug: 289225588
Fixes: 2ad7bf3638 ("ipvlan: Initial check-in of the IPVLAN driver.")
Signed-off-by: "t.feng" <fengtao40@huawei.com>
Suggested-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 610a433810b277b3b77389733c07d22e8af68de2)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I08a12f6e3b1614210867cd23e9071918dc380faf
2023-06-28 17:43:14 +01:00
Shalini Manjunatha
f47869b550 ASoC: msm-pcm-q6-v2: Add dsp buf check
Fix is to add check for this ADSP returned buf offset + size,
if it is within the available buf size range

Change-Id: I400cc4f5c07164f0a9b405ebea144ea0ae4b6cf2
Signed-off-by: Shalini Manjunatha <quic_c_shalma@quicinc.com>
2023-06-27 16:30:54 +05:30
Lee Jones
6e030b7606 UPSTREAM: net/sched: cls_u32: Fix reference counter leak leading to overflow
[ Upstream commit 04c55383fa5689357bcdd2c8036725a55ed632bc ]

In the event of a failure in tcf_change_indev(), u32_set_parms() will
immediately return without decrementing the recently incremented
reference counter.  If this happens enough times, the counter will
rollover and the reference freed, leading to a double free which can be
used to do 'bad things'.

In order to prevent this, move the point of possible failure above the
point where the reference counter is incremented.  Also save any
meaningful return values to be applied to the return data at the
appropriate point in time.

This issue was caught with KASAN.

Bug: 273251569
Fixes: 705c709126 ("net: sched: cls_u32: no need to call tcf_exts_change for newly allocated struct")
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 07f9cc229b44cbcee6385802d390091d915f38c3)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I95524bfda9a08a40b3d54515e528419dba18dc55
2023-06-26 12:07:16 +01:00
spuligil
b9736f2024 fw-api: CL 23575205 - update fw common interface files
add WMI_COEX_CONFIG_BT_RX_PER_THRESHOLD def

Change-Id: Idaf1f30b923ef692189bb8d44a6b971a2bb99df0
CRs-Fixed: 2262693
2023-06-24 06:02:10 -07:00
Zheng Wang
9de197d0e5 UPSTREAM: memstick: r592: Fix UAF bug in r592_remove due to race condition
[ Upstream commit 63264422785021704c39b38f65a78ab9e4a186d7 ]

In r592_probe, dev->detect_timer was bound with r592_detect_timer.
In r592_irq function, the timer function will be invoked by mod_timer.

If we remove the module which will call hantro_release to make cleanup,
there may be a unfinished work. The possible sequence is as follows,
which will cause a typical UAF bug.

Fix it by canceling the work before cleanup in r592_remove.

CPU0                  CPU1

                    |r592_detect_timer
r592_remove         |
  memstick_free_host|
  put_device;       |
  kfree(host);      |
                    |
                    | queue_work
                    |   &host->media_checker //use

Bug: 287729043
Signed-off-by: Zheng Wang <zyytlz.wz@163.com>
Link: https://lore.kernel.org/r/20230307164338.1246287-1-zyytlz.wz@163.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 9a342d4eb9fb8e52f7d1afe088a79513f3f9a9a5)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Idb15f593287ebaeec294b3e276126306fa6743ba
2023-06-23 12:06:05 +00:00
Zixuan Fu
bf85112393 BACKPORT: btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
commit 85f02d6c856b9f3a0acf5219de6e32f58b9778eb upstream.

In btrfs_relocate_block_group(), the rc is allocated.  Then
btrfs_relocate_block_group() calls

relocate_block_group()
  prepare_to_relocate()
    set_reloc_control()

that assigns rc to the variable fs_info->reloc_ctl. When
prepare_to_relocate() returns, it calls

btrfs_commit_transaction()
  btrfs_start_dirty_block_groups()
    btrfs_alloc_path()
      kmem_cache_zalloc()

which may fail for example (or other errors could happen). When the
failure occurs, btrfs_relocate_block_group() detects the error and frees
rc and doesn't set fs_info->reloc_ctl to NULL. After that, in
btrfs_init_reloc_root(), rc is retrieved from fs_info->reloc_ctl and
then used, which may cause a use-after-free bug.

This possible bug can be triggered by calling btrfs_ioctl_balance()
before calling btrfs_ioctl_defrag().

To fix this possible bug, in prepare_to_relocate(), check if
btrfs_commit_transaction() fails. If the failure occurs,
unset_reloc_control() is called to set fs_info->reloc_ctl to NULL.

The error log in our fault-injection testing is shown as follows:

  [   58.751070] BUG: KASAN: use-after-free in btrfs_init_reloc_root+0x7ca/0x920 [btrfs]
  ...
  [   58.753577] Call Trace:
  ...
  [   58.755800]  kasan_report+0x45/0x60
  [   58.756066]  btrfs_init_reloc_root+0x7ca/0x920 [btrfs]
  [   58.757304]  record_root_in_trans+0x792/0xa10 [btrfs]
  [   58.757748]  btrfs_record_root_in_trans+0x463/0x4f0 [btrfs]
  [   58.758231]  start_transaction+0x896/0x2950 [btrfs]
  [   58.758661]  btrfs_defrag_root+0x250/0xc00 [btrfs]
  [   58.759083]  btrfs_ioctl_defrag+0x467/0xa00 [btrfs]
  [   58.759513]  btrfs_ioctl+0x3c95/0x114e0 [btrfs]
  ...
  [   58.768510] Allocated by task 23683:
  [   58.768777]  ____kasan_kmalloc+0xb5/0xf0
  [   58.769069]  __kmalloc+0x227/0x3d0
  [   58.769325]  alloc_reloc_control+0x10a/0x3d0 [btrfs]
  [   58.769755]  btrfs_relocate_block_group+0x7aa/0x1e20 [btrfs]
  [   58.770228]  btrfs_relocate_chunk+0xf1/0x760 [btrfs]
  [   58.770655]  __btrfs_balance+0x1326/0x1f10 [btrfs]
  [   58.771071]  btrfs_balance+0x3150/0x3d30 [btrfs]
  [   58.771472]  btrfs_ioctl_balance+0xd84/0x1410 [btrfs]
  [   58.771902]  btrfs_ioctl+0x4caa/0x114e0 [btrfs]
  ...
  [   58.773337] Freed by task 23683:
  ...
  [   58.774815]  kfree+0xda/0x2b0
  [   58.775038]  free_reloc_control+0x1d6/0x220 [btrfs]
  [   58.775465]  btrfs_relocate_block_group+0x115c/0x1e20 [btrfs]
  [   58.775944]  btrfs_relocate_chunk+0xf1/0x760 [btrfs]
  [   58.776369]  __btrfs_balance+0x1326/0x1f10 [btrfs]
  [   58.776784]  btrfs_balance+0x3150/0x3d30 [btrfs]
  [   58.777185]  btrfs_ioctl_balance+0xd84/0x1410 [btrfs]
  [   58.777621]  btrfs_ioctl+0x4caa/0x114e0 [btrfs]
  ...

Bug: 286629572
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
CC: stable@vger.kernel.org # 5.15+
Reviewed-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Zixuan Fu <r33s3n6@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b60e862e133f646f19023ece1d476d630a660de1)
[Lee: Fixed minor conflict - returning result vs returning 0]
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I9212b61a85d36e20eed337d59fbadc2782d96a24
2023-06-23 11:57:25 +00:00
spuligil
100c793c09 fw-api: CL 23566455 - update fw common interface files
Change-Id: I301686747f6e713c1f2f52b76d95db64f701e543
WMI: add NAN_OEM_DATA CMD,EVENT msg defs
CRs-Fixed: 2262693
2023-06-23 03:41:50 -07:00
spuligil
5f497f6bad fw-api: CL 23557966 - update fw common interface files
add WMI_VENDOR_OUI_ACTION_ENABLE_CTS2SELF_WITH_QOS_NULL def

Change-Id: I20e0cb68828728a1a299ccb02b096982554889cd
CRs-Fixed: 2262693
2023-06-22 06:02:02 -07:00
spuligil
7b7058806a fw-api: CL 23542073 - update fw common interface files
Change-Id: Ia69e8ae41cee4bfd4dabbfa5f01ad4d19d508227
WMI: spec channel width switch too in VDEV_PARAM_CHWIDTH_WITH_NOTIFY
CRs-Fixed: 2262693
2023-06-22 02:12:13 -07:00
spuligil
94aa662854 fw-api: CL 23529709 - update fw common interface files
Change-Id: Ife670969ee1a5318bba8a82d2227f8e66e7c8770
WMI: add aux_dev_caps var-len array in SERVICE_READY_EXT2 EVENT msg
CRs-Fixed: 2262693
2023-06-22 02:12:10 -07:00
spuligil
48b8e2e4ec fw-api: CL 23523211 - update fw common interface files
WMI: add min_device_tx_pwr field in vdev_start_response_event msg
Also, add WMI_MLO_LINK_SWITCH_REQUEST_EVENTID to ALL_EVT_LIST (missed originally)

Change-Id: I8f617ba3309f7372f0584c32e4d1ae4f3dae1355
CRs-Fixed: 2262693
2023-06-22 02:12:07 -07:00
spuligil
d8df6dd859 fw-api: CL 23520891 - update fw common interface files
Change-Id: I2bb028305802184c008433a53443638d357b0169
WMI: add regdomain_bitmap in pdev_set_regdomain_cmd TLV
CRs-Fixed: 2262693
2023-06-22 02:12:05 -07:00
spuligil
957cbcfad8 fw-api: CL 23507997 - update fw common interface files
Change-Id: If80971d7e3744a28e3b9c6c68e9f858ec14de49b
WMI: add MLO_LINK_RECOMMENDATION_CMD msg def
CRs-Fixed: 2262693
2023-06-22 02:12:02 -07:00
spuligil
6f24f8089c fw-api: CL 23504182 - update fw common interface files
Change-Id: If4b155f5f5876d62092fac4ec1bee13d8d540d12
WMI: add TWT IE option in mgmt_rx_params_ext
CRs-Fixed: 2262693
2023-06-22 02:11:48 -07:00
Nandha Kishore Easwaran
d35c331283 fw-api: Changes in monitor headers to support Big endian
Use BIG endian version of mon_buf and mon_dest structures.

Change-Id: I819e8947e927042c8362a601e8a07751f85f9ccd
CRs-Fixed: 3510779
2023-06-22 02:11:46 -07:00
Lee Jones
6165e57aa0 ANDROID: HID: Only utilise UHID provided exports if UHID is enabled
Commit "ANDROID: HID; Over-ride default maximum buffer size when using
UHID" provided a means for the UHID driver to offer an alternative
(smaller) report buffer size when dealing with user-space.  The method
used was an Android-only solution designed to prevent the KMI ABI from
being broken (nb: the upstream solution was cleaner, but broke the ABI).

Since this solution involved consuming resources exported by a
subordinate driver, that driver would have to be enabled for the export
to take place.  Since all of our default configs enable UHID, an issue
was not detected.  However, for more specific kernel configs, where HID
is enabled, but UHID is not, this leads to compile-time undefined symbol
errors:

  ld.lld: error: undefined symbol: uhid_hid_driver

This patch relies on the compiler to leave out unutilised sections of
the code if the associated resources are not available.

Bug: 260007429
Reported-by: Paul Lawrence <paullawrence@google.com>
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I80b1aa7454c89d5c5e21f0268252ffb666efab97
Signed-off-by: Lee Jones <joneslee@google.com>
2023-06-21 10:57:41 +01:00
Boyuan Yan
1a53e0ded7 ASoC: Add the judgment for TDM
Add support to remove unnecessary TDM route where TDM is not need.

Change-Id: I56aee33cbb9ecbc190fc24bfa14a071263661292
Signed-off-by: Boyuan Yan <quic_boyuyan@quicinc.com>
2023-06-21 00:19:25 -07:00
Ruihan Li
60c1a0beb5 UPSTREAM: bluetooth: Perform careful capability checks in hci_sock_ioctl()
commit 25c150ac103a4ebeed0319994c742a90634ddf18 upstream.

Previously, capability was checked using capable(), which verified that the
caller of the ioctl system call had the required capability. In addition,
the result of the check would be stored in the HCI_SOCK_TRUSTED flag,
making it persistent for the socket.

However, malicious programs can abuse this approach by deliberately sharing
an HCI socket with a privileged task. The HCI socket will be marked as
trusted when the privileged task occasionally makes an ioctl call.

This problem can be solved by using sk_capable() to check capability, which
ensures that not only the current task but also the socket opener has the
specified capability, thus reducing the risk of privilege escalation
through the previously identified vulnerability.

Bug: 286456284
Cc: stable@vger.kernel.org
Fixes: f81f5b2db8 ("Bluetooth: Send control open and close messages for HCI raw sockets")
Signed-off-by: Ruihan Li <lrh2000@pku.edu.cn>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 47e6893a5b0ad14c0b1c25983a1facb1cf667b6e)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I9a4b20c7b1e9b4e6bbd6371264aec039770a52ff
2023-06-19 11:26:43 +01:00
Soumya Managoli
c3b67277c6 ASoC: msm-pcm-voip: Avoid interger underflow
There is no check for voip pkt pkt_len,if it contains the
min required data. This can lead to integer underflow.
Add check for the same.

Change-Id: I40242429542b6c32a0e6c3bbe03975c244c2f61a
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
2023-06-15 00:27:09 -07:00
Lee Jones
e699d543bb ANDROID: HID; Over-ride default maximum buffer size when using UHID
Presently, when a report is processed, its proposed size, provided by
the user of the API (as Report Size * Report Count) is compared against
the subsystem default HID_MAX_BUFFER_SIZE (16k).  However, some
low-level HID drivers allocate a reduced amount of memory to their
buffers (e.g. UHID only allocates UHID_DATA_MAX (4k) buffers), rending
this check inadequate in some cases.

In these circumstances, if the received report ends up being smaller
than the proposed report size, the remainder of the buffer is zeroed.
That is, the space between sizeof(csize) (size of the current report)
and the rsize (size proposed i.e. Report Size * Report Count), which can
be handled up to HID_MAX_BUFFER_SIZE (16k).  Meaning that memset()
shoots straight past the end of the buffer boundary and starts zeroing
out in-use values, often resulting in calamity.

This is an Android specific patch which essentially achieves the same
goal as the recently reverted upstream commits b1a37ed00d790 "(HID:
core: Provide new max_buffer_size attribute to over-ride the default")
and 1c5d4221240a2 ("HID: uhid: Over-ride the default maximum data buffer
value with our own") only it does so in an ABI friendly (albeit more
hacky) way.

Bug: 260007429
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I1f56673bb67b63ab14b58634bfe74a04b0758e3d
(cherry picked from commit 71761b36c37ae15a09fdd4d4adcc98bb939c426c)
2023-06-15 08:18:37 +01:00
Raihan Haider
d5e2d67500 msm: Add config option for R8168 IOSS glue driver
Add kernel config option for Realtek R8168 IOSS glue driver

Change-Id: Icbcd29f154df979d4a4cb508e6c052441964d074
Signed-off-by: Raihan Haider <quic_rhaider@quicinc.com>
2023-06-14 22:45:40 -07:00
spuligil
0118697ccc fw-api: CL 23485853 - update fw common interface files
add WMI_UNIFIED_VDEV_SUBTYPE_BRIDGE def

Change-Id: I66e76123d21878b14f07de1d177781dc0c11f1e1
CRs-Fixed: 2262693
2023-06-14 18:02:52 -07:00
spuligil
a7e13535d7 fw-api: CL 23485848 - update fw common interface files
Change-Id: I647204a3ac2b5581a6a920d5bd7b8ca0b2423498
HTT: expand fisa_aggr_limit from 4 -> 6 bits in h2t fisa_config_t
CRs-Fixed: 2262693
2023-06-14 18:02:01 -07:00
Himansu Nayak
1eef0cc383 ipa_eth: Header change to pass more info from ETH to GSI
Adding Support rtk8111k and add additional member
which fill from ioss and pass to GSI via IPA

num_queues_enabled (Total nuber of queue).

Change-Id: I7a127a9a60e1e45eb384634a7c7d74f813df3e08
Signed-off-by: Himansu Nayak <quic_himansu@quicinc.com>
2023-06-14 09:27:04 +05:30
spuligil
843d007317 fw-api: CL 23467477 - update fw common interface files
WMI: add peer_info_v2, group_info_v2 in ATF msgs, add MAX_CLIENT_512 svc flag
Also, combine WMI: add dynamic_force_link_num MLO control flag change.

Change-Id: I150e8541b07f3d3ef6de072732be1a3db7152491
CRs-Fixed: 2262693
2023-06-13 12:01:56 -07:00
Alistair Delva
8047bf5f22 Revert "ANDROID: AVB error handler to invalidate vbmeta partition."
This driver is not used and can cause problems if used on modern
devices. Remove it.

This reverts commit 6115619831.

Bug: 185178770
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: I1d5acb96dda765a1e3ea0cf62a3bf4b2a78892ea
(cherry picked from commit ce6a5172613f990c6aaef168953d1be684f86e12)
2023-06-13 16:44:25 +00:00
spuligil
9e139737f2 fw-api: CL 23459857 - update fw common interface files
Change-Id: Ia891132dd204c05bc927ca0784e101e9e53cfec7
HTT: add T2H PEER_EXTENDED_EVENT msg def
CRs-Fixed: 2262693
2023-06-13 06:02:56 -07:00
spuligil
7a83aad64c fw-api: CL 23459166 - update fw common interface files
Change-Id: If56a660d140025e3a01d1954ac583ad2be1cb7d4
WMI: add MLO_PRIMARY_LINK_PEER_MIGRATION_CMD,_EVENT msg defs
CRs-Fixed: 2262693
2023-06-13 06:01:55 -07:00
Dan Carpenter
6841a56b34 UPSTREAM: mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
[ Upstream commit 8fe72b76db79d694858e872370df49676bc3be8c ]

There was a bug where this code forgot to unlock the tdev->mutex if the
kzalloc() failed.  Fix this issue, by moving the allocation outside the
lock.

Bug: 275340532
Fixes: 2d1e952a2b8e ("mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Lee Jones <lee@kernel.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 7d233f93594f0d9afe44e9409131a8d6ad4f593c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I7a4a1bf06abbb2092aceb72610e3f894b2bfbf0f
2023-06-12 14:16:02 +01:00