linux/drivers
Florian-Ewald Mueller c49fb9b760 md/bitmap: Fix bitmap chunk size overflow issues
commit 4555211190 upstream.

- limit bitmap chunk size internal u64 variable to values not overflowing
  the u32 bitmap superblock structure variable stored on persistent media
- assign bitmap chunk size internal u64 variable from unsigned values to
  avoid possible sign extension artifacts when assigning from a s32 value

The bug has been there since at least kernel 4.0.
Steps to reproduce it:
1: mdadm -C /dev/mdx -l 1 --bitmap=internal --bitmap-chunk=256M -e 1.2
-n2 /dev/rnbd1 /dev/rnbd2
2 resize member device rnbd1 and rnbd2 to 8 TB
3 mdadm --grow /dev/mdx --size=max

The bitmap_chunksize will overflow without patch.

Cc: stable@vger.kernel.org

Signed-off-by: Florian-Ewald Mueller <florian-ewald.mueller@ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-12 11:58:56 +01:00
..
accessibility speakup: fix a segfault caused by switching consoles 2022-11-26 09:24:44 +01:00
acpi ACPI: resource: do IRQ override on Lenovo 14ALC7 2023-01-12 11:58:42 +01:00
amba
android binder: validate alloc->mm in ->mmap() handler 2022-12-02 17:41:00 +01:00
ata ata: ahci: Fix PCS quirk application for suspend 2023-01-12 11:58:43 +01:00
atm atm: idt77252: fix use-after-free bugs caused by tst_timer 2022-08-25 11:40:15 +02:00
auxdisplay
base class: fix possible memory leak in __class_register() 2022-12-31 13:14:27 +01:00
bcma
block floppy: Fix memory leak in do_floppy_init() 2022-12-31 13:14:47 +01:00
bluetooth Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave() 2022-12-31 13:14:20 +01:00
bus bus: ixp4xx: Don't touch bit 7 on IXP42x 2022-12-02 17:41:08 +01:00
cdrom
char tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak 2023-01-12 11:58:48 +01:00
clk clk: st: Fix memory leak in st_of_quadfs_setup() 2022-12-31 13:14:43 +01:00
clocksource clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in dmtimer_systimer_init_clock() 2022-12-31 13:14:04 +01:00
comedi
connector
counter counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update 2022-12-31 13:14:30 +01:00
cpufreq cpufreq: Init completion before kobject_init_and_add() 2023-01-12 11:58:51 +01:00
cpuidle cpuidle: dt: Return the correct numbers of parsed idle states 2022-12-31 13:14:01 +01:00
crypto crypto: hisilicon/hpre - fix resource leak in remove process 2022-12-31 13:14:43 +01:00
cxl
dax devdax: Fix soft-reservation memory description 2022-09-28 11:11:57 +02:00
dca
devfreq PM/devfreq: governor: Add a private governor_data for governor 2023-01-12 11:58:51 +01:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-12-31 13:14:27 +01:00
dma dmaengine: at_hdmac: Check return code of dma_async_device_register 2022-11-16 09:58:30 +01:00
dma-buf dma-buf: fix racing conflict of dma_heap_add() 2022-12-02 17:41:06 +01:00
edac EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper() 2022-12-31 13:14:03 +01:00
eisa
extcon extcon: usbc-tusb320: Call the Type-C IRQ handler only if a port is registered 2022-12-31 13:14:48 +01:00
firewire
firmware firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe() 2022-12-31 13:14:29 +01:00
fpga fpga: prevent integer overflow in dfl_feature_ioctl_set_irq() 2022-10-26 12:35:07 +02:00
fsi fsi: core: Check error number after calling ida_simple_get 2022-10-26 12:35:17 +02:00
gnss
gpio gpiolib: protect the GPIO device against being dropped while in use by user-space 2022-12-31 13:14:31 +01:00
gpu drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern 2022-12-31 13:14:45 +01:00
greybus
hid HID: plantronics: Additional PIDs for double volume key presses quirk 2023-01-12 11:58:46 +01:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2022-12-31 13:14:32 +01:00
hv video: hyperv_fb: Avoid taking busy spinlock on panic path 2022-12-31 13:14:39 +01:00
hwmon hwmon: (jc42) Fix missing unlock on error in jc42_write() 2022-12-31 13:14:44 +01:00
hwspinlock hwspinlock: qcom: correct MMIO max register for newer SoCs 2022-11-16 09:58:13 +01:00
hwtracing coresight: trbe: remove cpuhp instance node before remove cpuhp state 2022-12-31 13:14:30 +01:00
i2c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2022-12-31 13:14:31 +01:00
i3c
idle
iio iio: adc128s052: add proper .data members in adc128_of_match table 2022-12-31 13:14:47 +01:00
infiniband RDMA/siw: Fix pointer cast warning 2022-12-31 13:14:33 +01:00
input Input: wistron_btns - disable on UML 2022-12-31 13:14:14 +01:00
interconnect interconnect: imx: fix max_node_id 2022-08-17 14:23:53 +02:00
iommu iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY 2022-12-31 13:14:35 +01:00
ipack
irqchip irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init() 2022-12-31 13:14:03 +01:00
isdn mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave() 2022-12-31 13:14:37 +01:00
leds leds: lm3601x: Don't use mutex after it was destroyed 2022-10-26 12:34:39 +02:00
macintosh macintosh/macio-adb: check the return value of ioremap() 2022-12-31 13:14:35 +01:00
mailbox mailbox: zynq-ipi: fix error handling while device_register() fails 2022-12-31 13:14:39 +01:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2022-12-31 13:14:30 +01:00
md md/bitmap: Fix bitmap chunk size overflow issues 2023-01-12 11:58:56 +01:00
media media: dvb-core: Fix UAF due to refcount races at releasing 2023-01-12 11:58:56 +01:00
memory memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings() 2022-10-26 12:34:58 +02:00
memstick memstick/ms_block: Add check for alloc_ordered_workqueue 2022-12-31 13:14:17 +01:00
message
mfd mfd: mt6360: Add bounds checking in Regmap read/write call-backs 2023-01-12 11:58:47 +01:00
misc cxl: Fix refcount leak in cxl_calc_capp_routing 2022-12-31 13:14:35 +01:00
mmc mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K 2023-01-12 11:58:50 +01:00
most
mtd mtd: maps: pxa2xx-flash: fix memory leak in probe 2022-12-31 13:14:12 +01:00
mux
net net: stmmac: fix errno when create_singlethread_workqueue() fails 2022-12-31 13:14:47 +01:00
nfc nfc: pn533: Clear nfc_target before being used 2022-12-31 13:14:37 +01:00
ntb NTB: ntb_tool: uninitialized heap data in tool_fn_write() 2022-08-25 11:40:14 +02:00
nubus
nvdimm
nvme nvmet: don't defer passthrough commands with trivial effects to the workqueue 2023-01-12 11:58:43 +01:00
nvmem nvmem: rmem: Fix return value check in rmem_read() 2022-12-08 11:28:39 +01:00
of of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values 2023-01-12 11:58:53 +01:00
opp opp: Fix error check in dev_pm_opp_attach_genpd() 2022-08-17 14:24:01 +02:00
parisc parisc: Export iosapic_serial_irq() symbol for serial port driver 2022-11-10 18:15:40 +01:00
parport parport_pc: Avoid FIFO port location truncation 2022-11-26 09:24:36 +01:00
pci PCI: Check for alloc failure in pci_request_irq() 2022-12-31 13:14:24 +01:00
pcmcia
perf perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init() 2022-12-31 13:13:58 +01:00
phy phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices 2022-12-31 13:14:33 +01:00
pinctrl pinctrl: pinconf-generic: add missing of_node_put() 2022-12-31 13:14:12 +01:00
platform platform/mellanox: mlxbf-pmc: Fix event typo 2022-12-31 13:14:05 +01:00
pnp PNP: fix name memory leak in pnp_alloc_dev() 2022-12-31 13:14:02 +01:00
power power: supply: fix null pointer dereferencing in power_supply_get_battery_info 2022-12-31 13:14:33 +01:00
powercap powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue 2022-10-26 12:35:30 +02:00
pps
ps3
ptp
pwm pwm: tegra: Fix 32 bit build 2022-12-31 13:14:48 +01:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-31 13:14:05 +01:00
ras
regulator regulator: core: fix deadlock on regulator enable 2022-12-31 13:14:47 +01:00
remoteproc remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in q6v5_wcss_qcs404_power_on() 2022-12-31 13:14:36 +01:00
reset reset: imx7: Fix the iMX8MP PCIe PHY PERST support 2022-10-05 10:39:40 +02:00
rpmsg rpmsg: qcom: glink: replace strncpy() with strscpy_pad() 2022-10-12 09:53:28 +02:00
rtc rtc: ds1347: fix value written to century register 2023-01-12 11:58:56 +01:00
s390 s390/lcs: Fix return type of lcs_start_xmit() 2022-12-31 13:14:41 +01:00
sbus
scsi scsi: qla2xxx: Fix crash when I/O abort times out 2022-12-31 13:14:47 +01:00
sh
siox siox: fix possible memory leak in siox_device_add() 2022-11-26 09:24:36 +01:00
slimbus slimbus: stream: correct presence rate frequencies 2022-11-26 09:24:44 +01:00
soc ARM: ux500: do not directly dereference __iomem 2023-01-12 11:58:50 +01:00
soundwire ASoC/SoundWire: dai: expand 'stream' concept beyond SoundWire 2023-01-12 11:58:49 +01:00
spi spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode 2022-12-31 13:14:18 +01:00
spmi spmi: pmic-arb: correct duplicate APID to PPID mapping logic 2022-10-26 12:35:19 +02:00
ssb
staging staging: media: tegra-video: fix device_node use after free 2023-01-12 11:58:55 +01:00
target scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() 2022-11-26 09:24:49 +01:00
tc
tee tee: optee: fix possible memory leak in optee_register_device() 2022-12-02 17:41:03 +01:00
thermal thermal/drivers/qcom/lmh: Fix irq handler return value 2022-12-31 13:14:31 +01:00
thunderbolt thunderbolt: Add DP OUT resource when DP tunnel is discovered 2022-11-16 09:58:13 +01:00
tty serial: sunsab: Fix error handling in sunsab_init() 2022-12-31 13:14:28 +01:00
uio uio: uio_dmem_genirq: Fix deadlock between irq config and handling 2022-12-31 13:14:27 +01:00
usb usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init 2023-01-12 11:58:41 +01:00
vdpa vdpa/ifcvf: fix the calculation of queuepair 2022-10-05 10:39:43 +02:00
vfio vfio: platform: Do not pass return buffer to ACPI _RST method 2022-12-31 13:14:27 +01:00
vhost vhost/vsock: Use kvmalloc/kvfree for larger packets. 2022-10-26 12:34:47 +02:00
video fbdev: fbcon: release buffer when fbcon_do_set_font() failed 2022-12-31 13:14:47 +01:00
virt vboxguest: Do not use devm for irq 2022-08-25 11:40:33 +02:00
virtio
visorbus
vlynq
vme vme: Fix error not catched in fake_init() 2022-12-31 13:14:30 +01:00
w1
watchdog watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe() 2022-08-17 14:24:11 +02:00
xen xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource() 2022-12-31 13:14:04 +01:00
zorro
Kconfig
Makefile