lkml.org 
[lkml]   [2013]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRE: [PATCH 3.4 01/25] crypto: scatterwalk - Set the chain pointer indication bit
Date
Hi Greg,

This patch is probably not needed in any of the stable branches, but if
you do add it you'll need to also include a patch that changes the use
of an sg_page to an sg_chain_ptr to prevent a BUG_ON when CONFIG_DEBUG_SG
is enabled (http://marc.info/?l=linux-crypto-vger&m=138627061905651&w=2).

Thanks,
Tom


-----Original Message-----
From: Greg Kroah-Hartman [mailto:gregkh@linuxfoundation.org]
Sent: Tuesday, December 10, 2013 2:00 AM
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman; stable@vger.kernel.org; Lendacky, Thomas; Herbert Xu
Subject: [PATCH 3.4 01/25] crypto: scatterwalk - Set the chain pointer indication bit

3.4-stable review patch. If anyone has any objections, please let me know.

------------------

From: Tom Lendacky <thomas.lendacky@amd.com>

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
include/crypto/scatterwalk.h | 1 +
1 file changed, 1 insertion(+)

--- a/include/crypto/scatterwalk.h
+++ b/include/crypto/scatterwalk.h
@@ -36,6 +36,7 @@ static inline void scatterwalk_sg_chain( {
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)





\
 
 \ /
  Last update: 2013-12-10 16:01    [W:0.100 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site