mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2026-01-24 09:10:01 +00: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