Patch "wusbcore: Fix one more crypto-on-the-stack bug" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
wusbcore: Fix one more crypto-on-the-stack bug
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
wusbcore-fix-one-more-crypto-on-the-stack-bug.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
620f1a632ebcc9811c2f8009ba52297c7006f805Mon Sep 17 00:00:00 2001
From: Andy Lutomirski <[email protected]>
Date: Tue, 13 Dec 2016 18:50:13 -0800
Subject: wusbcore: Fix one more crypto-on-the-stack bug
From: Andy Lutomirski <[email protected]>
commit 620f1a632ebcc9811c2f8009ba52297c7006f805 upstream.
The driver put a constant buffer of all zeros on the stack and pointed a scatterlist entry at it. This doesn't work with virtual stacks. Use ZERO_PAGE instead.
--- drivers/usb/wusbcore/crypto.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/usb/wusbcore/crypto.c +1 -2
@@ -216,7 +216,6 @@ static int wusb_ccm_mac(struct crypto_skstruct scatterlist sg[4 ], sg_dst;void *dst_buf;size_t dst_size; -const u8 bzero[16 ] = {0 };u8 iv[crypto_skcipher_ivsize (tfm_cbc)];size_t zero_padding;
@@ -261,7 +260,7 @@ static int wusb_ccm_mac(struct crypto_sksg_set_buf (&sg[1 ], &scratch->b1,sizeof (scratch->b1));sg_set_buf (&sg[2 ], b, blen);/* 0 if well behaved :) */ -sg_set_buf (&sg[3 ], bzero, zero_padding); +sg_set_page (&sg[3 ],ZERO_PAGE (0 ), zero_padding,0 );sg_init_one (&sg_dst, dst_buf, dst_size);skcipher_request_set_tfm (req, tfm_cbc);
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/x86-cpu-amd-fix-bulldozer-topology.patch queue-4.9/wusbcore-fix-one-more-crypto-on-the-stack-bug.patch