linux-stable/drivers
Yang Yingliang 9634f668ad mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
[ Upstream commit 1232946cf5 ]

It is not allowed to call kfree_skb() or consume_skb() from hardware
interrupt context or with hardware interrupts being disabled.

skb_queue_purge() is called under spin_lock_irqsave() in handle_dmsg()
and hfcm_l1callback(), kfree_skb() is called in them, to fix this, use
skb_queue_splice_init() to move the dch->squeue to a free queue, also
enqueue the tx_skb and rx_skb, at last calling __skb_queue_purge() to
free the SKBs afer unlock.

Fixes: af69fb3a8f ("Add mISDN HFC multiport driver")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 09:26:28 +01:00
..
accessibility
acpi ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage() 2023-01-18 09:26:11 +01:00
amba
android binder: fix UAF of ref->proc caused by race condition 2022-09-15 12:23:50 +02:00
ata ata: pata_legacy: fix pdc20230_set_piomode() 2022-11-10 15:47:20 +01:00
atm atm: idt77252: fix use-after-free bugs caused by tst_timer 2022-08-25 11:11:33 +02:00
auxdisplay
base class: fix possible memory leak in __class_register() 2023-01-18 09:26:23 +01:00
bcma
block drbd: use after free in drbd_create_device() 2022-11-25 17:36:50 +01:00
bluetooth Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave() 2023-01-18 09:26:20 +01:00
bus bus: sunxi-rsb: Support atomic transfers 2022-12-08 11:16:29 +01:00
cdrom
char hwrng: geode - Fix PCI device refcount leak 2023-01-18 09:26:22 +01:00
clk clk: samsung: Fix memory leak in _samsung_clk_register_pll() 2023-01-18 09:26:17 +01:00
clocksource clocksource/drivers/sp804: Avoid error on multiple instances 2022-06-14 16:54:00 +02:00
connector
cpufreq x86/devicetable: Move x86 specific macro out of generic code 2022-11-01 19:14:44 +01:00
cpuidle cpuidle: dt: Return the correct numbers of parsed idle states 2023-01-18 09:26:09 +01:00
crypto crypto: img-hash - Fix variable dereferenced before check 'hdev->req' 2023-01-18 09:26:22 +01:00
dax
dca
devfreq
dio drivers: dio: fix possible memory leak in dio_init() 2023-01-18 09:26:22 +01:00
dma dmaengine: at_hdmac: Check return code of dma_async_device_register 2022-11-25 17:36:48 +01:00
dma-buf
edac
eisa
extcon extcon: Modify extcon device to be created after driver data is set 2022-06-14 16:54:00 +02:00
firewire firewire: core: extend card->lock in fw_core_handle_bus_reset 2022-05-12 12:17:09 +02:00
firmware efi: random: Properly limit the size of the random seed 2022-12-08 11:16:33 +01:00
fmc
fpga fpga: altera-pr-ip: fix unsigned comparison with less than zero 2022-08-25 11:11:21 +02:00
fsi fsi: core: Check error number after calling ida_simple_get 2022-10-26 13:17:06 +02:00
gpio gpio: amd8111: Fix PCI device reference count leak 2022-12-14 11:26:13 +01:00
gpu drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() 2023-01-18 09:26:15 +01:00
hid HID: hid-sensor-custom: set fixed size for custom attributes 2023-01-18 09:26:14 +01:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2023-01-18 09:26:26 +01:00
hv Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region 2022-09-28 10:56:52 +02:00
hwmon hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new() 2022-12-08 11:16:32 +01:00
hwspinlock
hwtracing intel_th: pci: Add Meteor Lake-P support 2022-08-25 11:11:29 +02:00
i2c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2023-01-18 09:26:25 +01:00
ide
idle entel_idle: Disable IBRS during long idle 2022-11-01 19:14:45 +01:00
iio iio: light: rpr0521: add missing Kconfig dependencies 2022-12-08 11:16:31 +01:00
infiniband IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces 2023-01-18 09:26:22 +01:00
input Input: elants_i2c - properly handle the reset GPIO when power is off 2023-01-18 09:26:13 +01:00
iommu iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe() 2023-01-18 09:26:27 +01:00
ipack
irqchip irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe() 2023-01-18 09:26:10 +01:00
isdn mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave() 2023-01-18 09:26:28 +01:00
leds
lightnvm
macintosh macintosh/macio-adb: check the return value of ioremap() 2023-01-18 09:26:27 +01:00
mailbox mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg 2022-10-26 13:17:07 +02:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2023-01-18 09:26:24 +01:00
md dm ioctl: fix misbehavior if list_versions races with module loading 2022-11-25 17:36:53 +01:00
media media: coda: Add check for kmalloc 2023-01-18 09:26:17 +01:00
memory memory: of: Fix refcount leak bug in of_get_ddr_timings() 2022-10-26 13:17:02 +02:00
memstick memstick/ms_block: Fix a memory leak 2022-08-25 11:11:21 +02:00
message
mfd mfd: sm501: Add check for platform_driver_register() 2022-10-26 13:17:06 +02:00
misc cxl: Fix refcount leak in cxl_calc_capp_routing 2023-01-18 09:26:27 +01:00
mmc mmc: mmci: fix return value check of mmc_add_host() 2023-01-18 09:26:17 +01:00
mtd mtd: maps: pxa2xx-flash: fix memory leak in probe 2023-01-18 09:26:14 +01:00
mux
net stmmac: fix potential division by 0 2023-01-18 09:26:20 +01:00
nfc nfc: st-nci: fix memory leaks in EVT_TRANSACTION 2022-12-08 11:16:30 +01:00
ntb
nubus
nvdimm nvdimm: Fix badblocks clear off-by-one error 2022-07-07 17:31:16 +02:00
nvme nvme: restrict management ioctls to admin 2022-12-08 11:16:33 +01:00
nvmem
of of: property: decrement node refcount in of_fwnode_get_reference_args() 2022-12-08 11:16:31 +01:00
oprofile
parisc parisc: Export iosapic_serial_irq() symbol for serial port driver 2022-11-10 15:47:23 +01:00
parport parport_pc: Avoid FIFO port location truncation 2022-11-25 17:36:50 +01:00
pci PCI: Check for alloc failure in pci_request_irq() 2023-01-18 09:26:21 +01:00
pcmcia pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards 2022-06-14 16:53:55 +02:00
perf
phy phy: qualcomm: call clk_disable_unprepare in the error handling 2022-10-26 13:17:05 +02:00
pinctrl pinctrl: pinconf-generic: add missing of_node_put() 2023-01-18 09:26:14 +01:00
platform platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() 2023-01-18 09:26:11 +01:00
pnp PNP: fix name memory leak in pnp_alloc_dev() 2023-01-18 09:26:10 +01:00
power power: supply: fix residue sysfs file in error handle route of __power_supply_register() 2023-01-18 09:26:26 +01:00
powercap powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue 2022-10-26 13:17:08 +02:00
pps
ps3
ptp
pwm pwm: lp3943: Fix duty calculation in case period was clamped 2022-06-14 16:53:56 +02:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2023-01-18 09:26:12 +01:00
ras
regulator regulator: core: fix module refcount leak in set_supply() 2023-01-18 09:26:15 +01:00
remoteproc remoteproc: qcom: wcnss: Fix handling of IRQs 2022-08-25 11:11:24 +02:00
reset
rpmsg rpmsg: qcom: glink: replace strncpy() with strscpy_pad() 2022-10-26 13:16:53 +02:00
rtc rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe() 2023-01-18 09:26:28 +01:00
s390 s390/dasd: fix no record found for raw_track_access 2022-12-08 11:16:30 +01:00
sbus
scsi scsi: snic: Fix possible UAF in snic_tgt_create() 2023-01-18 09:26:22 +01:00
sfi
sh
sn
soc drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static 2023-01-18 09:26:07 +01:00
spi spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run 2022-12-08 11:16:29 +01:00
spmi spmi: pmic-arb: correct duplicate APID to PPID mapping logic 2022-10-26 13:17:07 +02:00
ssb
staging staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor() 2023-01-18 09:26:25 +01:00
target
tc
tee
thermal thermal: intel_powerclamp: Use first online CPU as control_cpu 2022-10-26 13:17:14 +02:00
thunderbolt thunderbolt: Use the actual buffer in tb_async_error() 2022-09-15 12:23:50 +02:00
tty serial: sunsab: Fix error handling in sunsab_init() 2023-01-18 09:26:23 +01:00
uio uio: uio_dmem_genirq: Fix deadlock between irq config and handling 2023-01-18 09:26:23 +01:00
usb usb: storage: Add check for kcalloc 2023-01-18 09:26:25 +01:00
uwb
vfio vfio: platform: Do not pass return buffer to ACPI _RST method 2023-01-18 09:26:23 +01:00
vhost vhost/vsock: Use kvmalloc/kvfree for larger packets. 2022-10-26 13:17:00 +02:00
video fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() 2023-01-18 09:26:26 +01:00
virt
virtio virtio_mmio: Restore guest page size on resume 2022-07-21 20:42:46 +02:00
vlynq
vme vme: Fix error not catched in fake_init() 2023-01-18 09:26:25 +01:00
w1
watchdog
xen xen/platform-pci: add missing free_irq() in error path 2022-12-08 11:16:31 +01:00
zorro
Kconfig
Makefile