android_kernel_motorola_sm6375/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Thadeu Lima de Souza Cascardo 092de5ac8c i2c: cros-ec-tunnel: defer probe if parent EC is not present
commit 424eafe65647a8d6c690284536e711977153195a upstream.

When i2c-cros-ec-tunnel and the EC driver are built-in, the EC parent
device will not be found, leading to NULL pointer dereference.

That can also be reproduced by unbinding the controller driver and then
loading i2c-cros-ec-tunnel module (or binding the device).

[  271.991245] BUG: kernel NULL pointer dereference, address: 0000000000000058
[  271.998215] #PF: supervisor read access in kernel mode
[  272.003351] #PF: error_code(0x0000) - not-present page
[  272.008485] PGD 0 P4D 0
[  272.011022] Oops: Oops: 0000 [#1] SMP NOPTI
[  272.015207] CPU: 0 UID: 0 PID: 3859 Comm: insmod Tainted: G S                  6.15.0-rc1-00004-g44722359ed83 #30 PREEMPT(full)  3c7fb39a552e7d949de2ad921a7d6588d3a4fdc5
[  272.030312] Tainted: [S]=CPU_OUT_OF_SPEC
[  272.034233] Hardware name: HP Berknip/Berknip, BIOS Google_Berknip.13434.356.0 05/17/2021
[  272.042400] RIP: 0010:ec_i2c_probe+0x2b/0x1c0 [i2c_cros_ec_tunnel]
[  272.048577] Code: 1f 44 00 00 41 57 41 56 41 55 41 54 53 48 83 ec 10 65 48 8b 05 06 a0 6c e7 48 89 44 24 08 4c 8d 7f 10 48 8b 47 50 4c 8b 60 78 <49> 83 7c 24 58 00 0f 84 2f 01 00 00 48 89 fb be 30 06 00 00 4c 9
[  272.067317] RSP: 0018:ffffa32082a03940 EFLAGS: 00010282
[  272.072541] RAX: ffff969580b6a810 RBX: ffff969580b68c10 RCX: 0000000000000000
[  272.079672] RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff969580b68c00
[  272.086804] RBP: 00000000fffffdfb R08: 0000000000000000 R09: 0000000000000000
[  272.093936] R10: 0000000000000000 R11: ffffffffc0600000 R12: 0000000000000000
[  272.101067] R13: ffffffffa666fbb8 R14: ffffffffc05b5528 R15: ffff969580b68c10
[  272.108198] FS:  00007b930906fc40(0000) GS:ffff969603149000(0000) knlGS:0000000000000000
[  272.116282] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  272.122024] CR2: 0000000000000058 CR3: 000000012631c000 CR4: 00000000003506f0
[  272.129155] Call Trace:
[  272.131606]  <TASK>
[  272.133709]  ? acpi_dev_pm_attach+0xdd/0x110
[  272.137985]  platform_probe+0x69/0xa0
[  272.141652]  really_probe+0x152/0x310
[  272.145318]  __driver_probe_device+0x77/0x110
[  272.149678]  driver_probe_device+0x1e/0x190
[  272.153864]  __driver_attach+0x10b/0x1e0
[  272.157790]  ? driver_attach+0x20/0x20
[  272.161542]  bus_for_each_dev+0x107/0x150
[  272.165553]  bus_add_driver+0x15d/0x270
[  272.169392]  driver_register+0x65/0x110
[  272.173232]  ? cleanup_module+0xa80/0xa80 [i2c_cros_ec_tunnel 3a00532f3f4af4a9eade753f86b0f8dd4e4e5698]
[  272.182617]  do_one_initcall+0x110/0x350
[  272.186543]  ? security_kernfs_init_security+0x49/0xd0
[  272.191682]  ? __kernfs_new_node+0x1b9/0x240
[  272.195954]  ? security_kernfs_init_security+0x49/0xd0
[  272.201093]  ? __kernfs_new_node+0x1b9/0x240
[  272.205365]  ? kernfs_link_sibling+0x105/0x130
[  272.209810]  ? kernfs_next_descendant_post+0x1c/0xa0
[  272.214773]  ? kernfs_activate+0x57/0x70
[  272.218699]  ? kernfs_add_one+0x118/0x160
[  272.222710]  ? __kernfs_create_file+0x71/0xa0
[  272.227069]  ? sysfs_add_bin_file_mode_ns+0xd6/0x110
[  272.232033]  ? internal_create_group+0x453/0x4a0
[  272.236651]  ? __vunmap_range_noflush+0x214/0x2d0
[  272.241355]  ? __free_frozen_pages+0x1dc/0x420
[  272.245799]  ? free_vmap_area_noflush+0x10a/0x1c0
[  272.250505]  ? load_module+0x1509/0x16f0
[  272.254431]  do_init_module+0x60/0x230
[  272.258181]  __se_sys_finit_module+0x27a/0x370
[  272.262627]  do_syscall_64+0x6a/0xf0
[  272.266206]  ? do_syscall_64+0x76/0xf0
[  272.269956]  ? irqentry_exit_to_user_mode+0x79/0x90
[  272.274836]  entry_SYSCALL_64_after_hwframe+0x55/0x5d
[  272.279887] RIP: 0033:0x7b9309168d39
[  272.283466] Code: 5b 41 5c 5d c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d af 40 0c 00 f7 d8 64 89 01 8
[  272.302210] RSP: 002b:00007fff50f1a288 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[  272.309774] RAX: ffffffffffffffda RBX: 000058bf9b50f6d0 RCX: 00007b9309168d39
[  272.316905] RDX: 0000000000000000 RSI: 000058bf6c103a77 RDI: 0000000000000003
[  272.324036] RBP: 00007fff50f1a2e0 R08: 00007fff50f19218 R09: 0000000021ec4150
[  272.331166] R10: 000058bf9b50f7f0 R11: 0000000000000246 R12: 0000000000000000
[  272.338296] R13: 00000000fffffffe R14: 0000000000000000 R15: 000058bf6c103a77
[  272.345428]  </TASK>
[  272.347617] Modules linked in: i2c_cros_ec_tunnel(+)
[  272.364585] gsmi: Log Shutdown Reason 0x03

Returning -EPROBE_DEFER will allow the device to be bound once the
controller is bound, in the case of built-in drivers.

Fixes: 9d230c9e4f ("i2c: ChromeOS EC tunnel driver")
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
Cc: <stable@vger.kernel.org> # v3.16+
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250407-null-ec-parent-v1-1-f7dda62d3110@igalia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-02 07:39:20 +02:00
..
accessibility
acpi ACPI: resource: Skip IRQ override on ASUS Vivobook 14 X1404VAP 2025-04-10 14:29:43 +02:00
amba
android binder: fix UAF caused by offsets overwrite 2024-09-12 11:03:55 +02:00
ata ahci: add PCI ID for Marvell 88SE9215 SATA Controller 2025-05-02 07:39:10 +02:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-09-04 13:14:51 +02:00
auxdisplay
base PM: sleep: Fix handling devices with direct_complete set on errors 2025-04-10 14:29:40 +02:00
bcma
block nbd: don't allow reconnect after disconnect 2025-03-13 12:42:52 +01:00
bluetooth Bluetooth: btrtl: Prevent potential NULL dereference 2025-05-02 07:39:19 +02:00
bus
cdrom
char ipmi: ipmb: Add check devm_kasprintf() returned value 2025-03-13 12:42:53 +01:00
clk clk: amlogic: g12a: fix mmc A peripheral clock 2025-04-10 14:29:41 +02:00
clocksource clockevents/drivers/i8253: Fix stop sequence for timer 0 2025-04-10 14:29:34 +02:00
connector
counter counter: stm32-lptimer-cnt: fix error handling when enabling 2025-04-10 14:29:39 +02:00
cpufreq cpufreq: governor: Fix negative 'idle_time' handling in dbs_update() 2025-04-10 14:29:39 +02:00
cpuidle
crypto crypto: ccp - Fix check for the primary ASP device 2025-05-02 07:39:16 +02:00
dax
dca
devfreq
dio
dma dmaengine: ti: edma: fix OF node reference leaks in edma_driver 2025-03-13 12:42:59 +01:00
dma-buf udmabuf: also check for F_SEAL_FUTURE_WRITE 2025-01-09 13:23:29 +01:00
edac EDAC/ie31200: Fix the error path order of ie31200_init() 2025-04-10 14:29:39 +02:00
eisa
extcon
firewire
firmware firmware: imx-scu: fix OF node leak in .probe() 2025-04-10 14:29:37 +02:00
fpga
fsi
gnss
gpio gpio: zynq: Fix wakeup source leaks on device unbind 2025-05-02 07:39:17 +02:00
gpu drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off 2025-05-02 07:39:12 +02:00
greybus
hid HID: pidff: Fix null pointer dereference in pidff_find_fields 2025-05-02 07:39:09 +02:00
hsi HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition 2025-05-02 07:39:18 +02:00
hv Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio() 2025-04-10 14:29:35 +02:00
hwmon hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9} 2025-04-10 14:29:42 +02:00
hwspinlock
hwtracing coresight: catu: Fix number of pages while using 64k pages 2025-04-10 14:29:41 +02:00
i2c i2c: cros-ec-tunnel: defer probe if parent EC is not present 2025-05-02 07:39:20 +02:00
i3c i3c: Add NULL pointer check in i3c_master_queue_ibi() 2025-05-02 07:39:15 +02:00
ide
idle
iio iio: accel: mma8452: Ensure error return on failure to matching oversampling ratio 2025-04-10 14:29:41 +02:00
infiniband RDMA/usnic: Fix passing zero to PTR_ERR in usnic_ib_pci_probe() 2025-05-02 07:39:19 +02:00
input Input: xpad - add support for wooting two he (arm) 2025-02-01 18:18:54 +01:00
interconnect
iommu iommu/vt-d: Handle volatile descriptor status read 2024-09-12 11:03:53 +02:00
ipack
irqchip irqchip/sunxi-nmi: Add missing SKIP_WAKE flag 2025-02-01 18:18:52 +01:00
isdn mISDN: Fix a use after free in hfcmulti_tx() 2024-08-19 05:33:42 +02:00
leds leds: lp8860: Write full EEPROM, not only half of it 2025-03-13 12:43:06 +01:00
lightnvm
macintosh macintosh/therm_windtunnel: fix module unload. 2024-08-19 05:33:34 +02:00
mailbox mailbox: bcm2835: Fix timeout during suspend mode 2024-11-08 16:20:35 +01:00
mcb
md dm-integrity: set ti->error on memory allocation failure 2025-05-02 07:39:16 +02:00
media media: venus: hfi_parser: add check to avoid out of bound access 2025-05-02 07:39:15 +02:00
memory
memstick memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove 2025-04-10 14:29:39 +02:00
message scsi: fusion: Remove unused variable 'rc' 2024-12-14 19:44:29 +01:00
mfd mfd: sm501: Switch to BIT() to mitigate integer overflows 2025-04-10 14:29:41 +02:00
misc eeprom: digsy_mtc: Make GPIO lookup table match the device 2025-03-13 12:43:33 +01:00
mmc mmc: sdhci-pxav3: set NEED_RSP_BUSY capability 2025-04-10 14:29:43 +02:00
mtd mtd: rawnand: Add status chack in r852_ready() 2025-05-02 07:39:16 +02:00
mux
net net: b53: enable BPDU reception for management port 2025-05-02 07:39:19 +02:00
nfc nfc: pn533: Add poll mod list filling check 2024-09-04 13:15:04 +02:00
ntb ntb: use 64-bit arithmetic for the MSI doorbell mask 2025-05-02 07:39:17 +02:00
nubus
nvdimm nvdimm: rectify the illogical code within nd_dax_probe() 2024-12-14 19:44:54 +01:00
nvme nvme: only allow entering LIVE from CONNECTING state 2025-04-10 14:29:36 +02:00
nvmem nvmem: core: improve range check for nvmem_cell_write() 2025-03-13 12:43:10 +01:00
of of/irq: Fix device node refcount leakages in of_irq_init() 2025-05-02 07:39:17 +02:00
opp
oprofile
parisc
parport parport_pc: add support for ASIX AX99100 2025-03-13 12:43:19 +01:00
pci PCI: Fix reference leak in pci_alloc_child_bus() 2025-05-02 07:39:17 +02:00
pcmcia pcmcia: Use resource_size function on resource object 2024-09-12 11:03:52 +02:00
perf perf: arm_pmu: Don't disable counter in armpmu_add() 2025-05-02 07:39:09 +02:00
phy phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk 2025-03-13 12:43:25 +01:00
pinctrl pinctrl: renesas: rza2: Fix missing of_node_put() call 2025-04-10 14:29:40 +02:00
platform asus-laptop: Fix an uninitialized variable 2025-05-02 07:39:19 +02:00
pnp
power power: supply: max77693: Fix wrong conversion of charge input threshold value 2025-04-10 14:29:41 +02:00
powercap powercap: call put_device() on an error path in powercap_register_control_type() 2025-04-10 14:29:36 +02:00
pps pps: Fix a use-after-free 2025-03-13 12:43:19 +01:00
ps3
ptp ptp: Ensure info->enable callback is always set 2025-03-13 12:43:11 +01:00
pwm pwm: mediatek: always use bus clock for PWM on MT7622 2025-05-02 07:39:18 +02:00
rapidio rapidio: fix an API misues when rio_add_net() fails 2025-03-13 12:43:28 +01:00
ras
regulator regulator: of: Implement the unwind path of of_regulator_match() 2025-03-13 12:42:54 +01:00
remoteproc remoteproc: imx_rproc: Skip over memory region when node value is NULL 2024-08-19 05:33:44 +02:00
reset reset: berlin: fix OF node leak in probe() error path 2024-11-08 16:20:28 +01:00
rpmsg rpmsg: glink: Propagate TX failures in intentless mode as well 2024-12-14 19:44:39 +01:00
rtc rtc: pcf85063: fix potential OOB write in PCF85063 NVMEM read 2025-03-13 12:42:59 +01:00
s390 s390/cio: Fix CHPID "configure" attribute caching 2025-04-10 14:29:36 +02:00
sbus
scsi scsi: iscsi: Fix missing scsi_host_put() in error path 2025-05-02 07:39:18 +02:00
sfi
sh sh: clk: Fix clk_enable() to return 0 on NULL clk 2025-01-09 13:23:29 +01:00
siox
slimbus slimbus: messaging: Free transaction ID in delayed interrupt scenario 2025-03-13 12:43:33 +01:00
soc soc: qcom: smem_state: fix missing of_node_put in error path 2025-03-13 12:43:09 +01:00
soundwire soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps" 2024-11-08 16:20:25 +01:00
spi spi-mxs: Fix chipselect glitch 2025-03-13 12:43:03 +01:00
spmi
ssb ssb: Fix division by zero issue in ssb_calc_clock_rate 2024-09-04 13:14:53 +02:00
staging staging: media: imx: fix OF node leak in imx_media_add_of_subdevs() 2025-03-13 12:42:58 +01:00
target genetlink: hold RCU in genlmsg_mcast() 2024-11-08 16:20:50 +01:00
tc
tee tee: optee: Fix supplicant wait loop 2025-03-13 12:43:23 +01:00
thermal thermal/drivers/rockchip: Add missing rk3328 mapping entry 2025-05-02 07:39:16 +02:00
thunderbolt
tty serial: 8250_dma: terminate correct DMA in tx_dma_flush() 2025-04-10 14:29:39 +02:00
uio Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic 2024-09-12 11:03:55 +02:00
usb USB: serial: option: match on interface class for Telit FN990B 2025-04-10 14:29:37 +02:00
vfio vfio/pci: Enable iowrite64 and ioread64 for vfio pci 2025-03-13 12:43:13 +01:00
vhost
video fbdev: omapfb: Add 'plane' value check 2025-05-02 07:39:12 +02:00
virt
virtio
visorbus
vlynq
vme
w1
watchdog watchdog: mediatek: Make sure system reset gets asserted in mtk_wdt_restart() 2024-12-14 19:44:44 +01:00
xen xenfs/xensyms: respect hypervisor's "next" indication 2025-05-02 07:39:14 +02:00
zorro
Kconfig
Makefile