mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
tools/nolibc: tests: use volatile to force stack smashing
Use a volatile pointer to write outside the buffer so the compiler can't optimize it away. Reported-by: Alexey Dobriyan <adobriyan@gmail.com> Link: https://lore.kernel.org/lkml/c0584807-511c-4496-b062-1263ea38f349@p183/ Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
ac9a78681b
commit
e7654c3fbd
|
|
@ -667,17 +667,13 @@ int run_stdlib(int min, int max)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if defined(__clang__)
|
||||
__attribute__((optnone))
|
||||
#elif defined(__GNUC__)
|
||||
__attribute__((optimize("O0")))
|
||||
#endif
|
||||
static int smash_stack(void)
|
||||
{
|
||||
char buf[100];
|
||||
volatile char *ptr = buf;
|
||||
|
||||
for (size_t i = 0; i < 200; i++)
|
||||
buf[i] = 'P';
|
||||
ptr[i] = 'P';
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user