Xiongwei Song
16f2ef98cc
floppy: Add max size check for user space request
[ Upstream commit 545a32498c536ee152331cd2e7d2416aa0f20e01 ]
We need to check the max request size that is from user space before
allocating pages. If the request size exceeds the limit, return -EINVAL.
This check can avoid the warning below from page allocator.
WARNING: CPU: 3 PID: 16525 at mm/page_alloc.c:5344 current_gfp_context include/linux/sched/mm.h:195 [inline]
WARNING: CPU: 3 PID: 16525 at mm/page_alloc.c:5344 __alloc_pages+0x45d/0x500 mm/page_alloc.c:5356
Modules linked in:
CPU: 3 PID: 16525 Comm: syz-executor.3 Not tainted 5.15.0-syzkaller #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
RIP: 0010:__alloc_pages+0x45d/0x500 mm/page_alloc.c:5344
Code: be c9 00 00 00 48 c7 c7 20 4a 97 89 c6 05 62 32 a7 0b 01 e8 74 9a 42 07 e9 6a ff ff ff 0f 0b e9 a0 fd ff ff 40 80 e5 3f eb 88 <0f> 0b e9 18 ff ff ff 4c 89 ef 44 89 e6 45 31 ed e8 1e 76 ff ff e9
RSP: 0018:ffffc90023b87850 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 1ffff92004770f0b RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000033 RDI: 0000000000010cc1
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001
R10: ffffffff81bb4686 R11: 0000000000000001 R12: ffffffff902c1960
R13: 0000000000000033 R14: 0000000000000000 R15: ffff88804cf64a30
FS: 0000000000000000(0000) GS:ffff88802cd00000(0063) knlGS:00000000f44b4b40
CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 000000002c921000 CR3: 000000004f507000 CR4: 0000000000150ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
alloc_pages+0x1a7/0x300 mm/mempolicy.c:2191
__get_free_pages+0x8/0x40 mm/page_alloc.c:5418
raw_cmd_copyin drivers/block/floppy.c:3113 [inline]
raw_cmd_ioctl drivers/block/floppy.c:3160 [inline]
fd_locked_ioctl+0x12e5/0x2820 drivers/block/floppy.c:3528
fd_ioctl drivers/block/floppy.c:3555 [inline]
fd_compat_ioctl+0x891/0x1b60 drivers/block/floppy.c:3869
compat_blkdev_ioctl+0x3b8/0x810 block/ioctl.c:662
__do_compat_sys_ioctl+0x1c7/0x290 fs/ioctl.c:972
do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline]
__do_fast_syscall_32+0x65/0xf0 arch/x86/entry/common.c:178
do_fast_syscall_32+0x2f/0x70 arch/x86/entry/common.c:203
entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
Reported-by: syzbot+23a02c7df2cf2bc93fa2@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/20211116131033.27685-1-sxwjean@me.com
Signed-off-by: Xiongwei Song <sxwjean@gmail.com>
Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
2022-01-27 09:19:42 +01:00 |
| .. |
|
accessibility
|
|
|
|
acpi
|
ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes
|
2022-01-27 09:19:35 +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 handling of error during copy
|
2022-01-27 09:19:38 +01:00 |
|
ata
|
libata: if T_LENGTH is zero, dma direction should be DMA_NONE
|
2021-12-22 09:29:39 +01:00 |
|
atm
|
atm: nicstar: register the interrupt handler in the right place
|
2021-07-19 08:53:12 +02:00 |
|
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
|
floppy: Add max size check for user space request
|
2022-01-27 09:19:42 +01:00 |
|
bluetooth
|
Bluetooth: hci_bcm: Check for error irq
|
2022-01-27 09:19:36 +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
|
char/mwave: Adjust io port register size
|
2022-01-27 09:19:38 +01:00 |
|
clk
|
clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system enter shell
|
2022-01-27 09:19:39 +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: stm32/cryp - fix lrw chaining mode
|
2022-01-27 09:19:33 +01:00 |
|
dax
|
|
|
|
dca
|
|
|
|
devfreq
|
|
|
|
dio
|
|
|
|
dma
|
dmaengine: pxa/mmp: stop referencing config->slave_id
|
2022-01-27 09:19:39 +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/synopsys: Use the quirk for version instead of ddr version
|
2022-01-27 09:19:41 +01:00 |
|
eisa
|
|
|
|
extcon
|
extcon: intel-mrfld: Sync hardware and software state on init
|
2021-07-19 08:53:16 +02:00 |
|
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
|
fsi/sbefifo: Fix reset timeout
|
2021-07-14 16:53:42 +02:00 |
|
gnss
|
|
|
|
gpio
|
gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use
|
2022-01-27 09:19:41 +01:00 |
|
gpu
|
drm/bridge: megachips: Ensure both bridges are probed before registration
|
2022-01-27 09:19:41 +01:00 |
|
greybus
|
|
|
|
hid
|
HID: apple: Do not reset quirks when the Fn key is not found
|
2022-01-27 09:19:41 +01:00 |
|
hsi
|
HSI: core: Fix return freed object in hsi_new_client
|
2022-01-27 09:19:41 +01:00 |
|
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/cxgb4: Set queue pair state when being queried
|
2022-01-27 09:19:40 +01:00 |
|
input
|
Input: touchscreen - Fix backport of a02dcde595f7cbd240ccd64de96034ad91cffc40
|
2022-01-11 15:23:30 +01:00 |
|
interconnect
|
|
|
|
iommu
|
iommu/iova: Fix race between FQ timeout and teardown
|
2022-01-27 09:19:39 +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: b2c2: Add missing check in flexcop_pci_isr:
|
2022-01-27 09:19:41 +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
|
misc: lattice-ecp3-config: Fix task hung when firmware load failed
|
2022-01-27 09:19:39 +01:00 |
|
mmc
|
mmc: meson-mx-sdio: add IRQ check
|
2022-01-27 09:19:35 +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
|
rsi: Fix out-of-bounds read in rsi_read_pkt()
|
2022-01-27 09:19:42 +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: base: Fix phandle argument length mismatch error message
|
2022-01-27 09:19:40 +01: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/MSI: Fix pci_irq_vector()/pci_irq_get_affinity()
|
2022-01-27 09:19:38 +01:00 |
|
pcmcia
|
pcmcia: fix setting of kthread task states
|
2022-01-27 09:19:37 +01:00 |
|
perf
|
|
|
|
phy
|
phy: uniphier-usb3ss: fix unintended writing zeros to PHY register
|
2022-01-27 09:19:39 +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: ufs: Fix race conditions related to driver data
|
2022-01-27 09:19:38 +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
|
ASoC: mediatek: Check for error clk pointer
|
2022-01-27 09:19:39 +01:00 |
|
soundwire
|
soundwire: stream: Fix test for DP prepare complete
|
2021-07-14 16:53:45 +02:00 |
|
spi
|
spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe
|
2022-01-27 09:19:37 +01:00 |
|
spmi
|
|
|
|
ssb
|
|
|
|
staging
|
staging: greybus: audio: Check null pointer
|
2022-01-27 09:19:36 +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
|
serial: amba-pl011: do not request memory region twice
|
2022-01-27 09:19:32 +01:00 |
|
uio
|
|
|
|
usb
|
usb: uhci: add aspeed ast2600 uhci support
|
2022-01-27 09:19:42 +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
|
visorbus: fix error return code in visorchipset_init()
|
2021-07-14 16:53:42 +02:00 |
|
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
|
|
|