Mikulas Patocka
1781fa54a4
dm writecache: fix incorrect flush sequence when doing SSD mode commit
...
commit aa9509209c5ac2f0b35d01a922bf9ae072d0c2fc upstream.
When committing state, the function writecache_flush does the following:
1. write metadata (writecache_commit_flushed)
2. flush disk cache (writecache_commit_flushed)
3. wait for data writes to complete (writecache_wait_for_ios)
4. increase superblock seq_count
5. write the superblock
6. flush disk cache
It may happen that at step 3, when we wait for some write to finish, the
disk may report the write as finished, but the write only hit the disk
cache and it is not yet stored in persistent storage. At step 5 we write
the superblock - it may happen that the superblock is written before the
write that we waited for in step 3. If the machine crashes, it may result
in incorrect data being returned after reboot.
In order to fix the bug, we must swap steps 2 and 3 in the above sequence,
so that we first wait for writes to complete and then flush the disk
cache.
Fixes: 48debafe4f ("dm: add writecache target")
Cc: stable@vger.kernel.org # 4.18+
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-02-11 04:35:26 -08:00
..
accessibility
acpi
ACPI / battery: Deal better with neither design nor full capacity not being reported
2020-02-11 04:35:20 -08:00
amba
ARM updates for 5.4-rc:
2019-10-23 06:26:33 -04:00
android
binder: fix log spam for existing debugfs file creation.
2020-02-01 09:34:35 +00:00
ata
libata: Fix retrieving of active qcs
2020-01-09 10:19:59 +01:00
atm
atm: eni: fix uninitialized variable warning
2020-02-01 09:34:46 +00:00
auxdisplay
base
PM: core: Fix handling of devices deleted during system-wide resume
2020-02-11 04:35:25 -08:00
bcma
block
xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk
2020-01-23 08:22:54 +01:00
bluetooth
Bluetooth: btusb: Disable runtime suspend on Realtek devices
2020-02-11 04:35:09 -08:00
bus
bus: ti-sysc: Fix missing force mstandby quirk handling
2020-02-01 09:34:51 +00:00
cdrom
cdrom: respect device capabilities during opening action
2020-01-04 19:18:25 +01:00
char
ttyprintk: fix a potential deadlock in interrupt context issue
2020-02-05 21:22:41 +00:00
clk
clk: mmp2: Fix the order of timer mux parents
2020-02-05 21:22:43 +00:00
clocksource
clocksource: riscv: add notrace to riscv_sched_clock
2020-01-09 10:19:59 +01:00
connector
counter
cpufreq
cpufreq: Avoid creating excessively large stack frames
2020-02-11 04:35:25 -08:00
cpuidle
cpuidle: teo: Avoid using "early hits" incorrectly
2020-02-05 21:22:52 +00:00
crypto
crypto: ccree - fix PM race condition
2020-02-11 04:35:22 -08:00
dax
dca
devfreq
PM / devfreq: Add new name attribute for sysfs
2020-02-05 21:22:40 +00:00
dio
dma
dmaengine: ti: edma: fix missed failure handling
2020-01-26 10:01:08 +01:00
dma-buf
dma-buf: Fix memory leak in sync_file_merge()
2019-12-21 11:04:48 +01:00
edac
EDAC/ghes: Fix grain calculation
2019-12-31 16:45:16 +01:00
eisa
extcon
extcon-intel-cht-wc: Don't reset USB data connection at probe
2020-02-01 09:34:46 +00:00
firewire
net: add annotations on hh->hh_len lockless accesses
2020-01-09 10:20:06 +01:00
firmware
firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT
2020-01-26 10:01:07 +01:00
fpga
fsi
fsi: core: Fix small accesses and unaligned offsets via sysfs
2019-12-31 16:45:09 +01:00
gnss
gpio
gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP
2020-02-01 09:34:45 +00:00
gpu
drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2)
2020-02-01 09:34:46 +00:00
greybus
hid
HID: steam: Fix input device disappearing
2020-02-01 09:34:46 +00:00
hsi
hv
hv_balloon: Balloon up according to request page number
2020-02-11 04:35:21 -08:00
hwmon
hwmon: (nct7802) Fix non-working alarm on voltages
2020-01-29 16:45:30 +01:00
hwspinlock
hwtracing
intel_th: msu: Fix window switching without windows
2019-12-31 16:46:09 +01:00
i2c
i2c: stm32f7: report dma error during probe
2020-01-26 10:01:06 +01:00
i3c
ide
idle
iio
iio: st_gyro: Correct data for LSM9DS0 gyro
2020-02-01 09:34:36 +00:00
infiniband
scsi: RDMA/isert: Fix a recently introduced regression related to logout
2020-01-29 16:45:30 +01:00
input
Input: max77650-onkey - add of_match table
2020-02-05 21:22:49 +00:00
interconnect
interconnect: qcom: qcs404: Walk the list safely on node removal
2019-12-17 19:55:39 +01:00
iommu
iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping
2020-02-01 09:34:48 +00:00
ipack
irqchip
irqchip: Place CONFIG_SIFIVE_PLIC into the menu
2020-01-23 08:22:55 +01:00
isdn
net: use skb_queue_empty_lockless() in poll() handlers
2019-10-28 13:33:41 -07:00
leds
led: max77650: add of_match table
2020-02-05 21:22:49 +00:00
lightnvm
macintosh
cpufreq: Use per-policy frequency QoS
2019-10-21 02:05:21 +02:00
mailbox
mailbox: imx: Fix Tx doorbell shutdown path
2020-01-04 19:18:30 +01:00
mcb
md
dm writecache: fix incorrect flush sequence when doing SSD mode commit
2020-02-11 04:35:26 -08:00
media
media: v4l2-core: compat: ignore native command codes
2020-02-11 04:35:14 -08:00
memory
memory: mtk-smi: Add PM suspend and resume ops
2020-01-17 19:48:59 +01:00
memstick
message
scsi: mptfusion: Fix double fetch bug in ioctl
2020-01-23 08:22:35 +01:00
mfd
mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile
2020-02-11 04:35:21 -08:00
misc
lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP
2020-02-05 21:22:46 +00:00
mmc
mmc: sdhci-of-at91: fix memleak on clk_get failure
2020-02-11 04:35:21 -08:00
mtd
mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash
2020-01-23 08:22:57 +01:00
mux
net
brcmfmac: Fix memory leak in brcmf_usbdev_qinit
2020-02-11 04:35:09 -08:00
nfc
NFC: pn533: fix bulk-message timeout
2020-01-23 08:22:48 +01:00
ntb
nubus
nvdimm
libnvdimm/btt: fix variable 'rc' set but not used
2020-01-04 19:18:12 +01:00
nvme
nvmet: Fix controller use after free
2020-02-11 04:35:08 -08:00
nvmem
nvmem: core: fix memory abort in cleanup path
2020-02-11 04:35:21 -08:00
of
of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc
2020-02-11 04:35:25 -08:00
opp
opp: Reinitialize the list_kref before adding the static OPPs again
2019-10-23 10:58:44 +05:30
oprofile
parisc
parport
parport: load lowlevel driver if ports not found
2019-12-31 16:45:25 +01:00
pci
PCI: keystone: Fix error handling when "num-viewport" DT property is not populated
2020-02-11 04:35:19 -08:00
pcmcia
perf
perf/imx_ddr: Add enhanced AXI ID filter support
2020-02-01 09:34:49 +00:00
phy
phy: cpcap-usb: Prevent USB line glitches from waking up modem
2020-02-01 09:34:43 +00:00
pinctrl
pinctrl: sunrisepoint: Add missing Interrupt Status register offset
2020-01-29 16:45:27 +01:00
platform
platform/x86: intel_scu_ipc: Fix interrupt support
2020-02-11 04:35:15 -08:00
pnp
power
power: supply: ltc2941-battery-gauge: fix use-after-free
2020-02-11 04:35:24 -08:00
powercap
powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online()
2020-01-14 20:08:18 +01:00
pps
ps3
ptp
ptp: free ptp device pin descriptors properly
2020-01-23 08:22:51 +01:00
pwm
pwm: sun4i: Fix incorrect calculation of duty_cycle/period
2020-01-26 10:01:04 +01:00
rapidio
ras
regulator
regulator: bd70528: Add MODULE_ALIAS to allow module auto loading
2020-01-26 10:01:05 +01:00
remoteproc
reset
reset: Fix {of,devm}_reset_control_array_get kerneldoc return types
2020-01-23 08:22:43 +01:00
rpmsg
rpmsg: char: release allocated memory
2020-01-14 20:08:37 +01:00
rtc
rtc: bd70528: fix module alias to autoload module
2020-01-26 10:01:06 +01:00
s390
s390/zcrypt: move ap device reset from bus to driver code
2020-02-05 21:22:44 +00:00
sbus
scsi
scsi: qla2xxx: Fix mtcp dump collection failure
2020-02-11 04:35:23 -08:00
sfi
sh
siox
slimbus
soc
soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot
2020-02-05 21:22:43 +00:00
soundwire
soundwire: intel: fix PDI/stream mapping for Bulk
2019-12-31 16:45:11 +01:00
spi
spi: pxa2xx: Add support for Intel Comet Lake-H
2020-02-01 09:34:48 +00:00
spmi
ssb
staging
staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'
2020-02-01 09:34:47 +00:00
target
scsi: RDMA/isert: Fix a recently introduced regression related to logout
2020-01-29 16:45:30 +01:00
tc
tee
tee: optee: Fix compilation issue with nommu
2020-02-05 21:22:49 +00:00
thermal
thermal: Fix deadlock in thermal thermal_zone_device_check
2019-12-13 08:43:21 +01:00
thunderbolt
thunderbolt: Power cycle the router if NVM authentication fails
2019-12-04 22:30:50 +01:00
tty
serial: imx: fix a race condition in receive path
2020-02-01 09:34:34 +00:00
uio
usb
usb: gadget: f_ecm: Use atomic_t to track in-flight request
2020-02-11 04:35:10 -08:00
vfio
vfio/pci: call irq_bypass_unregister_producer() before freeing irq
2019-12-21 11:04:48 +01:00
vhost
vhost/vsock: accept only packets with the right dst_cid
2020-01-04 19:19:18 +01:00
video
video/hdmi: Fix AVI bar unpack
2019-12-17 19:56:42 +01:00
virt
virtio
virtio-balloon: fix managed page counts when migrating pages between zones
2019-12-17 19:55:56 +01:00
visorbus
vlynq
vme
w1
watchdog
watchdog: orion: fix platform_get_irq() complaints
2020-02-01 09:34:43 +00:00
xen
xen/balloon: fix ballooned page accounting without hotplug enabled
2020-01-09 10:19:51 +01:00
zorro
Kconfig
Makefile