linux/drivers
Jens Axboe 57a0078b1a brd: check for REQ_NOWAIT and set correct page allocation mask
commit 6ded703c56 upstream.

If REQ_NOWAIT is set, then do a non-blocking allocation if the operation
is a write and we need to insert a new page. Currently REQ_NOWAIT cannot
be set as the queue isn't marked as supporting nowait, this change is in
preparation for allowing that.

radix_tree_preload() warns on attempting to call it with an allocation
mask that doesn't allow blocking. While that warning could arguably
be removed, we need to handle radix insertion failures anyway as they
are more likely if we cannot block to get memory.

Remove legacy BUG_ON()'s and turn them into proper errors instead, one
for the allocation failure and one for finding a page that doesn't
match the correct index.

Cc: stable@vger.kernel.org # 5.10+
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-03-10 09:29:36 +01:00
..
accel accel: fix CONFIG_DRM dependencies 2023-03-10 09:28:36 +01:00
accessibility tty: fix possible null-ptr-defer in spk_ttyio_release 2023-01-19 16:24:04 +01:00
acpi ACPI: video: Fix Lenovo Ideapad Z570 DMI match 2023-03-10 09:29:11 +01:00
amba ARM updates for 6.2 2022-12-13 15:22:14 -08:00
android binder: validate alloc->mm in ->mmap() handler 2022-11-09 15:41:27 +01:00
ata ata: ahci: Revert "ata: ahci: Add Tiger Lake UP{3,4} AHCI controller" 2023-03-10 09:27:41 +01:00
atm treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
auxdisplay i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
base driver core: fw_devlink: Avoid spurious error message 2023-03-10 09:29:22 +01:00
bcma bcma: Fail probe if GPIO subdriver fails 2022-11-04 12:59:51 +02:00
block brd: check for REQ_NOWAIT and set correct page allocation mask 2023-03-10 09:29:36 +01:00
bluetooth Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE 2023-03-10 09:29:13 +01:00
bus bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() 2023-01-08 21:35:01 +01:00
cdrom block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
char ipmi:ssif: Add a timer between request retries 2023-03-10 09:29:23 +01:00
clk clk: ingenic: jz4760: Update M/N/OD calculation algorithm 2023-01-25 16:08:27 -08:00
clocksource clocksource/drivers/riscv: Patch riscv_clock_next_event() jump before first use 2023-03-10 09:28:19 +01:00
comedi comedi: adv_pci1760: Fix PWM instruction handling 2023-01-19 17:24:47 +01:00
connector connector/cn_proc: Use task_is_in_init_pid_ns() 2022-01-26 18:57:09 -08:00
counter counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update 2022-11-26 16:49:28 -05:00
cpufreq cpufreq: davinci: Fix clk use after free 2023-03-10 09:28:17 +01:00
cpuidle powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
crypto crypto: hisilicon: Wipe entire pool on error 2023-03-10 09:29:10 +01:00
cxl cxl/region: Fix passthrough-decoder detection 2023-02-07 11:04:30 -08:00
dax dax: super.c: fix kernel-doc bad line warning 2023-01-25 12:36:16 -08:00
dca dca: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:25:20 +02:00
devfreq PM / devfreq: event: use devm_platform_get_and_ioremap_resource() 2022-12-05 21:57:20 +09:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-11-09 15:12:37 +01:00
dma dmaengine: ptdma: check for null desc before calling pt_cmd_callback 2023-03-10 09:28:57 +01:00
dma-buf dma-buf: actually set signaling bit for private stub fences 2023-01-27 14:16:18 +01:00
edac EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info 2023-01-20 19:47:34 +01:00
eisa EISA: use DEVICE_ATTR_RO() helper macro 2021-06-04 15:28:34 +02:00
extcon Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
firewire firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region 2023-01-17 18:09:21 +01:00
firmware firmware: coreboot: framebuffer: Ignore reserved pixel color bits 2023-03-10 09:29:22 +01:00
fpga fpga: microchip-spi: rewrite status polling in a time measurable way 2023-03-10 09:28:53 +01:00
fsi use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
gnss driver core: make struct class.dev_uevent() take a const * 2022-11-24 17:12:15 +01:00
gpio gpio: vf610: connect GPIO label to dev name 2023-03-10 09:28:35 +01:00
gpu drm/shmem-helper: Revert accidental non-GPL export 2023-03-10 09:29:21 +01:00
greybus greybus: svc: Use kstrtobool() instead of strtobool() 2022-11-10 19:03:58 +01:00
hid HID: logitech-hidpp: Don't restart communication if not necessary 2023-03-10 09:29:20 +01:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2022-11-25 01:04:21 +01:00
hte hte: Uninitialized variable in hte_ts_get() 2022-05-20 15:54:41 +02:00
hv HV: hv_balloon: fix memory leak with using debugfs_lookup() 2023-02-03 07:45:18 +01:00
hwmon hwmon: (nct6775) B650/B660/X670 ASUS boards support 2023-03-10 09:29:19 +01:00
hwspinlock hwspinlock: qcom: add support for MMIO on older SoCs 2022-09-13 17:01:18 -05:00
hwtracing hwtracing: hisi_ptt: Only add the supported devices to the filters list 2023-03-10 09:28:49 +01:00
i2c i2c: qcom-geni: change i2c_master_hub to static 2023-03-10 09:28:47 +01:00
i3c i3c: export SETDASA method 2022-12-11 21:25:58 +01:00
idle cpuidle, intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE *again* 2023-03-10 09:27:46 +01:00
iio iio: light: tsl2563: Do not hardcode interrupt trigger type 2023-03-10 09:28:47 +01:00
infiniband IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors 2023-03-10 09:28:59 +01:00
input Input updates for v6.2-rc5 2023-01-29 11:06:47 -08:00
interconnect interconnect: qcom: rpm: Use _optional func for provider clocks 2023-01-05 17:29:57 +02:00
iommu iommu/vt-d: Allow to use flush-queue when first level is default 2023-03-10 09:28:57 +01:00
ipack Char/Misc and other driver changes for 6.1-rc1 2022-10-08 08:56:37 -07:00
irqchip irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts 2023-03-10 09:28:23 +01:00
isdn treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
leds leds: simatic-ipc-leds-gpio: Make sure we have the GPIO providing driver 2023-03-10 09:28:43 +01:00
macintosh macintosh/macio-adb: check the return value of ioremap() 2022-11-24 23:12:18 +11:00
mailbox - qcom: enable sc8280xp, sm8550 and sm4250 support 2022-12-21 09:31:18 -08:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2022-12-02 17:48:04 +01:00
md md: don't update recovery_cp when curr_resync is ACTIVE 2023-03-10 09:29:32 +01:00
media media: saa7134: Use video_unregister_device for radio_dev 2023-03-10 09:29:04 +01:00
memory memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe() 2022-12-27 09:54:32 +01:00
memstick memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-12-09 10:29:58 +01:00
message scsi: message: fusion: Remove variable 'where' 2022-11-08 03:00:52 +00:00
mfd mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() 2023-03-10 09:28:46 +01:00
misc habanalabs: fix bug in timestamps registration code 2023-03-10 09:29:17 +01:00
mmc mmc: jz4740: Work around bug on JZ4760(B) 2023-02-14 00:14:05 +01:00
most most: usb: replace snprintf in show functions with sysfs_emit 2021-11-26 17:03:47 +01:00
mtd mtd: mtdpart: Don't create platform device that'll never probe 2023-03-10 09:28:56 +01:00
mux mux: Fix struct mux_state kernel-doc comment 2022-02-04 15:47:12 +01:00
net wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu 2023-03-10 09:29:22 +01:00
nfc nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() 2023-01-09 07:34:13 +00:00
ntb NTB: epf: Allow more flexibility in the memory BAR map method 2022-08-09 17:54:03 -04:00
nubus proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
nvdimm nvdimm: Support sizeof(struct page) > MAX_STRUCT_PAGE_SIZE 2023-01-28 15:32:36 -08:00
nvme block-6.2-2023-02-17 2023-02-18 09:56:58 -08:00
nvmem nvmem: qcom-spmi-sdam: fix module autoloading 2023-01-28 14:39:31 +01:00
of 12 hotfixes, mostly against mm/. Five of these fixes are cc:stable. 2023-02-13 14:09:20 -08:00
opp OPP: fix error checking in opp_migrate_dentry() 2023-03-10 09:28:17 +01:00
parisc parisc: pdc_stable: use strscpy() to instead of strncpy() 2023-01-09 09:51:56 +01:00
parport parport_pc: Avoid FIFO port location truncation 2022-11-09 15:40:32 +01:00
pci PCI: qcom: Fix host-init error handling 2023-03-10 09:28:56 +01:00
pcmcia treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
peci peci: cpu: Fix use-after-free in adev_release() 2022-08-15 20:31:35 +02:00
perf arm_pmu: fix event CPU filtering 2023-02-16 21:23:52 +00:00
phy phy: rockchip-typec: fix tcphy_get_mode error case 2023-03-10 09:28:56 +01:00
pinctrl pinctrl: at91: use devm_kasprintf() to avoid potential leaks 2023-03-10 09:29:19 +01:00
platform platform/x86: dell-ddv: Add support for interface version 3 2023-03-10 09:29:11 +01:00
pnp PNP: Do not disable devices on suspend when they cannot be re-enabled on resume 2022-11-25 19:36:52 +01:00
power power: supply: remove faulty cooling logic 2023-03-10 09:28:54 +01:00
powercap powercap: fix possible name leak in powercap_register_zone() 2023-03-10 09:28:10 +01:00
pps pps: generators: pps_gen_parport: Switch to use module_parport_driver() 2022-03-18 14:01:19 +01:00
ps3 drivers/ps3: Fix double word in comments 2022-11-24 23:31:47 +11:00
ptp Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
pwm pwm: Changes for v6.2-rc1 2022-12-21 09:41:28 -08:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-11 19:30:20 -08:00
ras RAS: Fix return value from show_trace() 2022-10-31 18:55:18 +01:00
regulator regulator: s5m8767: Bounds check id indexing into arrays 2023-03-10 09:29:18 +01:00
remoteproc remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers 2023-03-10 09:28:59 +01:00
reset reset: uniphier-glue: Fix possible null-ptr-deref 2023-01-03 11:30:46 +01:00
rpmsg rpmsg: glink: Release driver_override 2023-03-10 09:29:04 +01:00
rtc rtc: pm8xxx: fix set-alarm race 2023-03-10 09:29:22 +01:00
s390 vfio/ccw: remove WARN_ON during shutdown 2023-03-10 09:28:21 +01:00
sbus sparc: sbus: treat CPU index as integer 2022-11-19 00:56:15 +01:00
scsi scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi 2023-03-10 09:29:27 +01:00
sh genirq: Add and use an irq_data_update_affinity helper 2022-07-07 09:38:04 +01:00
siox siox: fix possible memory leak in siox_device_add() 2022-11-09 15:40:14 +01:00
slimbus slimbus: qcom-ngd-ctrl: reinit the reconf completion flag 2022-11-23 19:45:33 +01:00
soc Qualcomm driver fixes for v6.2 2023-01-10 23:09:09 +01:00
soundwire soundwire: cadence: Don't overflow the command FIFOs 2023-03-10 09:28:47 +01:00
spi spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() 2023-03-10 09:28:40 +01:00
spmi spmi: pmic-arb: Add support for PMIC v7 2022-11-10 18:37:59 +01:00
ssb ssb: gpio: Use generic_handle_irq_safe() 2022-09-19 15:08:38 +02:00
staging media: atomisp: Only set default_run_mode on first open of a stream/asd 2023-03-10 09:29:03 +01:00
target scsi: target: core: Fix warning on RT kernels 2023-01-13 20:24:24 -05:00
tc The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
tee SoC driver updates for 6.2 2022-12-12 10:17:08 -08:00
thermal thermal: intel: intel_pch: Add support for Wellsburg PCH 2023-03-10 09:29:10 +01:00
thunderbolt thunderbolt: Disable XDomain lane 1 only in software connection manager 2023-01-09 10:44:43 +02:00
tty tty: serial: imx: disable Ageing Timer interrupt request irq 2023-03-10 09:28:55 +01:00
ufs scsi: ufs: core: Fix device management cmd timeout flow 2023-03-10 09:29:20 +01:00
uio uio: uio_dmem_genirq: Use non-atomic bit operations in irq config and handling 2022-11-10 18:54:29 +01:00
usb usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev 2023-03-10 09:28:56 +01:00
vdpa vdpa: ifcvf: Do proper cleanup if IFCVF init fails 2023-01-27 06:18:41 -05:00
vfio vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp() 2023-01-10 10:44:37 -07:00
vhost vhost-scsi: unbreak any layout for response 2023-01-27 06:18:41 -05:00
video Revert "fbcon: don't lose the console font across generic->chip driver switch" 2023-03-10 09:29:15 +01:00
virt virt/sev-guest: Return -EIO if certificate buffer is not large enough 2023-03-10 09:29:36 +01:00
virtio virtio: Implementing attribute show with sysfs_emit 2022-12-28 05:28:11 -05:00
vlynq bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
w1 w1: fix WARNING after calling w1_process() 2023-01-19 17:26:33 +01:00
watchdog watchdog: diag288_wdt: fix __diag288() inline assembly 2023-01-30 14:40:50 +01:00
xen xen/grant-dma-iommu: Implement a dummy probe_device() callback 2023-03-10 09:28:18 +01:00
zorro proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
Kconfig drivers/accel: define kconfig and register a new major 2022-11-22 13:13:51 +02:00
Makefile hwtracing: hisi_ptt: Add trace function support for HiSilicon PCIe Tune and Trace device 2022-09-08 16:26:17 -06:00