浏览代码

Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto fixes from Herbert Xu:
 "This fixes the following issues:

   - The selftest overreads the IV test vector.

  - Fix potential infinite loop in sunxi-ss driver.

   - Fix powerpc build failure when VMX is set without VSX"

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: testmgr - don't copy from source IV too much
  crypto: sunxi-ss - Fix a possible driver hang with ciphers
  crypto: vmx - VMX crypto should depend on CONFIG_VSX
Linus Torvalds 10 年之前
父节点
当前提交
aa57e0b281
共有 3 个文件被更改,包括 5 次插入4 次删除
  1. 3 2
      crypto/testmgr.c
  2. 1 1
      drivers/crypto/Kconfig
  3. 1 1
      drivers/crypto/sunxi-ss/sun4i-ss-cipher.c

+ 3 - 2
crypto/testmgr.c

@@ -940,6 +940,7 @@ static int __test_skcipher(struct crypto_skcipher *tfm, int enc,
 	char *xbuf[XBUFSIZE];
 	char *xbuf[XBUFSIZE];
 	char *xoutbuf[XBUFSIZE];
 	char *xoutbuf[XBUFSIZE];
 	int ret = -ENOMEM;
 	int ret = -ENOMEM;
+	unsigned int ivsize = crypto_skcipher_ivsize(tfm);
 
 
 	if (testmgr_alloc_buf(xbuf))
 	if (testmgr_alloc_buf(xbuf))
 		goto out_nobuf;
 		goto out_nobuf;
@@ -975,7 +976,7 @@ static int __test_skcipher(struct crypto_skcipher *tfm, int enc,
 			continue;
 			continue;
 
 
 		if (template[i].iv)
 		if (template[i].iv)
-			memcpy(iv, template[i].iv, MAX_IVLEN);
+			memcpy(iv, template[i].iv, ivsize);
 		else
 		else
 			memset(iv, 0, MAX_IVLEN);
 			memset(iv, 0, MAX_IVLEN);
 
 
@@ -1051,7 +1052,7 @@ static int __test_skcipher(struct crypto_skcipher *tfm, int enc,
 			continue;
 			continue;
 
 
 		if (template[i].iv)
 		if (template[i].iv)
-			memcpy(iv, template[i].iv, MAX_IVLEN);
+			memcpy(iv, template[i].iv, ivsize);
 		else
 		else
 			memset(iv, 0, MAX_IVLEN);
 			memset(iv, 0, MAX_IVLEN);
 
 

+ 1 - 1
drivers/crypto/Kconfig

@@ -461,7 +461,7 @@ config CRYPTO_DEV_QCE
 
 
 config CRYPTO_DEV_VMX
 config CRYPTO_DEV_VMX
 	bool "Support for VMX cryptographic acceleration instructions"
 	bool "Support for VMX cryptographic acceleration instructions"
-	depends on PPC64
+	depends on PPC64 && VSX
 	help
 	help
 	  Support for VMX cryptographic acceleration instructions.
 	  Support for VMX cryptographic acceleration instructions.
 
 

+ 1 - 1
drivers/crypto/sunxi-ss/sun4i-ss-cipher.c

@@ -104,7 +104,7 @@ static int sun4i_ss_opti_poll(struct ablkcipher_request *areq)
 			sg_miter_next(&mo);
 			sg_miter_next(&mo);
 			oo = 0;
 			oo = 0;
 		}
 		}
-	} while (mo.length > 0);
+	} while (oleft > 0);
 
 
 	if (areq->info) {
 	if (areq->info) {
 		for (i = 0; i < 4 && i < ivsize / 4; i++) {
 		for (i = 0; i < 4 && i < ivsize / 4; i++) {