android_kernel_xiaomi_sm8350/drivers
Isaac J. Manjarres aa52acefc6 driver core: Fix bus_type.match() error handling in __driver_attach()
commit 27c0d217340e47ec995557f61423ef415afba987 upstream.

When a driver registers with a bus, it will attempt to match with every
device on the bus through the __driver_attach() function. Currently, if
the bus_type.match() function encounters an error that is not
-EPROBE_DEFER, __driver_attach() will return a negative error code, which
causes the driver registration logic to stop trying to match with the
remaining devices on the bus.

This behavior is not correct; a failure while matching a driver to a
device does not mean that the driver won't be able to match and bind
with other devices on the bus. Update the logic in __driver_attach()
to reflect this.

Fixes: 656b8035b0 ("ARM: 8524/1: driver cohandle -EPROBE_DEFER from bus_type.match()")
Cc: stable@vger.kernel.org
Cc: Saravana Kannan <saravanak@google.com>
Signed-off-by: Isaac J. Manjarres <isaacmanjarres@google.com>
Link: https://lore.kernel.org/r/20220921001414.4046492-1-isaacmanjarres@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-18 11:42:00 +01:00
..
accessibility
acpi ACPICA: Fix error code path in acpi_ds_call_control_method() 2023-01-18 11:41:34 +01:00
amba
android binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0 2022-12-08 11:23:01 +01:00
ata ata: ahci: Fix PCS quirk application for suspend 2023-01-18 11:41:42 +01:00
atm
auxdisplay
base driver core: Fix bus_type.match() error handling in __driver_attach() 2023-01-18 11:42:00 +01:00
bcma
block drbd: use after free in drbd_create_device() 2022-11-25 17:42:16 +01:00
bluetooth Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave() 2023-01-18 11:41:16 +01:00
bus bus: sunxi-rsb: Support atomic transfers 2022-12-08 11:22:57 +01:00
cdrom
char ipmi: fix use after free in _ipmi_destroy_user() 2023-01-18 11:41:49 +01:00
clk clk: st: Fix memory leak in st_of_quadfs_setup() 2023-01-18 11:41:38 +01:00
clocksource clocksource/drivers/sh_cmt: Make sure channel clock supply is enabled 2023-01-18 11:40:56 +01:00
connector
counter counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update 2023-01-18 11:41:24 +01:00
cpufreq cpufreq: Init completion before kobject_init_and_add() 2023-01-18 11:41:46 +01:00
cpuidle cpuidle: dt: Return the correct numbers of parsed idle states 2023-01-18 11:40:53 +01:00
crypto crypto: n2 - add missing hash statesize 2023-01-18 11:41:50 +01:00
dax
dca
devfreq PM/devfreq: governor: Add a private governor_data for governor 2023-01-18 11:41:52 +01:00
dio drivers: dio: fix possible memory leak in dio_init() 2023-01-18 11:41:21 +01:00
dma dmaengine: at_hdmac: Check return code of dma_async_device_register 2022-11-25 17:42:10 +01:00
dma-buf udmabuf: Set the DMA mask for the udmabuf device (v2) 2022-09-05 10:27:45 +02:00
edac EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper() 2023-01-18 11:40:55 +01:00
eisa
extcon
firewire
firmware firmware: coreboot: Register bus in module init 2022-12-08 11:23:00 +01:00
fpga
fsi fsi: core: Check error number after calling ida_simple_get 2022-10-26 13:22:41 +02:00
gnss
gpio gpio: amd8111: Fix PCI device reference count leak 2022-12-14 11:30:44 +01:00
gpu drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() 2023-01-18 11:41:58 +01:00
greybus
hid HID: plantronics: Additional PIDs for double volume key presses quirk 2023-01-18 11:41:43 +01:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2023-01-18 11:41:28 +01:00
hv Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() 2022-12-08 11:22:58 +01:00
hwmon hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new() 2022-12-08 11:23:03 +01:00
hwspinlock
hwtracing
i2c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2023-01-18 11:41:26 +01:00
i3c
ide
idle intel_idle: Disable IBRS during long idle 2022-10-07 09:16:55 +02:00
iio iio: adc128s052: add proper .data members in adc128_of_match table 2023-01-18 11:41:41 +01:00
infiniband RDMA/mlx5: Fix validation of max_rd_atomic caps for DC 2023-01-18 11:41:57 +01:00
input Input: elants_i2c - properly handle the reset GPIO when power is off 2023-01-18 11:41:03 +01:00
interconnect
iommu iommu/amd: Fix ivrs_acpihid cmdline parsing code 2023-01-18 11:41:50 +01:00
ipack
irqchip irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe() 2023-01-18 11:40:54 +01:00
isdn mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave() 2023-01-18 11:41:32 +01:00
leds
lightnvm
macintosh macintosh/macio-adb: check the return value of ioremap() 2023-01-18 11:41:29 +01:00
mailbox mailbox: zynq-ipi: fix error handling while device_register() fails 2023-01-18 11:41:33 +01:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2023-01-18 11:41:25 +01:00
md dm thin: resume even if in FAIL mode 2023-01-18 11:41:53 +01:00
media media: s5p-mfc: Fix in register read and write for H264 2023-01-18 11:41:53 +01:00
memory memory: of: Fix refcount leak bug in of_get_ddr_timings() 2022-10-26 13:22:31 +02:00
memstick
message
mfd mfd: sm501: Add check for platform_driver_register() 2022-10-26 13:22:42 +02:00
misc cxl: Fix refcount leak in cxl_calc_capp_routing 2023-01-18 11:41:30 +01:00
mmc mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K 2023-01-18 11:41:46 +01:00
mtd mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type() 2023-01-18 11:41:49 +01:00
mux
net usb: rndis_host: Secure rndis_query check against int overflow 2023-01-18 11:41:58 +01:00
nfc nfc: pn533: Clear nfc_target before being used 2023-01-18 11:41:32 +01:00
ntb
nubus
nvdimm
nvme nvme-pci: fix doorbell buffer value endianness 2023-01-18 11:41:42 +01:00
nvmem
of of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() and find_dup_cset_prop() 2023-01-18 11:41:14 +01:00
opp
oprofile
parisc parisc: led: Fix potential null-ptr-deref in start_task() 2023-01-18 11:41:50 +01:00
parport parport_pc: Avoid FIFO port location truncation 2022-11-25 17:42:14 +01:00
pci PCI/sysfs: Fix double free in error path 2023-01-18 11:41:49 +01:00
pcmcia
perf perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init() 2023-01-18 11:40:50 +01:00
phy phy: stm32: fix an error code in probe 2022-11-25 17:42:03 +01:00
pinctrl pinctrl: pinconf-generic: add missing of_node_put() 2023-01-18 11:41:06 +01:00
platform platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() 2023-01-18 11:40:58 +01:00
pnp PNP: fix name memory leak in pnp_alloc_dev() 2023-01-18 11:40:54 +01:00
power power: supply: fix null pointer dereferencing in power_supply_get_battery_info 2023-01-18 11:41:28 +01:00
powercap powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue 2022-10-26 13:22:47 +02:00
pps
ps3
ptp
pwm pwm: sifive: Call pwm_sifive_update_clock() while mutex is held 2023-01-18 11:41:30 +01:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2023-01-18 11:40:59 +01:00
ras
regulator regulator: core: fix deadlock on regulator enable 2023-01-18 11:41:41 +01:00
remoteproc remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in adsp_alloc_memory_region() 2023-01-18 11:41:31 +01:00
reset
rpmsg rpmsg: qcom: glink: replace strncpy() with strscpy_pad() 2022-10-15 07:54:38 +02:00
rtc rtc: mxc_v2: Add missing clk_disable_unprepare() 2023-01-18 11:41:32 +01:00
s390 s390/lcs: Fix return type of lcs_start_xmit() 2023-01-18 11:41:36 +01:00
sbus
scsi scsi: snic: Fix possible UAF in snic_tgt_create() 2023-01-18 11:41:20 +01:00
sfi
sh
siox siox: fix possible memory leak in siox_device_add() 2022-11-25 17:42:14 +01:00
slimbus slimbus: stream: correct presence rate frequencies 2022-11-25 17:42:17 +01:00
soc ARM: ux500: do not directly dereference __iomem 2023-01-18 11:41:46 +01:00
soundwire
spi spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode 2023-01-18 11:41:12 +01:00
spmi spmi: pmic-arb: correct duplicate APID to PPID mapping logic 2022-10-26 13:22:43 +02:00
ssb
staging staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor() 2023-01-18 11:41:25 +01:00
target scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() 2022-11-25 17:42:20 +01:00
tc
tee tee: optee: fix possible memory leak in optee_register_device() 2022-12-08 11:22:57 +01:00
thermal thermal: intel_powerclamp: Use first online CPU as control_cpu 2022-10-26 13:23:01 +02:00
thunderbolt thunderbolt: Use the actual buffer in tb_async_error() 2022-09-15 12:04:52 +02:00
tty serial: sunsab: Fix error handling in sunsab_init() 2023-01-18 11:41:23 +01:00
uio uio: uio_dmem_genirq: Fix deadlock between irq config and handling 2023-01-18 11:41:22 +01:00
usb usb: dwc3: core: defer probe on ulpi_read_id timeout 2023-01-18 11:41:41 +01:00
vfio vfio: platform: Do not pass return buffer to ACPI _RST method 2023-01-18 11:41:22 +01:00
vhost vhost: fix range used in translate_desc() 2023-01-18 11:41:57 +01:00
video fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() 2023-01-18 11:41:27 +01:00
virt vboxguest: Do not use devm for irq 2022-08-25 11:18:33 +02:00
virtio
visorbus
vlynq
vme vme: Fix error not catched in fake_init() 2023-01-18 11:41:26 +01:00
w1
watchdog
xen xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource() 2023-01-18 11:40:57 +01:00
zorro
Kconfig
Makefile