blob: f3470288faccb1a7146ab5be3e8fe3a031c2c506 [file] [log] [blame]
Joel Peshkin4e9bce12021-04-11 11:21:58 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2021 Broadcom
4 */
5
6#include <common.h>
7#include <command.h>
8
9static int do_test_stackprot_fail(struct cmd_tbl *cmdtp, int flag, int argc,
10 char *const argv[])
11{
Tom Rini2fc62f22021-05-24 14:19:05 -040012 /*
13 * In order to avoid having the compiler optimize away the stack smashing
14 * we need to do a little something here.
15 */
Joel Peshkin4e9bce12021-04-11 11:21:58 +020016 char a[128];
17
18 memset(a, 0xa5, 512);
Tom Rini2fc62f22021-05-24 14:19:05 -040019
Heinrich Schuchardt63de0672022-02-04 10:50:04 +010020 printf("We have smashed our stack as this should not exceed 128: sizeof(a) = %zd\n",
21 strlen(a));
Tom Rini2fc62f22021-05-24 14:19:05 -040022
Joel Peshkin4e9bce12021-04-11 11:21:58 +020023 return 0;
24}
25
26U_BOOT_CMD(stackprot_test, 1, 1, do_test_stackprot_fail,
27 "test stack protector fail", "");