diff mbox

[3.8.y.z,extended,stable] Patch "crypto: scatterwalk - Set the chain pointer indication bit" has been added to staging queue

Message ID 986457BC66A4884EBFFDEFEBEB20F84C0BCA0D61@satlexdag03.amd.com
State New
Headers show

Commit Message

Tom Lendacky Dec. 20, 2013, 8:35 p.m. UTC
Hi Kamal,

Please also include the patch with commit id of 389a5390583a18e45bc4abd4439291abec5e7a63.  It fixes a BUG_ON caused by the below patch when CONFIG_DEBUG_SG is enabled.

Thanks,
Tom

-----Original Message-----
From: Kamal Mostafa [mailto:kamal@canonical.com] 
Sent: Friday, December 20, 2013 2:21 PM
To: Lendacky, Thomas
Cc: Herbert Xu; Kamal Mostafa; kernel-team@lists.ubuntu.com
Subject: [3.8.y.z extended stable] Patch "crypto: scatterwalk - Set the chain pointer indication bit" has been added to staging queue

This is a note to let you know that I have just added a patch titled

    crypto: scatterwalk - Set the chain pointer indication bit

to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue

This patch is scheduled to be released in version 3.8.13.15.

If you, or anyone else, feels it should not be added to this tree, please reply to this email.

For more information about the 3.8.y.z tree, see https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Kamal

------

From ef845ea48f30c4475934b9e71b5ca3186719e458 Mon Sep 17 00:00:00 2001
From: Tom Lendacky <thomas.lendacky@amd.com>
Date: Tue, 12 Nov 2013 11:46:10 -0600
Subject: crypto: scatterwalk - Set the chain pointer indication bit

commit 41da8b5adba77e22584f8b45f9641504fa885308 upstream.

The scatterwalk_crypto_chain function invokes the scatterwalk_sg_chain function to chain two scatterlists, but the chain pointer indication bit is not set.  When the resulting scatterlist is used, for example, by sg_nents to count the number of scatterlist entries, a segfault occurs because sg_nents does not follow the chain pointer to the chained scatterlist.

Update scatterwalk_sg_chain to set the chain pointer indication bit as is done by the sg_chain function.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 include/crypto/scatterwalk.h | 1 +
 1 file changed, 1 insertion(+)
diff mbox

Patch

diff --git a/include/crypto/scatterwalk.h b/include/crypto/scatterwalk.h index 3744d2a..09ef1a0 100644
--- a/include/crypto/scatterwalk.h
+++ b/include/crypto/scatterwalk.h
@@ -36,6 +36,7 @@  static inline void scatterwalk_sg_chain(struct scatterlist *sg1, int num,  {
 	sg_set_page(&sg1[num - 1], (void *)sg2, 0, 0);
 	sg1[num - 1].page_link &= ~0x02;
+	sg1[num - 1].page_link |= 0x01;
 }

 static inline struct scatterlist *scatterwalk_sg_next(struct scatterlist *sg)
--
1.8.3.2