Re: [PATCH] lkdtm: hide stack overflow warning for corrupt-stack test

From: Michael Ellerman
Date: Mon Jan 16 2017 - 05:23:47 EST


Arnd Bergmann <arnd@xxxxxxxx> writes:

> After the latest change to make sure the compiler actually does a memset,
> it is now smart enough to flag the stack overflow at compile time,
> at least with gcc-7.0:
>
> drivers/misc/lkdtm_bugs.c: In function 'lkdtm_CORRUPT_STACK':
> drivers/misc/lkdtm_bugs.c:88:144: warning: 'memset' writing 64 bytes into a region of size 8 overflows the destination [-Wstringop-overflow=]
>
> To outsmart the compiler again, this moves the memset into a noinline
> function where (for now) it doesn't see that we intentionally write
> broken code here.

Heh, darn it.

I suspect this is an arms race we are eventually going to lose. At some
point we might have to switch to writing some of these in asm :/

cheers