diff options
| author | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-07-14 20:49:57 +0000 | 
|---|---|---|
| committer | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-07-14 20:49:57 +0000 | 
| commit | e54b0236cb5f67f9e60b8e67214ce5db8d54b763 (patch) | |
| tree | 496cca794b177cbcb0c1461fa41898d896775b4e | |
| parent | b4350fddb5749676257a3586abb33342487ab346 (diff) | |
update patch for the final kernel release
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11830 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch | 56 | 
1 files changed, 8 insertions, 48 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch b/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch index 297f60e4b..bca461ed4 100644 --- a/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch +++ b/target/linux/generic-2.6/patches-2.6.26/910-cryptodev_backport.patch @@ -571,46 +571,6 @@       } while(0)   /* max = 24: 128bit encrypt, max = 32: 256bit encrypt */ ---- a/crypto/chainiv.c -+++ b/crypto/chainiv.c -@@ -117,6 +117,7 @@ - static int async_chainiv_schedule_work(struct async_chainiv_ctx *ctx) - { - 	int queued; -+	int err = ctx->err; -  - 	if (!ctx->queue.qlen) { - 		smp_mb__before_clear_bit(); -@@ -131,7 +132,7 @@ - 	BUG_ON(!queued); -  - out: --	return ctx->err; -+	return err; - } -  - static int async_chainiv_postpone_request(struct skcipher_givcrypt_request *req) -@@ -227,6 +228,7 @@ - 						     postponed); - 	struct skcipher_givcrypt_request *req; - 	struct ablkcipher_request *subreq; -+	int err; -  - 	/* Only handle one request at a time to avoid hogging keventd. */ - 	spin_lock_bh(&ctx->lock); -@@ -241,7 +243,11 @@ - 	subreq = skcipher_givcrypt_reqctx(req); - 	subreq->base.flags |= CRYPTO_TFM_REQ_MAY_SLEEP; -  --	async_chainiv_givencrypt_tail(req); -+	err = async_chainiv_givencrypt_tail(req); -+ -+	local_bh_disable(); -+	skcipher_givcrypt_complete(req, err); -+	local_bh_enable(); - } -  - static int async_chainiv_init(struct crypto_tfm *tfm)  --- a/crypto/crc32c.c  +++ b/crypto/crc32c.c  @@ -5,20 +5,23 @@ @@ -3593,7 +3553,7 @@   	j = 0;   	for (i = 0; i < tcount; i++) { -@@ -602,6 +638,7 @@ +@@ -596,6 +632,7 @@   			printk("test %u (%d bit key):\n",   			j, template[i].klen * 8); @@ -3601,7 +3561,7 @@   			crypto_ablkcipher_clear_flags(tfm, ~0);   			if (template[i].wk)   				crypto_ablkcipher_set_flags( -@@ -657,14 +694,21 @@ +@@ -649,14 +686,21 @@   			temp = 0;   			for (k = 0; k < template[i].np; k++) {   				printk("page %u\n", k); @@ -3625,7 +3585,7 @@   			}   		}   	} -@@ -1180,6 +1224,14 @@ +@@ -1172,6 +1216,14 @@   		test_cipher("ecb(des3_ede)", DECRYPT, des3_ede_dec_tv_template,   			    DES3_EDE_DEC_TEST_VECTORS); @@ -3640,7 +3600,7 @@   		test_hash("md4", md4_tv_template, MD4_TEST_VECTORS);   		test_hash("sha224", sha224_tv_template, SHA224_TEST_VECTORS); -@@ -1390,6 +1442,14 @@ +@@ -1382,6 +1434,14 @@   			    DES3_EDE_ENC_TEST_VECTORS);   		test_cipher("ecb(des3_ede)", DECRYPT, des3_ede_dec_tv_template,   			    DES3_EDE_DEC_TEST_VECTORS); @@ -3655,7 +3615,7 @@   		break;   	case 5: -@@ -1558,7 +1618,7 @@ +@@ -1550,7 +1610,7 @@   	case 29:   		test_hash("tgr128", tgr128_tv_template, TGR128_TEST_VECTORS);   		break; @@ -3664,7 +3624,7 @@   	case 30:   		test_cipher("ecb(xeta)", ENCRYPT, xeta_enc_tv_template,   			    XETA_ENC_TEST_VECTORS); -@@ -1623,6 +1683,22 @@ +@@ -1615,6 +1675,22 @@   			    CTS_MODE_DEC_TEST_VECTORS);   		break; @@ -3687,7 +3647,7 @@   	case 100:   		test_hash("hmac(md5)", hmac_md5_tv_template,   			  HMAC_MD5_TEST_VECTORS); -@@ -1658,6 +1734,16 @@ +@@ -1650,6 +1726,16 @@   			  XCBC_AES_TEST_VECTORS);   		break; @@ -3704,7 +3664,7 @@   	case 200:   		test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,   				speed_template_16_24_32); -@@ -1796,6 +1882,22 @@ +@@ -1788,6 +1874,22 @@   		test_hash_speed("sha224", sec, generic_hash_speed_template);   		if (mode > 300 && mode < 400) break;  | 
