All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: stable@vger.kernel.org
Cc: "Vutla, Lokesh" <lokeshvutla@ti.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Jiri Slaby <jslaby@suse.cz>
Subject: [patch added to the 3.12 stable tree] crypto: omap-aes - Fix support for unequal lengths
Date: Mon,  4 May 2015 14:37:58 +0200	[thread overview]
Message-ID: <1430743082-6957-67-git-send-email-jslaby@suse.cz> (raw)
In-Reply-To: <1430743082-6957-1-git-send-email-jslaby@suse.cz>

From: "Vutla, Lokesh" <lokeshvutla@ti.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 6d7e7e02a044025237b6f62a20521170b794537f upstream.

For cases where total length of an input SGs is not same as
length of the input data for encryption, omap-aes driver
crashes. This happens in the case when IPsec is trying to use
omap-aes driver.

To avoid this, we copy all the pages from the input SG list
into a contiguous buffer and prepare a single element SG list
for this buffer with length as the total bytes to crypt, which is
similar thing that is done in case of unaligned lengths.

Fixes: 6242332ff2f3 ("crypto: omap-aes - Add support for cases of unaligned lengths")
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/crypto/omap-aes.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c
index ce791c2f81f7..56374ee92365 100644
--- a/drivers/crypto/omap-aes.c
+++ b/drivers/crypto/omap-aes.c
@@ -554,15 +554,23 @@ static int omap_aes_crypt_dma_stop(struct omap_aes_dev *dd)
 	return err;
 }
 
-int omap_aes_check_aligned(struct scatterlist *sg)
+int omap_aes_check_aligned(struct scatterlist *sg, int total)
 {
+	int len = 0;
+
 	while (sg) {
 		if (!IS_ALIGNED(sg->offset, 4))
 			return -1;
 		if (!IS_ALIGNED(sg->length, AES_BLOCK_SIZE))
 			return -1;
+
+		len += sg->length;
 		sg = sg_next(sg);
 	}
+
+	if (len != total)
+		return -1;
+
 	return 0;
 }
 
@@ -633,8 +641,8 @@ static int omap_aes_handle_queue(struct omap_aes_dev *dd,
 	dd->in_sg = req->src;
 	dd->out_sg = req->dst;
 
-	if (omap_aes_check_aligned(dd->in_sg) ||
-	    omap_aes_check_aligned(dd->out_sg)) {
+	if (omap_aes_check_aligned(dd->in_sg, dd->total) ||
+	    omap_aes_check_aligned(dd->out_sg, dd->total)) {
 		if (omap_aes_copy_sgs(dd))
 			pr_err("Failed to copy SGs for unaligned cases\n");
 		dd->sgs_copied = 1;
-- 
2.3.5


  parent reply	other threads:[~2015-05-04 12:38 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-04 12:36 [patch added to the 3.12 stable tree] drivers: parport: Kconfig: exclude arm64 for PARPORT_PC Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] usb: gadget: composite: enable BESL support Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] nosave: consolidate __nosave_{begin,end} in <asm/sections.h> Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] KVM: s390: Zero out current VMDB of STSI before including level3 data Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] s390/hibernate: fix save and restore of kernel text section Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] KVM: use slowpath for cross page cached accesses Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] MIPS: Hibernate: flush TLB entries earlier Jiri Slaby
2015-05-04 12:36 ` [patch added to the 3.12 stable tree] cdc-wdm: fix endianness bug in debug statements Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] spi: spidev: fix possible arithmetic overflow for multi-transfer message Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] compal-laptop: Check return value of power_supply_register Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ring-buffer: Replace this_cpu_*() with __this_cpu_*() Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] power_supply: twl4030_madc: Check return value of power_supply_register Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] power_supply: lp8788-charger: Fix leaked power supply on probe fail Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ARM: dts: dove: Fix uart[23] reg property Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: phy: Find the right match in devm_usb_phy_match Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: define a generic USB_RESUME_TIMEOUT macro Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: fusbh200: use new USB_RESUME_TIMEOUT Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: uhci: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: fotg210: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: r8a66597: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: isp116x: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: xhci: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: host: sl811: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: dwc2: hcd: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] usb: core: hub: " Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ALSA: emu10k1: don't deadlock in proc-functions Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] Input: elantech - fix absolute mode setting on some ASUS laptops Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] fs/binfmt_elf.c: fix bug in loading of PIE binaries Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ptrace: fix race between ptrace_resume() and wait_task_stopped() Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] rtlwifi: rtl8192cu: Add new USB ID Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] rtlwifi: rtl8192cu: Add new device ID Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] arm64: vdso: fix build error when switching from LE to BE Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ext4: make fsync to sync parent dir in no-journal for real this time Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] tools lib traceevent kbuffer: Remove extra update to data pointer in PADDING Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] UBI: account for bitflips in both the VID header and data Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] UBI: fix out of bounds write Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] UBI: initialize LEB number variable Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] UBI: fix check for "too many bytes" Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] scsi: storvsc: Fix a bug in copy_from_bounce_buffer() Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe card Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] powerpc: Fix missing L2 cache size in /sys/devices/system/cpu Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ACPICA: Utilities: split IO address types from data type models Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] xtensa: xtfpga: fix hardware lockup caused by LCD driver Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] xtensa: ISS: fix locking in TAP network adapter Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] gpio: mvebu: Fix mask/unmask managment per irq chip type Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] dm crypt: fix deadlock when async crypto algorithm returns -EBUSY Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] mvsas: fix panic on expander attached SATA devices Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] stk1160: Make sure current buffer is released Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] IB/core: disallow registering 0-sized memory region Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] IB/core: don't disallow registering region starting at 0x0 Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] IB/mlx4: Fix WQE LSO segment calculation Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] i2c: core: Export bus recovery functions Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] drm/radeon: fix doublescan modes (v2) Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] drm/i915: cope with large i2c transfers Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] RCU pathwalk breakage when running into a symlink overmounting something Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] ksoftirqd: Enable IRQs and call cond_resched() before poking RCU Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] e1000: add dummy allocator to fix race condition between mtu change and netpoll Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR Jiri Slaby
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] wl18xx: show rx_frames_per_rates as an array as it really is Jiri Slaby
2015-05-04 12:37 ` Jiri Slaby [this message]
2015-05-04 12:37 ` [patch added to the 3.12 stable tree] C6x: time: Ensure consistency in __init Jiri Slaby
2015-05-04 12:38 ` [patch added to the 3.12 stable tree] memstick: mspro_block: add missing curly braces Jiri Slaby
2015-05-04 12:38 ` [patch added to the 3.12 stable tree] driver core: bus: Goto appropriate labels on failure in bus_add_device Jiri Slaby
2015-05-04 12:38 ` [patch added to the 3.12 stable tree] fs: take i_mutex during prepare_binprm for set[ug]id executables Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1430743082-6957-67-git-send-email-jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=herbert@gondor.apana.org.au \
    --cc=lokeshvutla@ti.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.