Re: [PATCH v2] keys/encrypted: Fix two crypto-on-the-stack bugs

From: Andy Lutomirski
Date: Tue Dec 13 2016 - 22:00:13 EST


On Tue, Dec 13, 2016 at 6:48 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
> The driver put a constant buffer of all zeros on the stack and
> pointed a scatterlist entry at it in two places. This doesn't work
> with virtual stacks. Use ZERO_PAGE instead.

Wait a second...

> - sg_set_buf(&sg_out[1], pad, sizeof pad);
> + sg_set_buf(&sg_out[1], empty_zero_page, 16);

My fix here is obviously bogus (I meant to use ZERO_PAGE(0)), but what
exactly is the code trying to do? The old code makes no sense. It's
setting the *output* buffer to zeroed padding.

--Andy