lkml.org 
[lkml]   [2016]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] wusbcore: Fix one more crypto-on-the-stack bug
    On Mon, Dec 12, 2016 at 1:44 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
    > On Mon, Dec 12, 2016 at 12:52:45PM -0800, Andy Lutomirski wrote:
    >> 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. Make the buffer static to fix it.
    >>
    >> Cc: stable@vger.kernel.org # 4.9 only
    >> Reported-by: Eric Biggers <ebiggers3@gmail.com>
    >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
    >> ---
    >> drivers/usb/wusbcore/crypto.c | 2 +-
    >> 1 file changed, 1 insertion(+), 1 deletion(-)
    >>
    >> diff --git a/drivers/usb/wusbcore/crypto.c b/drivers/usb/wusbcore/crypto.c
    >> index 79451f7ef1b7..a7e007a0cd49 100644
    >> --- a/drivers/usb/wusbcore/crypto.c
    >> +++ b/drivers/usb/wusbcore/crypto.c
    >> @@ -216,7 +216,7 @@ static int wusb_ccm_mac(struct crypto_skcipher *tfm_cbc,
    >> struct scatterlist sg[4], sg_dst;
    >> void *dst_buf;
    >> size_t dst_size;
    >> - const u8 bzero[16] = { 0 };
    >> + static const u8 bzero[16] = { 0 };
    >
    > Hm, can static memory handle DMA? That's a requirement of the USB
    > stack, does this data later end up being sent down to a USB host
    > controller?

    I think it doesn't, but I'll switch it to use empty_zero_page instead.

    --Andy

    \
     
     \ /
      Last update: 2016-12-13 00:58    [W:3.680 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site