Zhou Qingyang
15115464eb
drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms()
...
[ Upstream commit ab50cb9df8896b39aae65c537a30de2c79c19735 ]
In radeon_driver_open_kms(), radeon_vm_bo_add() is assigned to
vm->ib_bo_va and passes and used in radeon_vm_bo_set_addr(). In
radeon_vm_bo_set_addr(), there is a dereference of vm->ib_bo_va,
which could lead to a NULL pointer dereference on failure of
radeon_vm_bo_add().
Fix this bug by adding a check of vm->ib_bo_va.
This bug was found by a static analyzer. The analysis employs
differential checking to identify inconsistent security operations
(e.g., checks or kfrees) between two code paths and confirms that the
inconsistent operations are not recovered in the current function or
the callers, so they constitute bugs.
Note that, as a bug found by static analysis, it can be a false
positive or hard to trigger. Multiple researchers have cross-reviewed
the bug.
Builds with CONFIG_DRM_RADEON=m show no new warnings,
and our static analyzer no longer warns about this code.
Fixes: cc9e67e3d7 ("drm/radeon: fix VM IB handling")
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Zhou Qingyang <zhou1615@umn.edu>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-01-27 09:19:32 +01:00
..
accessibility
acpi
ACPI: EC: Rework flushing of EC work while suspended to idle
2022-01-27 09:19:32 +01:00
amba
ARM: 9120/1: Revert "amba: make use of -1 IRQs warn"
2021-11-06 13:59:45 +01:00
android
binder: fix async_free_space accounting for empty parcels
2022-01-05 12:37:46 +01:00
ata
libata: if T_LENGTH is zero, dma direction should be DMA_NONE
2021-12-22 09:29:39 +01:00
atm
auxdisplay
auxdisplay: ht16k33: Fix frame buffer device blanking
2021-11-17 09:48:45 +01:00
base
devtmpfs regression fix: reconfigure on each mount
2022-01-20 09:19:17 +01:00
bcma
bcma: Fix memory leak for internally-handled cores
2021-09-15 09:47:37 +02:00
block
xen/blkfront: harden blkfront against event channel storms
2021-12-22 09:29:40 +01:00
bluetooth
Bluetooth: bfusb: fix division by zero in send path
2022-01-16 09:15:38 +01:00
bus
bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
2021-10-13 10:08:19 +02:00
cdrom
char
random: fix crash on multiple early calls to add_bootloader_randomness()
2022-01-16 09:15:39 +01:00
clk
clk: bcm-2835: Remove rounding up the dividers
2022-01-27 09:19:29 +01:00
clocksource
clocksource/drivers/timer-ti-dm: Select TIMER_OF
2021-11-17 09:48:39 +01:00
connector
counter
counter: 104-quad-8: Return error when invalid mode during ceiling_write
2021-09-15 09:47:34 +02:00
cpufreq
cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink()
2021-12-08 09:01:11 +01:00
cpuidle
cpuidle: Fix kobject memory leaks in error paths
2021-11-17 09:48:36 +01:00
crypto
crypto: qce - fix uaf on qce_ahash_register_one
2022-01-27 09:19:30 +01:00
dax
dca
devfreq
dio
dma
dmaengine: st_fdma: fix MODULE_ALIAS
2021-12-22 09:29:36 +01:00
dma-buf
dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
2022-01-27 09:19:28 +01:00
edac
EDAC/amd64: Handle three rank interleaving mode
2021-11-17 09:48:36 +01:00
eisa
extcon
firewire
firmware
firmware: qemu_fw_cfg: fix kobject leak in probe error path
2022-01-20 09:19:18 +01:00
fpga
fpga: machxo2-spi: Fix missing error code in machxo2_write_complete()
2021-09-30 10:09:23 +02:00
fsi
gnss
gpio
gpio: pca953x: Improve bias setting
2021-10-20 11:40:15 +02:00
gpu
drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms()
2022-01-27 09:19:32 +01:00
greybus
hid
HID: wacom: Avoid using stale array indicies to read contact count
2022-01-27 09:19:26 +01:00
hsi
hv
hyperv/vmbus: include linux/bitops.h
2021-11-17 09:48:20 +01:00
hwmon
hwmon: (lm90) Do not report 'busy' status bit as alarm
2021-12-29 12:23:37 +01:00
hwspinlock
hwtracing
intel_th: Wait until port is in reset before programming it
2021-07-20 16:10:46 +02:00
i2c
i2c: validate user data in compat ioctl
2022-01-05 12:37:45 +01:00
i3c
ide
idle
iio
iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda
2021-12-22 09:29:35 +01:00
infiniband
RDMA/uverbs: Check for null return of kmalloc_array
2022-01-11 15:23:31 +01:00
input
Input: touchscreen - Fix backport of a02dcde595f7cbd240ccd64de96034ad91cffc40
2022-01-11 15:23:30 +01:00
interconnect
iommu
iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure
2022-01-27 09:19:28 +01:00
ipack
ipack: ipoctal: fix module reference leak
2021-10-06 15:42:36 +02:00
irqchip
irqchip: nvic: Fix offset for Interrupt Priority Offsets
2021-12-14 14:49:06 +01:00
isdn
mISDN: change function names to avoid conflicts
2022-01-11 15:23:33 +01:00
leds
leds: trigger: audio: Add an activate callback to ensure the initial brightness is set
2021-09-15 09:47:33 +02:00
lightnvm
macintosh
mailbox
mcb
mcb: fix error handling in mcb_alloc_bus()
2021-09-30 10:09:22 +02:00
md
dm btree remove: fix use after free in rebalance_children()
2021-12-22 09:29:35 +01:00
media
media: venus: core: Fix a resource leak in the error handling path of 'venus_probe()'
2022-01-27 09:19:31 +01:00
memory
memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe
2021-11-17 09:48:42 +01:00
memstick
memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host()
2021-11-17 09:48:37 +01:00
message
mfd
mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
2022-01-16 09:15:38 +01:00
misc
lkdtm: Fix content of section containing lkdtm_rodata_do_nothing()
2022-01-27 09:19:28 +01:00
mmc
mmc: sdhci-pci: Add PCI ID for Intel ADL
2022-01-16 09:15:38 +01:00
mtd
mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6
2022-01-27 09:19:26 +01:00
mux
net
wcn36xx: Release DMA channel descriptor allocations
2022-01-27 09:19:29 +01:00
nfc
NFC: st21nfca: Fix memory leak in device probe and remove
2022-01-05 12:37:44 +01:00
ntb
NTB: perf: Fix an error code in perf_setup_inbuf()
2021-09-22 12:26:44 +02:00
nubus
nvdimm
libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind
2021-10-06 15:42:38 +02:00
nvme
nvmet: use IOCB_NOWAIT only if the filesystem supports it
2021-12-01 09:23:33 +01:00
nvmem
nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells
2021-10-20 11:40:14 +02:00
of
of: Don't allow __of_attached_node_sysfs() without CONFIG_SYSFS
2021-09-22 12:26:34 +02:00
opp
opp: Fix return in _opp_add_static_v2()
2021-11-17 09:48:44 +01:00
oprofile
parisc
parisc: Move pci_dev_is_behind_card_dino to where it is used
2021-09-26 14:07:10 +02:00
parport
parport: remove non-zero check on count
2021-09-22 12:26:36 +02:00
pci
PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller
2022-01-27 09:19:28 +01:00
pcmcia
pcmcia: i82092: fix a null pointer dereference bug
2021-08-12 13:21:03 +02:00
perf
phy
phy: qcom-qusb2: Fix a memory leak on probe
2021-11-17 09:48:43 +01:00
pinctrl
pinctrl: mediatek: fix global-out-of-bounds issue
2021-12-29 12:23:37 +01:00
platform
platform/x86: apple-gmux: use resource_size() with res
2022-01-05 12:37:43 +01:00
pnp
power
power: reset: ltc2952: Fix use of floating point literals
2022-01-11 15:23:32 +01:00
powercap
pps
ps3
ptp
ptp_pch: Load module automatically if ID matches
2021-10-13 10:08:19 +02:00
pwm
pwm: stm32-lp: Don't modify HW state in .remove() callback
2021-09-26 14:07:13 +02:00
rapidio
ras
regulator
regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
2021-11-17 09:48:22 +01:00
remoteproc
reset
reset: socfpga: add empty driver allowing consumers to probe
2021-11-17 09:48:20 +01:00
rpmsg
rtc
rtc: cmos: take rtc_lock while reading from CMOS
2022-01-27 09:19:27 +01:00
s390
s390/cio: make ccw_device_dma_* more robust
2021-11-17 09:48:50 +01:00
sbus
scsi
scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown()
2022-01-11 15:23:33 +01:00
sfi
sh
maple: fix wrong return value of maple_bus_init().
2021-11-26 10:47:17 +01:00
siox
slimbus
slimbus: ngd: reset dma setup during runtime pm
2021-08-26 08:36:21 -04:00
soc
soc/tegra: fuse: Fix bitwise vs. logical OR warning
2021-12-22 09:29:37 +01:00
soundwire
spi
spi: change clk_disable_unprepare to clk_unprepare
2021-12-29 12:23:34 +01:00
spmi
ssb
staging
staging: greybus: fix stack size warning with UBSAN
2022-01-16 09:15:39 +01:00
target
scsi: target: Fix alua_tg_pt_gps_count tracking
2021-11-26 10:47:16 +01:00
tc
tee
tee: fix put order in teedev_close_context()
2022-01-27 09:19:30 +01:00
thermal
thermal: core: Reset previous low and high trip during thermal zone init
2021-12-08 09:01:09 +01:00
thunderbolt
tty
tty: serial: atmel: Call dma_async_issue_pending()
2022-01-27 09:19:31 +01:00
uio
usb
USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status
2022-01-16 09:15:38 +01:00
vfio
vfio: Use config not menuconfig for VFIO_NOIOMMU
2021-09-22 12:26:23 +02:00
vhost
vhost/vsock: fix incorrect used length reported to the guest
2021-12-01 09:23:34 +01:00
video
vgacon: Propagate console boot parameters before calling `vc_resize'
2021-12-08 09:01:13 +01:00
virt
virtio
virtio_ring: Fix querying of maximum DMA mapping size for virtio device
2021-12-22 09:29:34 +01:00
visorbus
vlynq
vme
w1
w1: ds2438: fixing bug that would always get page0
2021-07-20 16:10:41 +02:00
watchdog
ar7: fix kernel builds for compiler test
2021-11-17 09:48:46 +01:00
xen
xen: detect uninitialized xenbus in xenbus_init
2021-12-01 09:23:28 +01:00
zorro
Kconfig
Makefile