kernel_optimize_test/drivers
Heinz Mauelshagen e893fba90c dm cache: fix access beyond end of origin device
In order to avoid wasting cache space a partial block at the end of the
origin device is not cached.  Unfortunately, the check for such a
partial block at the end of the origin device was flawed.

Fix accesses beyond the end of the origin device that occured due to
attempted promotion of an undetected partial block by:

- initializing the per bio data struct to allow cache_end_io to work properly
- recognizing access to the partial block at the end of the origin device
- avoiding out of bounds access to the discard bitset

Otherwise, users can experience errors like the following:

 attempt to access beyond end of device
 dm-5: rw=0, want=20971520, limit=20971456
 ...
 device-mapper: cache: promotion failed; couldn't copy block

Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org
2014-03-12 13:52:00 -04:00
..
accessibility
acpi Merge branches 'acpi-dock', 'acpi-scan' and 'acpi-pci-hotplug' 2014-02-12 14:56:58 +01:00
amba
ata
atm
auxdisplay
base drivers/base: fix devres handling for master device 2014-02-07 16:45:14 -08:00
bcma
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2014-02-14 10:45:18 -08:00
bluetooth
bus
cdrom
char Char/Misc fixes for 3.14-rc3 2014-02-14 16:13:00 -08:00
clk
clocksource
connector
cpufreq intel_pstate: Remove energy reporting from pstate_sample tracepoint 2014-02-13 02:11:18 +01:00
cpuidle
crypto crypto/nx/nx-842: Fix handling of vmalloc addresses 2014-02-11 11:24:49 +11:00
dca
devfreq
dio
dma dma: mv_xor: Silence a bunch of LPAE-related warnings 2014-02-12 16:21:17 -08:00
edac EDAC: Correct workqueue setup path 2014-02-14 10:40:47 +01:00
eisa
extcon
firewire
firmware
fmc
gpio
gpu Merge branch 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into drm-next 2014-02-12 09:51:51 +10:00
hid
hsi
hv
hwmon hwmon: (ntc_thermistor) Avoid math overflow 2014-02-13 19:43:52 -08:00
hwspinlock
i2c i2c: mv64xxx: refactor message start to ensure proper initialization 2014-02-15 15:42:31 +01:00
ide
idle
iio iio: max1363: Use devm_regulator_get_optional for optional regulator 2014-02-08 11:46:00 +00:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2014-02-15 16:18:47 -08:00
input
iommu
ipack
irqchip
isdn
leds
lguest
macintosh
mailbox
md dm cache: fix access beyond end of origin device 2014-03-12 13:52:00 -04:00
media
memory
memstick
message drivers/message/i2o/i2o_config.c: fix deadlock in compat_ioctl(I2OGETIOPS) 2014-02-10 16:01:40 -08:00
mfd
misc Char/Misc fixes for 3.14-rc3 2014-02-14 16:13:00 -08:00
mmc
mtd
net RDMA/InfiniBand fixes for 3.14-rc3: 2014-02-14 10:33:45 -08:00
nfc
ntb
nubus
of of: search the best compatible match first in __of_match_node() 2014-02-15 18:51:17 -06:00
oprofile
parisc
parport
pci ACPI / hotplug / PCI: Relax the checking of _STA return values 2014-02-12 12:45:57 +01:00
pcmcia
phy
pinctrl
platform
pnp
power Few fixes: 2014-02-14 10:32:28 -08:00
powercap
pps
ps3
ptp
pwm
rapidio
regulator Merge remote-tracking branches 'regulator/fix/da9055' and 'regulator/fix/max14577' into regulator-linus 2014-02-12 11:47:33 +00:00
remoteproc
reset
rpmsg
rtc
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-02-11 12:23:50 -08:00
sbus
scsi qla2xxx: Remove last vestiges of qla_tgt_cmd.cmd_list 2014-02-12 15:11:03 -08:00
sfi
sh
sn
spi Merge remote-tracking branches 'spi/fix/doc', 'spi/fix/nuc900' and 'spi/fix/rspi' into spi-linus 2014-02-11 12:08:27 +00:00
ssb
staging Staging driver fixes for 3.14-rc3 2014-02-14 16:14:11 -08:00
target Target/sbc: Fix protection copy routine 2014-02-12 15:14:45 -08:00
tc
thermal
tty vt: Fix secure clear screen 2014-02-13 11:12:00 -08:00
uio
usb usb: option: blacklist ZTE MF667 net interface 2014-02-11 15:33:54 -08:00
uwb
vfio
vhost
video video: Kconfig: Allow more broad selection of the imxfb framebuffer driver. 2014-02-14 10:44:52 +02:00
virt
virtio
vlynq
vme
w1
watchdog watchdog: dw_wdt: Add dependency on HAS_IOMEM 2014-02-08 09:47:11 +01:00
xen Bug-fix: 2014-02-12 12:28:05 -08:00
zorro
Kconfig
Makefile