linux/drivers
Tom Lendacky fb43f69401 crypto: ccp - Protect against poorly marked end of sg list
Scatter gather lists can be created with more available entries than are
actually used (e.g. using sg_init_table() to reserve a specific number
of sg entries, but in actuality using something less than that based on
the data length).  The caller sometimes fails to mark the last entry
with sg_mark_end().  In these cases, sg_nents() will return the original
size of the sg list as opposed to the actual number of sg entries that
contain valid data.

On arm64, if the sg_nents() value is used in a call to dma_map_sg() in
this situation, then it causes a BUG_ON in lib/swiotlb.c because an
"empty" sg list entry results in dma_capable() returning false and
swiotlb trying to create a bounce buffer of size 0. This occurred in
the userspace crypto interface before being fixed by

0f477b655a ("crypto: algif - Mark sgl end at the end of data")

Protect against this by using the new sg_nents_for_len() function which
returns only the number of sg entries required to meet the desired
length and supplying that value to dma_map_sg().

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2015-06-03 10:51:28 +08:00
..
accessibility
acpi Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
amba ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address 2015-04-02 10:03:55 +01:00
android
ata Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
atm
auxdisplay
base power: wakeup: remove use of seq_printf return value 2015-04-15 16:35:24 -07:00
bcma
block Merge branch 'akpm' (patches from Andrew) 2015-04-15 16:39:15 -07:00
bluetooth Bluetooth: btusb: Use proper data structures for Intel vendor events 2015-04-09 10:42:18 +03:00
bus
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2015-05-28 11:16:41 +08:00
clk
clocksource ARM, clocksource/drivers: Provide read_boot_clock64() and read_persistent_clock64() and use them 2015-04-03 08:18:23 +02:00
connector
coresight
cpufreq intel_pstate: Knights Landing support 2015-04-11 02:13:29 +02:00
cpuidle Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
crypto crypto: ccp - Protect against poorly marked end of sg list 2015-06-03 10:51:28 +08:00
dca
devfreq
dio
dma sound updates for 4.1-rc1 2015-04-15 15:41:41 -07:00
dma-buf
edac
eisa
extcon
firewire
firmware Merge branch 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-04-13 10:22:30 -07:00
fmc
gpio Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
gpu Some clean ups and small fixes, but the biggest change is the addition 2015-04-14 10:49:03 -07:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
hsi HSI: cmt_speech: fix error return code 2015-04-05 14:45:27 +02:00
hv
hwmon hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan 2015-04-12 15:59:11 -07:00
hwspinlock
i2c Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
ide Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
idle Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
iio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-04-14 09:50:27 -07:00
infiniband Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-14 15:31:03 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
iommu Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
ipack
irqchip irqchip core change for v4.1 (round 3) 2015-04-11 11:17:28 +02:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
leds
lguest lguest: now needs PCI_DIRECT. 2015-04-01 10:29:05 -07:00
macintosh
mailbox
mcb
md md/raid0: fix bug with chunksize not a power of 2. 2015-04-10 15:36:31 +10:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
memory
memstick
message
mfd == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
misc Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-14 15:31:03 -07:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-04-14 09:50:27 -07:00
mtd This pull request includes the following UBI/UBIFS changes: 2015-04-15 13:43:40 -07:00
net Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-15 13:22:56 -07:00
nfc NFC: logging neatening 2015-04-07 12:05:12 +02:00
ntb
nubus
of Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
oprofile
parisc parisc: remove use of seq_printf return value 2015-04-15 16:35:25 -07:00
parport
pci PCI changes for the v4.1 merge window: 2015-04-13 15:45:47 -07:00
pcmcia
phy USB patches for 4.1-rc1 2015-04-13 17:07:21 -07:00
pinctrl This is the bulk of pin control changes for the v4.1 development 2015-04-14 17:58:15 -07:00
platform Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
pnp Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
power power: twl4030_madc_battery: Add missing MODULE_ALIAS 2015-04-06 19:39:57 +02:00
powercap powercap / RAPL: mark rapl_ids array as __initconst 2015-04-11 02:21:15 +02:00
pps
ps3
ptp
pwm
rapidio
ras
regulator == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
remoteproc
reset
rpmsg
rtc rtc: remove use of seq_printf return value 2015-04-15 16:35:24 -07:00
s390 s390: remove use of seq_printf return value 2015-04-15 16:35:25 -07:00
sbus drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value 2015-04-15 16:35:23 -07:00
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
sfi
sh
sn
soc
spi Merge remote-tracking branches 'spi/topic/spidev' and 'spi/topic/spidev-test' into spi-next 2015-04-11 23:09:31 +01:00
spmi
ssb ssb: add delay after PCI reset to fix SoC reboots 2015-04-07 20:18:10 +03:00
staging Merge branch 'akpm' (patches from Andrew) 2015-04-15 16:39:15 -07:00
target iscsi target: fix oops when adding reject pdu 2015-04-10 12:33:55 -07:00
tc
thermal drivers: thermal: st: remove several sparse warnings 2015-04-07 13:43:28 -07:00
thunderbolt
tty Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
uio
usb Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-15 13:22:56 -07:00
uwb
vfio vfio-pci: Fix use after free 2015-04-08 08:11:51 -06:00
vhost new helper: msg_data_left() 2015-04-11 15:53:35 -04:00
video == Changes to existing drivers == 2015-04-14 17:54:22 -07:00
virt
virtio
vlynq
vme
w1
watchdog Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-04-14 20:51:44 -07:00
xen cleancache: forbid overriding cleancache_ops 2015-04-14 16:49:03 -07:00
zorro
Kconfig
Makefile