android_kernel_samsung_sm8650/drivers
Mikulas Patocka bc0734f689 dm: send just one event on resize, not two
commit 7533afa1d27ba1234146d31d2402c195cf195962 upstream.

Device mapper sends an uevent when the device is suspended, using the
function set_capacity_and_notify. However, this causes a race condition
with udev.

Udev skips scanning dm devices that are suspended. If we send an uevent
while we are suspended, udev will be racing with device mapper resume
code. If the device mapper resume code wins the race, udev will process
the uevent after the device is resumed and it will properly scan the
device.

However, if udev wins the race, it will receive the uevent, find out that
the dm device is suspended and skip scanning the device. This causes bugs
such as systemd unmounting the device - see
https://bugzilla.redhat.com/show_bug.cgi?id=2158628

This commit fixes this race.

We replace the function set_capacity_and_notify with set_capacity, so that
the uevent is not sent at this point. In do_resume, we detect if the
capacity has changed and we pass a boolean variable need_resize_uevent to
dm_kobject_uevent. dm_kobject_uevent adds "RESIZE=1" to the uevent if
need_resize_uevent is set.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Tested-by: Peter Rajnoha <prajnoha@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-10 09:34:21 +01:00
..
accessibility tty: fix possible null-ptr-defer in spk_ttyio_release 2023-01-24 07:24:37 +01:00
acpi ACPI: video: Fix Lenovo Ideapad Z570 DMI match 2023-03-10 09:33:52 +01:00
amba
android
ata ata: ahci: Revert "ata: ahci: Add Tiger Lake UP{3,4} AHCI controller" 2023-03-10 09:32:32 +01:00
atm
auxdisplay
base driver core: fw_devlink: Avoid spurious error message 2023-03-10 09:34:01 +01:00
bcma
block brd: check for REQ_NOWAIT and set correct page allocation mask 2023-03-10 09:34:15 +01:00
bluetooth Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE 2023-03-10 09:33:53 +01:00
bus bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() 2023-02-09 11:27:59 +01:00
cdrom
char ipmi_ssif: Rename idle state and check 2023-03-10 09:34:03 +01:00
clk clk: mxl: syscon_node_to_regmap() returns error pointers 2023-02-25 11:25:39 +01:00
clocksource clocksource/drivers/riscv: Patch riscv_clock_next_event() jump before first use 2023-03-10 09:33:03 +01:00
comedi comedi: adv_pci1760: Fix PWM instruction handling 2023-01-24 07:24:35 +01:00
connector
counter counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update 2022-12-31 13:32:41 +01:00
cpufreq cpufreq: davinci: Fix clk use after free 2023-03-10 09:33:01 +01:00
cpuidle cpuidle: dt: Return the correct numbers of parsed idle states 2022-12-31 13:31:55 +01:00
crypto crypto: qat - fix out-of-bounds read 2023-03-10 09:34:19 +01:00
cxl cxl/pmem: Fix nvdimm registration races 2023-03-10 09:34:20 +01:00
dax
dca
devfreq PM/devfreq: governor: Add a private governor_data for governor 2023-01-07 11:11:40 +01:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-12-31 13:32:38 +01:00
dma dmaengine: ptdma: check for null desc before calling pt_cmd_callback 2023-03-10 09:33:39 +01:00
dma-buf dma-buf: actually set signaling bit for private stub fences 2023-02-09 11:28:23 +01:00
edac EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info 2023-02-01 08:34:40 +01:00
eisa
extcon extcon: usbc-tusb320: Update state on probe even if no IRQ pending 2022-12-31 13:32:39 +01:00
firewire firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region 2023-02-09 11:27:59 +01:00
firmware firmware: coreboot: framebuffer: Ignore reserved pixel color bits 2023-03-10 09:34:02 +01:00
fpga fpga: microchip-spi: rewrite status polling in a time measurable way 2023-03-10 09:33:34 +01:00
fsi use less confusing names for iov_iter direction initializers 2023-02-09 11:28:04 +01:00
gnss
gpio gpio: vf610: connect GPIO label to dev name 2023-03-10 09:33:18 +01:00
gpu drm/shmem-helper: Revert accidental non-GPL export 2023-03-10 09:34:01 +01:00
greybus
hid HID: logitech-hidpp: Don't restart communication if not necessary 2023-03-10 09:34:00 +01:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2022-12-31 13:32:45 +01:00
hte
hv HV: hv_balloon: fix memory leak with using debugfs_lookup() 2023-02-09 11:28:21 +01:00
hwmon hwmon: (nct6775) B650/B660/X670 ASUS boards support 2023-03-10 09:33:59 +01:00
hwspinlock
hwtracing hwtracing: hisi_ptt: Only add the supported devices to the filters list 2023-03-10 09:33:31 +01:00
i2c i2c: designware: fix i2c_dw_clk_rate() return size to be u32 2023-03-10 09:33:29 +01:00
i3c
idle cpuidle, intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE *again* 2023-03-10 09:32:36 +01:00
iio iio: light: tsl2563: Do not hardcode interrupt trigger type 2023-03-10 09:33:29 +01:00
infiniband RDMA/siw: Fix user page pinning accounting 2023-03-10 09:34:11 +01:00
input Input: i8042 - add Clevo PCX0DX to i8042 quirk table 2023-02-01 08:34:50 +01:00
interconnect interconnect: qcom: msm8996: Fix regmap max_register values 2023-02-01 08:34:06 +01:00
iommu iommu/vt-d: Allow to use flush-queue when first level is default 2023-03-10 09:33:40 +01:00
ipack
irqchip irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts 2023-03-10 09:33:07 +01:00
isdn use less confusing names for iov_iter direction initializers 2023-02-09 11:28:04 +01:00
leds leds: simatic-ipc-leds-gpio: Make sure we have the GPIO providing driver 2023-03-10 09:33:26 +01:00
macintosh macintosh/macio-adb: check the return value of ioremap() 2022-12-31 13:32:50 +01:00
mailbox mailbox: zynq-ipi: fix error handling while device_register() fails 2022-12-31 13:32:55 +01:00
mcb mcb: mcb-parse: fix error handing in chameleon_parse_gdd() 2022-12-31 13:32:41 +01:00
md dm: send just one event on resize, not two 2023-03-10 09:34:21 +01:00
media media: saa7134: Use video_unregister_device for radio_dev 2023-03-10 09:33:44 +01:00
memory memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe() 2023-02-01 08:34:02 +01:00
memstick memstick/ms_block: Add check for alloc_ordered_workqueue 2022-12-31 13:32:25 +01:00
message
mfd mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() 2023-03-10 09:33:28 +01:00
misc habanalabs: fix bug in timestamps registration code 2023-03-10 09:33:58 +01:00
mmc mmc: mmc_spi: fix error handling in mmc_spi_probe() 2023-02-22 12:59:48 +01:00
most
mtd mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type 2023-03-10 09:34:21 +01:00
mux
net wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu 2023-03-10 09:34:02 +01:00
nfc nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() 2023-01-18 11:58:26 +01:00
ntb
nubus
nvdimm cxl/pmem: Fix nvdimm registration races 2023-03-10 09:34:20 +01:00
nvme nvme-pci: refresh visible attrs for cmb attributes 2023-02-22 12:59:56 +01:00
nvmem nvmem: core: fix return value 2023-02-09 11:28:25 +01:00
of of: reserved_mem: Have kmemleak ignore dynamically allocated reserved mem 2023-02-22 12:59:46 +01:00
opp OPP: fix error checking in opp_migrate_dentry() 2023-03-10 09:33:01 +01:00
parisc parisc: led: Fix potential null-ptr-deref in start_task() 2023-01-07 11:11:55 +01:00
parport
pci PCI: qcom: Fix host-init error handling 2023-03-10 09:33:38 +01:00
pcmcia
peci
perf Partially revert "perf/arm-cmn: Optimise DTC counter accesses" 2023-02-01 08:34:49 +01:00
phy phy: rockchip-typec: fix tcphy_get_mode error case 2023-03-10 09:33:38 +01:00
pinctrl pinctrl: at91: use devm_kasprintf() to avoid potential leaks 2023-03-10 09:33:59 +01:00
platform platform/chrome: cros_ec_typec: Update port DP VDO 2023-03-10 09:32:52 +01:00
pnp PNP: fix name memory leak in pnp_alloc_dev() 2022-12-31 13:31:56 +01:00
power power: supply: remove faulty cooling logic 2023-03-10 09:33:36 +01:00
powercap powercap: fix possible name leak in powercap_register_zone() 2023-03-10 09:32:56 +01:00
pps
ps3
ptp
pwm pwm: tegra: Fix 32 bit build 2022-12-31 13:33:12 +01:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-31 13:32:00 +01:00
ras
regulator regulator: s5m8767: Bounds check id indexing into arrays 2023-03-10 09:33:58 +01:00
remoteproc remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers 2023-03-10 09:33:40 +01:00
reset reset: uniphier-glue: Fix possible null-ptr-deref 2023-02-01 08:34:05 +01:00
rpmsg rpmsg: glink: Release driver_override 2023-03-10 09:33:45 +01:00
rtc rtc: pm8xxx: fix set-alarm race 2023-03-10 09:34:02 +01:00
s390 s390: vfio-ap: tighten the NIB validity check 2023-03-10 09:33:02 +01:00
sbus
scsi scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi 2023-03-10 09:34:06 +01:00
sh
siox
slimbus
soc PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe() 2023-02-01 08:34:08 +01:00
soundwire soundwire: cadence: Don't overflow the command FIFOs 2023-03-10 09:33:29 +01:00
spi spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() 2023-03-10 09:33:23 +01:00
spmi
ssb
staging media: atomisp: Only set default_run_mode on first open of a stream/asd 2023-03-10 09:33:44 +01:00
target scsi: target: core: Fix warning on RT kernels 2023-02-09 11:28:12 +01:00
tc
tee
thermal thermal: intel: intel_pch: Add support for Wellsburg PCH 2023-03-10 09:33:50 +01:00
thunderbolt thunderbolt: Do not call PM runtime functions in tb_retimer_scan() 2023-01-24 07:24:37 +01:00
tty tty: serial: imx: disable Ageing Timer interrupt request irq 2023-03-10 09:33:37 +01:00
ufs scsi: ufs: core: Fix device management cmd timeout flow 2023-03-10 09:34:00 +01:00
uio uio: uio_dmem_genirq: Fix deadlock between irq config and handling 2022-12-31 13:32:38 +01:00
usb usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev 2023-03-10 09:33:38 +01:00
vdpa vdpa: ifcvf: Do proper cleanup if IFCVF init fails 2023-02-22 12:59:42 +01:00
vfio vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp() 2023-02-01 08:34:36 +01:00
vhost vhost-scsi: unbreak any layout for response 2023-02-09 11:28:04 +01:00
video Revert "fbcon: don't lose the console font across generic->chip driver switch" 2023-03-10 09:33:56 +01:00
virt virt/sev-guest: Return -EIO if certificate buffer is not large enough 2023-03-10 09:34:14 +01:00
virtio virtio_pci: modify ENOENT to EINVAL 2023-01-24 07:24:31 +01:00
vlynq
w1 w1: fix WARNING after calling w1_process() 2023-02-01 08:34:26 +01:00
watchdog watchdog: diag288_wdt: fix __diag288() inline assembly 2023-02-09 11:28:16 +01:00
xen xen/grant-dma-iommu: Implement a dummy probe_device() callback 2023-03-10 09:33:02 +01:00
zorro
Kconfig
Makefile