kernel_samsung_a53x/drivers
Johannes Thumshirn 7e989f7062 scsi: sd_zbc: Use kvzalloc() to allocate REPORT ZONES buffer
[ Upstream commit 7ce3e6107103214d354a16729a472f588be60572 ]

We have two reports of failed memory allocation in btrfs' code which is
calling into report zones.

Both of these reports have the following signature coming from
__vmalloc_area_node():

 kworker/u17:5: vmalloc error: size 0, failed to allocate pages, mode:0x10dc2(GFP_KERNEL|__GFP_HIGHMEM|__GFP_NORETRY|__GFP_ZERO), nodemask=(null),cpuset=/,mems_allowed=0

Further debugging showed these where allocations of one sector (512
bytes) and at least one of the reporter's systems where low on memory,
so going through the overhead of allocating a vm area failed.

Switching the allocation from __vmalloc() to kvzalloc() avoids the
overhead of vmalloc() on small allocations and succeeds.

Note: the buffer is already freed using kvfree() so there's no need to
adjust the free path.

Cc: Qu Wenru <wqu@suse.com>
Cc: Naohiro Aota <naohiro.aota@wdc.com>
Link: https://github.com/kdave/btrfs-progs/issues/779
Link: https://github.com/kdave/btrfs-progs/issues/915
Fixes: 23a50861adda ("scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer()")
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20241030110253.11718-1-jth@kernel.org
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-30 02:33:23 +01:00
..
accessibility speakup: Fix sizeof() vs ARRAY_SIZE() bug 2024-11-19 12:26:51 +01:00
acpi Revert "ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add()" 2024-11-24 00:23:37 +01:00
amba
android Revert "binder: fix UAF caused by offsets overwrite" 2024-11-24 00:23:38 +01:00
ata Revert "ata: libata-core: Fix null pointer dereference on error" 2024-11-24 00:23:50 +01:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-11-23 23:20:43 +01:00
auxdisplay
base Revert "devres: Initialize an uninitialized struct member" 2024-11-24 00:23:40 +01:00
battery
bcma
block zram: Set default compressor to zstd 2024-11-30 02:02:54 +01:00
bluetooth Revert "Bluetooth: hci_ldisc: check HCI_UART_PROTO_READY flag in HCIUARTGETPROTO" 2024-11-24 00:23:50 +01:00
bts
bus Revert "bus: integrator-lm: fix OF node leak in probe()" 2024-11-24 00:23:16 +01:00
cdrom
char Revert "tpm: Clean up TPM space after command failure" 2024-11-24 00:23:24 +01:00
clk Revert "clk: imx: imx8mp: fix clock tree update of TF-A managed clocks" 2024-11-24 00:23:22 +01:00
clocksource Revert "clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX" 2024-11-24 00:23:37 +01:00
connector
counter counter: ti-eqep: enable clock at probe 2024-11-19 14:19:33 +01:00
cpufreq Revert "cpufreq: ti-cpufreq: Introduce quirks to handle syscon fails appropriately" 2024-11-24 00:23:30 +01:00
cpuidle cpuidle: menu: Take negative "sleep length" values into account 2024-11-19 18:01:28 +01:00
crypto Revert "crypto: ccp - Properly unregister /dev/sev on sev PLATFORM_STATUS failure" 2024-11-24 00:23:16 +01:00
dax
dca
devfreq PM / devfreq: Fix buffer overflow in trans_stat_show 2024-11-19 11:32:38 +01:00
dio
dma dmaengine: dw: Add memory bus width verification 2024-11-23 23:20:55 +01:00
dma-buf dma-buf/sync_file: Speed up ioctl by omitting debug names 2024-11-19 17:53:23 +01:00
edac EDAC, i10nm: make skx_common.o a separate module 2024-11-23 23:19:56 +01:00
eisa
extcon extcon: max8997: select IRQ_DOMAIN instead of depending on it 2024-11-19 12:27:04 +01:00
fingerprint
firewire firewire: nosy: ensure user_length is taken into account when fetching packet contents 2024-11-19 11:32:46 +01:00
firmware Revert "efistub/tpm: Use ACPI reclaim memory for event log to avoid corruption" 2024-11-24 00:23:16 +01:00
fpga fpga: region: add owner module and take its refcount 2024-11-19 12:27:04 +01:00
fsi
gnss
gpio Revert "gpio: prevent potential speculation leaks in gpio_device_get_desc()" 2024-11-24 00:23:32 +01:00
gpu Revert "exynos_gpu: Don't allow userspace to control freqs" 2024-11-24 19:22:36 +01:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-11-19 14:19:05 +01:00
gud
hid HID: core: zero-initialize the report buffer 2024-11-30 02:33:21 +01:00
hsi
hv Revert "Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic" 2024-11-24 00:23:37 +01:00
hwmon Revert "hwmon: (adc128d818) Fix underflows seen when writing limit attributes" 2024-11-24 00:23:40 +01:00
hwspinlock Revert "hwspinlock: Introduce hwspin_lock_bust()" 2024-11-24 00:23:48 +01:00
hwtracing Revert "coresight: tmc: sg: Do not leak sg_table" 2024-11-24 00:23:19 +01:00
i2c Revert "i2c: Add i2c_get_match_data()" 2024-11-24 00:23:27 +01:00
i3c
ide
idle
ifconn
iio Revert "iio: buffer-dmaengine: fix releasing dma channel on error" 2024-11-24 00:23:38 +01:00
infiniband Revert "RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency" 2024-11-24 00:23:21 +01:00
input Revert "Input: uinput - reject requests with unreasonable number of slots" 2024-11-24 00:23:39 +01:00
interconnect Revert "interconnect: qcom: sm8250: Enable sync_state" 2024-11-24 00:23:19 +01:00
iommu Revert "iommu: sun50i: clear bypass register" 2024-11-24 00:23:43 +01:00
ipack
irqchip Revert "irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init()" 2024-11-24 00:23:46 +01:00
isdn mISDN: Fix a use after free in hfcmulti_tx() 2024-11-23 23:20:17 +01:00
kperfmon
kq/mesh
leds Revert "leds: spi-byte: Call of_node_put() on error path" 2024-11-24 00:23:43 +01:00
lightnvm
macintosh macintosh/therm_windtunnel: fix module unload. 2024-11-23 23:20:11 +01:00
mailbox Revert "mailbox: rockchip: fix a typo in module autoloading" 2024-11-24 00:23:13 +01:00
mcb
md Revert "dm init: Handle minors larger than 255" 2024-11-24 00:23:41 +01:00
media media: adv7604: prevent underflow condition when reporting colorspace 2024-11-30 02:33:23 +01:00
memory memory: stm32-fmc2-ebi: check regmap_read return value 2024-11-23 23:20:46 +01:00
memstick
message
mfd mfd: omap-usb-tll: Use struct_size to allocate tll 2024-11-23 23:20:09 +01:00
misc drivers: samsung: scsc: Adapt scsc_wlbtd.c for Linux 5.10.229 2024-11-24 00:42:20 +01:00
mmc Revert "mmc: mmc_test: Fix NULL dereference on allocation failure" 2024-11-24 00:23:50 +01:00
most
mtd Revert "mtd: slram: insert break after errors in parsing the map" 2024-11-24 00:23:27 +01:00
muic
mux
net net: arc: fix the device for dma_map_single/dma_unmap_single 2024-11-30 02:33:22 +01:00
nfc nfc: pn533: Add poll mod list filling check 2024-11-23 23:20:55 +01:00
ntb Revert "ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()" 2024-11-24 00:23:20 +01:00
nubus
nvdimm Revert "virtio_pmem: Check device status before requesting flush" 2024-11-24 00:22:58 +01:00
nvme Revert "nvme/pci: Add APST quirk for Lenovo N60z laptop" 2024-11-24 00:23:54 +01:00
nvmem Revert "nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc" 2024-11-24 00:23:38 +01:00
of Revert "of/irq: Prevent device address out-of-bounds read in interrupt map walk" 2024-11-24 00:23:38 +01:00
opp
oprofile
parisc
parport Revert "parport: Proper fix for array out-of-bounds access" 2024-11-24 00:22:51 +01:00
pci Revert "PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0)" 2024-11-24 00:23:42 +01:00
pcmcia Revert "pcmcia: Use resource_size function on resource object" 2024-11-24 00:23:42 +01:00
perf
phy
pinctrl Revert "pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins" 2024-11-24 00:23:50 +01:00
platform platform/x86: touchscreen_dmi: add nanote-next quirk 2024-11-23 23:21:40 +01:00
pnp
power Revert "power: supply: axp20x_battery: allow disabling battery charging" 2024-11-24 00:23:27 +01:00
powercap Revert "powercap: RAPL: fix invalid initialization for pl4_supported field" 2024-11-24 00:23:18 +01:00
pps Revert "pps: remove usage of the deprecated ida_simple_xx() API" 2024-11-24 00:23:14 +01:00
ps3
ptp ptp: Fix error message on failed pin verification 2024-11-19 14:19:01 +01:00
pwm driver: pwm: Implement .apply() callback 2024-11-30 02:19:17 +01:00
rapidio
ras
regulator regulator: core: Fix modpost error "regulator_get_regmap" undefined 2024-11-19 14:19:09 +01:00
remoteproc remoteproc: imx_rproc: Skip over memory region when node value is NULL 2024-11-23 23:20:20 +01:00
reset Revert "reset: berlin: fix OF node leak in probe() error path" 2024-11-24 00:23:27 +01:00
rpmsg
rtc Revert "rtc: at91sam9: fix OF node leak in probe() error path" 2024-11-24 00:23:01 +01:00
s390 Revert "s390/zcore: no need to check return value of debugfs_create functions" 2024-11-24 00:22:59 +01:00
samsung
sbus
scsi scsi: sd_zbc: Use kvzalloc() to allocate REPORT ZONES buffer 2024-11-30 02:33:23 +01:00
sensorhub
sensors
sfi
sh
siox
slimbus
soc Revert "soc: versatile: integrator: fix OF node leak in probe() error path" 2024-11-24 00:23:17 +01:00
soundwire Revert "soundwire: stream: fix programming slave ports for non-continous port maps" 2024-11-24 00:23:49 +01:00
spi Revert "spi: nxp-fspi: fix the KASAN report out-of-bounds bug" 2024-11-24 00:23:34 +01:00
spmi
spu_verify
ssb ssb: Fix division by zero issue in ssb_calc_clock_rate 2024-11-23 23:20:44 +01:00
staging Revert "staging: iio: frequency: ad9834: Validate frequency parameter value" 2024-11-24 00:23:38 +01:00
sti
target scsi: target: core: Fix null-ptr-deref in target_alloc_device() 2024-11-23 23:21:59 +01:00
tc
tee
thermal
thunderbolt thunderbolt: Mark XDomain as unplugged when router is removed 2024-11-23 23:20:42 +01:00
tty Revert "tty: rp2: Fix reset with non forgiving PCIe host bridges" 2024-11-24 00:23:16 +01:00
uh
uio Revert "uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind" 2024-11-24 00:23:37 +01:00
usb Revert "usb: uas: set host status byte on data completion error" 2024-11-24 00:23:42 +01:00
vdpa
vfio
vhost Revert "vdpa: Add eventfd for the vdpa callback" 2024-11-24 00:23:19 +01:00
vibrator
video Revert "fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()" 2024-11-24 00:23:26 +01:00
virt
virtio Revert "vdpa: Add eventfd for the vdpa callback" 2024-11-24 00:23:19 +01:00
vision
vision3
visorbus
vlynq
vme
w1
watchdog watchdog: s3c2410_wdt: Assign s3c_wdt[] until probe complete 2024-11-30 02:18:58 +01:00
xen Revert "xen/swiotlb: add alignment check for dma buffers" 2024-11-24 00:23:24 +01:00
zorro
Kconfig Added KernelSU 2024-11-19 22:44:48 +01:00
Kconfig.variant1
kernelsu Added KernelSU 2024-11-19 22:44:48 +01:00
Makefile Added KernelSU 2024-11-19 22:44:48 +01:00
Makefile.variant1