On Mon, Aug 8, 2011 at 4:07 PM, Mandeep Singh Baines <msb@xxxxxxxxxxxx> wrote: > > There is no loss of security due to removing the memset. It would be a > bug for the stack to leak to userspace. However, a defence-in-depth > argument could be made for keeping the clearing of the workspace. So I'm nervous about this just because I can see the security crazies rising up about this. The fact is, in our current code in drivers/char/random.c, we do have a memset() of the workspace buffer on the stack, and any competent compiler should actually just remove it, because it's dead memory (and the compiler can *see* that it's dead memory). Of course, I don't know if gcc does notice that, but it's a prime example of code that "looks" secure, but has absolutely zero actual real security. Getting rid of the memset() is actually better for *real* security, in that at least it's not some kind of pointless security theater. But I can see some people wanting to add a memory barrier or something to force the memset() to actually take place. So I dunno. Arguably it's theoretically possible to find random data on the stack, and maybe it can even be interesting (although I don't think the last 64 bytes of SHA1 state is all that exciting myself). Personally, I consider it unlikely as hell to be relevant to anybody, and anybody who has access to the kernel stack has *much* more direct security holes than some random data that they can use. But the patch still makes me worry about the brouhaha from some people. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html