Weijie Yang
38515c7339
zram: correct offset usage in zram_bio_discard
...
We want to skip the physical block(PAGE_SIZE) which is partially covered
by the discard bio, so we check the remaining size and subtract it if
there is a need to goto the next physical block.
The current offset usage in zram_bio_discard is incorrect, it will cause
its upper filesystem breakdown. Consider the following scenario:
On some architecture or config, PAGE_SIZE is 64K for example, filesystem
is set up on zram disk without PAGE_SIZE aligned, a discard bio leads to a
offset = 4K and size=72K, normally, it should not really discard any
physical block as it partially cover two physical blocks. However, with
the current offset usage, it will discard the second physical block and
free its memory, which will cause filesystem breakdown.
This patch corrects the offset usage in zram_bio_discard.
Signed-off-by: Weijie Yang <weijie.yang@samsung.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Acked-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Bob Liu <bob.liu@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-04 16:54:13 -07:00
..
accessibility
acpi
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
amba
ata
atm
auxdisplay
base
cma: increase CMA_ALIGNMENT upper limit to 12
2014-06-04 16:54:08 -07:00
bcma
block
zram: correct offset usage in zram_bio_discard
2014-06-04 16:54:13 -07:00
bluetooth
TTY/Serial driver patches for 3.16-rc1
2014-06-03 09:01:02 -07:00
bus
ARM: SoC driver changes
2014-06-02 16:35:49 -07:00
cdrom
char
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
clk
DeviceTree for 3.16:
2014-06-04 10:02:38 -07:00
clocksource
DeviceTree for 3.16:
2014-06-04 10:02:38 -07:00
connector
Char / misc driver patches for 3.16-rc1
2014-06-03 08:06:56 -07:00
cpufreq
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
cpuidle
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
crypto
crypto/nx/nx-842: dev_set_drvdata can no longer fail
2014-05-28 13:39:51 -07:00
dca
devfreq
dio
dma
ARM: SoC driver changes
2014-06-02 16:35:49 -07:00
edac
PCI changes for the v3.16 merge window:
2014-06-02 12:15:19 -07:00
eisa
extcon
firewire
sound updates for 3.16-rc1
2014-06-04 09:08:25 -07:00
firmware
fmc
gpio
This is the bulk of GPIO changes for the v3.16 series:
2014-06-02 08:46:03 -07:00
gpu
drm/exynos: call find_vma with the mmap_sem held
2014-06-04 16:54:00 -07:00
hid
Merge branches 'for-3.16/i2c-hid', 'for-3.16/rmi4', 'for-3.16/sony' and 'for-3.16/thingm' into for-linus
2014-06-04 13:09:43 +02:00
hsi
hv
hv: use correct order when freeing monitor_pages
2014-05-28 13:45:15 -07:00
hwmon
New driver for NCT6683D
2014-06-03 11:09:43 -07:00
hwspinlock
i2c
ide
idle
iio
Staging driver patches for 3.16-rc1
2014-06-03 08:34:00 -07:00
infiniband
input
ARM: SoC updates for 3.16 (part 1)
2014-06-02 16:15:12 -07:00
iommu
intel-iommu: integrate DMA CMA
2014-06-04 16:53:57 -07:00
ipack
irqchip
DeviceTree for 3.16:
2014-06-04 10:02:38 -07:00
isdn
leds
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid into next
2014-06-04 08:52:36 -07:00
lguest
macintosh
mailbox
mcb
mcb: Add support for shared PCI IRQs
2014-05-27 17:38:11 -07:00
md
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 12:57:53 -07:00
media
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 12:57:53 -07:00
memory
memstick
message
mfd
sound updates for 3.16-rc1
2014-06-04 09:08:25 -07:00
misc
Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 15:48:23 -07:00
mmc
Updates for mmci driver:
2014-06-02 09:22:24 -07:00
mtd
Merge branch 'for-3.16/core' of git://git.kernel.dk/linux-block into next
2014-06-02 09:29:34 -07:00
net
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
nfc
ntb
nubus
of
DeviceTree for 3.16:
2014-06-04 10:02:38 -07:00
oprofile
parisc
parport
parport: Add support for the WCH353 1S/1P multi-IO card
2014-05-28 12:30:48 -07:00
pci
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next
2014-06-04 08:50:34 -07:00
pcmcia
phy
pinctrl
This is the bulk of pin control changes for the v3.16
2014-06-03 11:20:32 -07:00
platform
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
pnp
Merge branches 'pnp', 'powercap', 'pm-runtime' and 'pm-opp'
2014-06-03 23:13:00 +02:00
power
ACPI and power management updates for 3.16-rc1
2014-06-04 08:57:16 -07:00
powercap
pps
ps3
ptp
pwm
rapidio
regulator
regulator: Updates for v3.16
2014-06-03 11:44:48 -07:00
remoteproc
reset
ARM: SoC driver changes
2014-06-02 16:35:49 -07:00
rpmsg
rtc
s390
At over 200 commits, covering almost all supported architectures, this
2014-06-04 08:47:12 -07:00
sbus
scsi
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next
2014-06-04 08:50:34 -07:00
sfi
sh
Merge back earlier cpufreq material.
2014-06-03 15:03:27 +02:00
sn
soc
spi
Merge remote-tracking branch 'spi/topic/workqueue' into spi-next
2014-06-02 17:08:43 +01:00
spmi
ssb
staging
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next
2014-06-04 08:50:34 -07:00
target
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 12:57:53 -07:00
tc
thermal
tty
DeviceTree for 3.16:
2014-06-04 10:02:38 -07:00
uio
usb
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 12:57:53 -07:00
uwb
vfio
vhost
video
fbdev changes for 3.16 (omap)
2014-06-04 09:07:08 -07:00
virt
virtio
vlynq
vme
w1
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 12:57:53 -07:00
watchdog
xen
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
2014-06-03 12:57:53 -07:00
zorro
Kconfig
Makefile
Char / misc driver patches for 3.16-rc1
2014-06-03 08:06:56 -07:00