linux_dsm_epyc7002/drivers
Zenghui Yu 8a7384f6e4 bcma: Fix memory leak for internally-handled cores
[ Upstream commit b63aed3ff195130fef12e0af590f4838cf0201d8 ]

kmemleak reported that dev_name() of internally-handled cores were leaked
on driver unbinding. Let's use device_initialize() to take refcounts for
them and put_device() to properly free the related stuff.

While looking at it, there's another potential issue for those which should
be *registered* into driver core. If device_register() failed, we put
device once and freed bcma_device structures. In bcma_unregister_cores(),
they're treated as unregistered and we hit both UAF and double-free. That
smells not good and has also been fixed now.

Fixes: ab54bc8460 ("bcma: fill core details for every device")
Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210727025232.663-2-yuzenghui@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 19:13:05 +02:00
..
accessibility
acpi ACPI: NFIT: Fix support for virtual SPA ranges 2024-07-05 18:54:10 +02:00
amba
android init: add dsm gpl source 2024-07-05 18:00:04 +02:00
ata libata: fix ata_host_start() 2024-07-05 19:09:43 +02:00
atm atm: nicstar: register the interrupt handler in the right place 2021-07-19 09:44:52 +02:00
auxdisplay
base driver core: Fix error return code in really_probe() 2024-07-05 19:10:52 +02:00
bcma bcma: Fix memory leak for internally-handled cores 2024-07-05 19:13:05 +02:00
block block: nbd: add sanity check for first_minor 2024-07-05 19:10:20 +02:00
bluetooth Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS 2024-07-05 19:01:00 +02:00
bus bus: ti-sysc: Fix error handling for sysc_check_active_timer() 2024-07-05 18:55:45 +02:00
cdrom
char tpm: ibmvtpm: Avoid error message when process gets signal while waiting 2024-07-05 19:10:21 +02:00
clk clk: renesas: rcar-usb2-clock-sel: Fix kernel NULL pointer dereference 2024-07-05 19:00:49 +02:00
clocksource clocksource/drivers/sh_cmt: Fix wrong setting if don't request IRQ for clock source channel 2024-07-05 19:10:20 +02:00
connector
counter counter: 104-quad-8: Return error when invalid mode during ceiling_write 2024-07-05 19:11:38 +02:00
cpufreq cpufreq: blocklist Qualcomm sm8150 in cpufreq-dt-platdev 2024-07-05 19:00:49 +02:00
cpuidle
crypto crypto: qat - use proper type for vf_mask 2024-07-05 19:10:20 +02:00
dax
dca
devfreq PM / devfreq: Add missing error code in devfreq_add_device() 2021-07-14 16:56:11 +02:00
dio
dma dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available 2024-07-05 18:55:31 +02:00
dma-buf init: add dsm gpl source 2024-07-05 18:00:04 +02:00
edac EDAC/i10nm: Fix NVDIMM detection 2024-07-05 19:10:30 +02:00
eisa
extcon extcon: intel-mrfld: Sync hardware and software state on init 2021-07-19 09:45:00 +02:00
firewire
firmware firmware: raspberrypi: Fix a leak in 'rpi_firmware_get()' 2024-07-05 19:12:05 +02:00
fpga fpga: dfl: fme: Fix cpu hotplug issue in performance reporting 2024-07-05 18:52:30 +02:00
fsi fsi: Add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:42 +02:00
gnss
gpio Revert "gpio: mpc8xxx: change the gpio interrupt flags." 2024-07-05 18:52:30 +02:00
gpu drm/msm/dsi: Fix some reference counted resource leaks 2024-07-05 19:11:46 +02:00
greybus
hid HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT 2024-07-05 18:03:16 +02:00
hsi
hv drivers: hv: Fix missing error code in vmbus_connect() 2021-07-14 16:55:59 +02:00
hwmon init: add dsm gpl source 2024-07-05 18:00:04 +02:00
hwspinlock
hwtracing intel_th: Wait until port is in reset before programming it 2021-07-20 16:05:46 +02:00
i2c i2c: xlp9xx: fix main IRQ check 2024-07-05 19:12:31 +02:00
i3c
ide
idle
iio iio: adc: Fix incorrect exit of for-loop 2024-07-05 18:53:59 +02:00
infiniband RDMA/efa: Free IRQ vectors on error flow 2024-07-05 18:57:45 +02:00
input Input: hideep - fix the uninitialized use in hideep_nvm_unlock() 2021-07-20 16:05:44 +02:00
interconnect interconnect: qcom: icc-rpmh: Ensure floor BW is enforced for all nodes 2024-07-05 18:52:31 +02:00
iommu iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() 2024-07-05 18:55:47 +02:00
ipack ipack: tpci200: fix memory leak in the tpci200_register 2024-07-05 18:55:59 +02:00
irqchip irqchip/gic-v3: Fix priority comparison when non-secure priorities are used 2024-07-05 19:10:20 +02:00
isdn mISDN: fix possible use-after-free in HFC_cleanup() 2021-07-19 09:44:38 +02:00
leds leds: trigger: audio: Add an activate callback to ensure the initial brightness is set 2024-07-05 19:11:28 +02:00
lightnvm
macintosh
mailbox mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion 2021-07-14 16:56:53 +02:00
mcb
md bcache: add proper error unwinding in bcache_device_init 2024-07-05 19:09:34 +02:00
media media: venus: venc: Fix potential null pointer dereference on pointer fmt 2024-07-05 19:11:28 +02:00
memory memory: tegra: Fix compilation warnings on 64bit platforms 2021-07-25 14:36:14 +02:00
memstick memstick: rtsx_usb_ms: fix UAF 2021-07-14 16:55:53 +02:00
message
mfd init: add dsm gpl source 2024-07-05 18:00:04 +02:00
misc lkdtm: replace SCSI_DISPATCH_CMD with SCSI_QUEUE_RQ 2024-07-05 19:12:05 +02:00
mmc mmc: moxart: Fix issue with uninitialized dma_slave_config 2024-07-05 19:12:23 +02:00
most
mtd mtd: spinand: Fix incorrect parameters for on-die ECC 2024-07-05 19:00:51 +02:00
mux
net atlantic: Fix driver resume flow. 2024-07-05 19:13:05 +02:00
nfc nfc: nfcsim: fix use after free during module unload 2024-07-05 18:03:16 +02:00
ntb init: add dsm gpl source 2024-07-05 18:00:04 +02:00
nubus
nvdimm libnvdimm/region: Fix label activation vs errors 2024-07-05 18:54:10 +02:00
nvme nvmet: pass back cntlid on successful completion 2024-07-05 19:09:35 +02:00
nvmem init: add dsm gpl source 2024-07-05 18:00:04 +02:00
of init: add dsm gpl source 2024-07-05 18:00:04 +02:00
opp opp: remove WARN when no valid OPPs remain 2024-07-05 19:00:49 +02:00
oprofile
parisc
parport
pci PCI: PM: Enable PME if it can be signaled from D3cold 2024-07-05 19:11:28 +02:00
pcmcia pcmcia: i82092: fix a null pointer dereference bug 2024-07-05 18:52:30 +02:00
perf perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number 2021-07-14 16:56:08 +02:00
phy init: add dsm gpl source 2024-07-05 18:00:04 +02:00
pinctrl pinctrl: tigerlake: Fix GPIO mapping for newer version of software 2024-07-05 18:54:11 +02:00
platform platform/x86: pcengines-apuv2: Add missing terminating entries to gpio-lookup tables 2024-07-05 18:54:12 +02:00
pnp
power power: supply: cw2015: use dev_err_probe to allow deferred probe 2024-07-05 19:09:52 +02:00
powercap
pps
ps3
ptp ptp_pch: Restore dependency on PCI 2024-07-05 18:55:46 +02:00
pwm init: add dsm gpl source 2024-07-05 18:00:04 +02:00
rapidio
ras
regulator regulator: vctrl: Avoid lockdep warning in enable/disable ops 2024-07-05 19:10:30 +02:00
remoteproc remoteproc: k3-r5: Fix an error message 2021-07-20 16:05:50 +02:00
reset reset: reset-zynqmp: Fixed the argument data type 2024-07-05 19:04:37 +02:00
rpmsg
rtc init: add dsm gpl source 2024-07-05 18:00:04 +02:00
s390 s390/ap: fix state machine hang after failure to enable irq 2024-07-05 19:09:52 +02:00
sbus
scsi scsi: core: Fix hang of freezing queue between blocking and running device 2024-07-05 18:57:30 +02:00
sfi
sh
siox
slimbus slimbus: ngd: reset dma setup during runtime pm 2024-07-05 18:55:58 +02:00
soc soc: qcom: smsm: Fix missed interrupts if state changes while masked 2024-07-05 19:11:28 +02:00
soundwire soundwire: stream: Fix test for DP prepare complete 2021-07-14 16:56:47 +02:00
spi spi: spi-zynq-qspi: use wait_for_completion_timeout to make zynq_qspi_exec_mem_op not interruptible 2024-07-05 19:10:30 +02:00
spmi
ssb ssb: Fix error return code in ssb_bus_scan() 2021-07-14 16:56:21 +02:00
staging clk: staging: correct reference to config IOMEM to config HAS_IOMEM 2024-07-05 19:12:04 +02:00
syno init: add dsm gpl source 2024-07-05 18:00:04 +02:00
target scsi: target: Fix protect handling in WRITE SAME(32) 2021-07-28 14:35:39 +02:00
tc
tee tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag 2024-07-05 18:53:10 +02:00
thermal init: add dsm gpl source 2024-07-05 18:00:04 +02:00
thunderbolt thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default() 2021-07-14 16:56:44 +02:00
tty tty: serial: fsl_lpuart: fix the wrong mapbase value 2024-07-05 19:12:32 +02:00
uio
usb usb: bdc: Fix a resource leak in the error handling path of 'bdc_probe()' 2024-07-05 19:12:32 +02:00
vdpa vdpa/mlx5: Avoid destroying MR on empty iotlb 2024-07-05 18:55:45 +02:00
vfio vfio/pci: Handle concurrent vma faults 2021-07-14 16:56:50 +02:00
vhost vringh: Use wiov->used to check for read/write desc order 2024-07-05 19:00:50 +02:00
video backlight: lm3630a: Fix return code of .update_status() callback 2021-07-20 16:05:45 +02:00
virt
virtio virtio_vdpa: reject invalid vq indices 2024-07-05 19:00:50 +02:00
visorbus visorbus: fix error return code in visorchipset_init() 2021-07-14 16:56:41 +02:00
vlynq
vme
w1 w1: ds2438: fixing bug that would always get page0 2021-07-20 16:05:39 +02:00
watchdog Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout" 2024-07-05 18:07:51 +02:00
xen xen/events: Fix race in set_evtchn_to_irq 2024-07-05 18:54:39 +02:00
zorro
Kconfig init: add dsm gpl source 2024-07-05 18:00:04 +02:00
Makefile init: add dsm gpl source 2024-07-05 18:00:04 +02:00