linux-stable/drivers
Marc Kleine-Budde 49ffa47321 spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers
commit 4ceaa68445 upstream.

In case a IRQ based transfer times out the bcm2835_spi_handle_err()
function is called. Since commit 1513ceee70 ("spi: bcm2835: Drop
dma_pending flag") the TX and RX DMA transfers are unconditionally
canceled, leading to NULL pointer derefs if ctlr->dma_tx or
ctlr->dma_rx are not set.

Fix the NULL pointer deref by checking that ctlr->dma_tx and
ctlr->dma_rx are valid pointers before accessing them.

Fixes: 1513ceee70 ("spi: bcm2835: Drop dma_pending flag")
Cc: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://lore.kernel.org/r/20220719072234.2782764-1-mkl@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-07-29 17:28:14 +02:00
..
accessibility
acpi ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC is supported 2022-07-29 17:28:06 +02:00
amba
android binder: Gracefully handle BINDER_TYPE_FDA objects with num_fds=0 2022-04-22 17:22:51 +02:00
ata ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() 2022-06-22 14:27:50 +02:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-03-17 13:56:58 -07:00
auxdisplay auxdisplay: lcd2s: Use array size explicitly in lcd2s_gotoxy() 2022-03-18 20:31:14 +01:00
base x86/bugs: Report AMD retbleed vulnerability 2022-07-23 12:56:47 +02:00
bcma Core MTD changes: 2022-03-25 13:35:34 -07:00
block xen/blkfront: force data bouncing when backend is untrusted 2022-07-07 17:55:00 +02:00
bluetooth Bluetooth: btmtksdio: fix the reset takes too long 2022-06-09 10:30:13 +02:00
bus bus: mhi: host: pci_generic: add Telit FN990 2022-07-29 17:27:57 +02:00
cdrom cdrom: remove unused variable 2022-04-06 08:47:52 -06:00
char random: update comment from copy_to_user() -> copy_to_iter() 2022-06-29 09:04:43 +02:00
clk clk: imx8mp: fix usb_root_clk parent 2022-06-22 14:28:13 +02:00
clocksource clocksource/drivers/ixp4xx: Drop boardfile probe path 2022-07-02 16:44:55 +02:00
comedi comedi: vmk80xx: fix expression for tx buffer size 2022-06-22 14:28:06 +02:00
connector
counter Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
cpufreq cpufreq: pmac32-cpufreq: Fix refcount leak bug 2022-07-22 10:21:48 +02:00
cpuidle cpuidle: riscv-sbi: Fix code to allow a genpd governor to be used 2022-06-09 10:30:18 +02:00
crypto crypto: sun8i-ss - handle zero sized sg 2022-06-09 10:30:30 +02:00
cxl cxl: Fix cleanup of port devices on failure to probe driver. 2022-07-12 16:42:16 +02:00
dax dax for 5.18 2022-03-24 18:12:09 -07:00
dca
devfreq PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events 2022-07-07 17:54:53 +02:00
dio
dma dmaengine: idxd: force wq context cleanup on device disable path 2022-07-12 16:42:26 +02:00
dma-buf udmabuf: add back sanity check 2022-06-29 09:04:32 +02:00
edac EDAC/dmc520: Don't print an error for each unconfigured interrupt line 2022-06-09 10:29:59 +02:00
eisa
extcon extcon: Modify extcon device to be created after driver data is set 2022-06-14 18:45:11 +02:00
firewire firewire: core: extend card->lock in fw_core_handle_bus_reset 2022-04-25 08:01:09 +02:00
firmware firmware: sysfb: Add sysfb_disable() helper function 2022-07-22 10:21:48 +02:00
fpga
fsi
gnss
gpio gpio: gpio-xilinx: Fix integer overflow 2022-07-29 17:28:13 +02:00
gpu drm/imx/dcss: Add missing of_node_put() in fail path 2022-07-29 17:28:10 +02:00
greybus
hid HID: amd_sfh: Modify the hid name 2022-06-09 10:30:09 +02:00
hsi
hv Drivers: hv: vmbus: Release cpu lock in error case 2022-06-22 14:27:58 +02:00
hwmon hwmon: (ibmaem) don't call platform_device_del() if platform_device_add() fails 2022-07-07 17:55:00 +02:00
hwspinlock hwspinlock: sprd: Use struct_size() helper in devm_kzalloc() 2022-03-11 14:56:57 -06:00
hwtracing coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier 2022-06-14 18:44:50 +02:00
i2c i2c: cadence: Change large transfer count reset logic to be unconditional 2022-07-29 17:28:02 +02:00
i3c
idle intel_idle: Disable IBRS during long idle 2022-07-23 12:56:49 +02:00
iio iio: adc: ti-ads131e08: add missing fwnode_handle_put() in ads131e08_alloc_channels() 2022-06-29 09:04:40 +02:00
infiniband RDMA/irdma: Fix sleep from invalid context BUG 2022-07-29 17:27:58 +02:00
input Input: soc_button_array - also add Lenovo Yoga Tablet2 1051F to dmi_use_low_level_irq 2022-06-22 14:27:51 +02:00
interconnect interconnect: Restore sync state by ignoring ipa-virt in provider count 2022-05-03 22:24:21 +03:00
iommu iommu/vt-d: Fix RID2PASID setup/teardown failure 2022-07-12 16:42:15 +02:00
ipack
irqchip irqchip: or1k-pic: Undefine mask_ack for level triggered hardware 2022-07-22 10:21:54 +02:00
isdn net: remove noblock parameter from skb_recv_datagram() 2022-06-22 14:28:02 +02:00
leds LED updates for 5.18-rc1. Nothing major here, there are two drivers 2022-03-27 14:09:48 -07:00
macintosh macintosh: via-pmu and via-cuda need RTC_LIB 2022-06-09 10:30:32 +02:00
mailbox mailbox: forward the hrtimer if not queued and under a lock 2022-06-09 10:30:33 +02:00
mcb
md dm raid: fix KASAN warning in raid5_add_disks 2022-07-07 17:54:47 +02:00
media media: coda: Add more H264 levels for CODA960 2022-06-09 10:30:49 +02:00
memory memory: samsung: exynos5422-dmc: Fix refcount leak in of_get_dram_timings 2022-06-29 09:04:42 +02:00
memstick
message scsi: message: fusion: Remove redundant variable dmp 2022-04-06 22:28:07 -04:00
mfd mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe() 2022-06-09 10:30:33 +02:00
misc misc: rtsx_usb: set return value in rsp_buf alloc err path 2022-07-12 16:42:25 +02:00
mmc mmc: sdhci-omap: Fix a lockdep warning for PM runtime init 2022-07-29 17:27:56 +02:00
most
mtd mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times 2022-07-29 17:27:56 +02:00
mux
net tcp: Fix data-races around sysctl knobs related to SYN option. 2022-07-29 17:28:11 +02:00
nfc NFC: nxp-nci: don't print header length mismatch on i2c error 2022-07-22 10:21:49 +02:00
ntb
nubus
nvdimm nvdimm: Fix badblocks clear off-by-one error 2022-07-07 17:54:45 +02:00
nvme nvme: use struct group for generic command dwords 2022-07-22 10:21:55 +02:00
nvmem nvmem: brcm_nvram: parse NVRAM content into NVMEM cells 2022-03-18 14:08:36 +01:00
of of: overlay: do not break notify on NOTIFY_{OK|STOP} 2022-06-09 10:30:02 +02:00
opp OPP: call of_node_put() on error path in _bandwidth_supported() 2022-06-09 10:30:34 +02:00
parisc parisc: Fix CPU affinity for Lasi, WAX and Dino chips 2022-03-29 21:37:12 +02:00
parport parport_pc: Also enable driver for PCI systems 2022-03-18 14:01:41 +01:00
pci PCI: hv: Fix interrupt mapping for multi-MSI 2022-07-29 17:27:57 +02:00
pcmcia pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards 2022-06-14 18:44:44 +02:00
peci
perf arm_pmu: Validate single/group leader events 2022-04-13 11:48:45 +01:00
phy phy: qcom-qmp: fix pipe-clock imbalance on power-on failure 2022-06-14 18:44:48 +02:00
pinctrl pinctrl: armada-37xx: make irq_lock a raw spinlock to avoid invalid wait context 2022-07-29 17:28:07 +02:00
platform platform/x86: hp-wmi: Ignore Sanitization Mode event 2022-07-22 10:21:48 +02:00
pnp PNP update for 5.18-rc1 2022-03-21 14:46:01 -07:00
power power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe 2022-07-29 17:27:58 +02:00
powercap
pps pps: generators: pps_gen_parport: Switch to use module_parport_driver() 2022-03-18 14:01:19 +01:00
ps3
ptp ptp: ocp: change sysfs attr group handling 2022-05-18 21:44:37 -07:00
pwm pwm: raspberrypi-poe: Fix endianness in firmware struct 2022-06-14 18:44:46 +02:00
rapidio
ras
regulator regulator: scmi: Fix refcount leak in scmi_regulator_probe 2022-06-09 10:30:15 +02:00
remoteproc remoteproc: imx_rproc: Ignore create mem entry for resource table 2022-06-14 18:44:46 +02:00
reset reset: tegra-bpmp: Restore Handle errors in BPMP response 2022-04-04 11:14:13 +02:00
rpmsg rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails 2022-06-14 18:44:48 +02:00
rtc rtc: ftrtc010: Fix error handling in ftrtc010_rtc_probe 2022-06-14 18:44:51 +02:00
s390 s390/ap: fix error handling in __verify_queue_reservations() 2022-07-22 10:21:57 +02:00
sbus
scsi scsi: hisi_sas: Limit max hw sectors for v3 HW 2022-07-22 10:21:48 +02:00
sh
siox
slimbus slimbus: qcom: Fix IRQ check in qcom_slim_probe 2022-05-09 16:00:20 +02:00
soc soc: ixp4xx/npe: Fix unused match warning 2022-07-22 10:21:54 +02:00
soundwire soundwire: qcom: adjust autoenumeration timeout 2022-06-14 18:45:10 +02:00
spi spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers 2022-07-29 17:28:14 +02:00
spmi
ssb
staging staging: r8188eu: Fix warning of array overflow in ioctl_linux.c 2022-06-22 14:27:57 +02:00
target target: remove an incorrect unmap zeroes data deduction 2022-06-09 10:29:59 +02:00
tc
tee tee: tee_get_drvdata(): fix description of return value 2022-07-22 10:21:44 +02:00
thermal thermal: devfreq_cooling: use local ops instead of global ops 2022-06-09 10:30:50 +02:00
thunderbolt thunderbolt: Use different lane for second DisplayPort tunnel 2022-06-14 18:45:09 +02:00
tty serial: mvebu-uart: correctly report configured baudrate value 2022-07-22 10:21:58 +02:00
uio
usb usb: dwc3: gadget: Fix event pending check 2022-07-22 10:21:15 +02:00
vdpa vduse: Tie vduse mgmtdev and its device 2022-07-22 10:21:46 +02:00
vfio vfio/pci: Fix vf_token mechanism when device-specific VF drivers are used 2022-04-13 11:37:44 -06:00
vhost vringh: Fix loop descriptors check in the indirect cases 2022-06-14 18:45:15 +02:00
video fbdev: Disable sysfb device registration when removing conflicting FBs 2022-07-22 10:21:48 +02:00
virt Random number generator fixes for Linux 5.18-rc1. 2022-03-31 14:51:34 -07:00
virtio virtio_mmio: Restore guest page size on resume 2022-07-22 10:21:47 +02:00
visorbus
vlynq
vme
w1 w1: w1_therm: Add support for Maxim MAX31850 thermoelement IF. 2022-03-18 14:07:09 +01:00
watchdog watchdog: wdat_wdt: Stop watchdog when rebooting the system 2022-06-14 18:45:11 +02:00
xen xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE 2022-07-22 10:21:34 +02:00
zorro
Kconfig
Makefile