[V2] crypto: ccp - Rearrange structure members to minimize size
diff mbox

Message ID 20170328155725.9578.85077.stgit@taos
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Gary R Hook March 28, 2017, 3:57 p.m. UTC
The AES GCM function (in ccp-ops) requires a fair amount of
stack space, which elicits a complaint when KASAN is enabled.
Rearranging and packing a few structures eliminates the
warning.

Signed-off-by: Gary R Hook <gary.hook@amd.com>
---
 drivers/crypto/ccp/ccp-dev.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Herbert Xu April 5, 2017, 2:10 p.m. UTC | #1
On Tue, Mar 28, 2017 at 10:57:26AM -0500, Gary R Hook wrote:
> The AES GCM function (in ccp-ops) requires a fair amount of
> stack space, which elicits a complaint when KASAN is enabled.
> Rearranging and packing a few structures eliminates the
> warning.
> 
> Signed-off-by: Gary R Hook <gary.hook@amd.com>

Patch applied.  Thanks.

Patch
diff mbox

diff --git a/drivers/crypto/ccp/ccp-dev.h b/drivers/crypto/ccp/ccp-dev.h
index 3a45c2a..191274d 100644
--- a/drivers/crypto/ccp/ccp-dev.h
+++ b/drivers/crypto/ccp/ccp-dev.h
@@ -427,33 +427,33 @@  enum ccp_memtype {
 };
 #define	CCP_MEMTYPE_LSB	CCP_MEMTYPE_KSB
 
+
 struct ccp_dma_info {
 	dma_addr_t address;
 	unsigned int offset;
 	unsigned int length;
 	enum dma_data_direction dir;
-};
+} __packed __aligned(4);
 
 struct ccp_dm_workarea {
 	struct device *dev;
 	struct dma_pool *dma_pool;
-	unsigned int length;
 
 	u8 *address;
 	struct ccp_dma_info dma;
+	unsigned int length;
 };
 
 struct ccp_sg_workarea {
 	struct scatterlist *sg;
 	int nents;
+	unsigned int sg_used;
 
 	struct scatterlist *dma_sg;
 	struct device *dma_dev;
 	unsigned int dma_count;
 	enum dma_data_direction dma_dir;
 
-	unsigned int sg_used;
-
 	u64 bytes_left;
 };