aboutsummaryrefslogtreecommitdiff
path: root/cmd/stackprot_test.c
blob: f3470288faccb1a7146ab5be3e8fe3a031c2c506 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// SPDX-License-Identifier: GPL-2.0+
/*
 *  Copyright 2021 Broadcom
 */

#include <common.h>
#include <command.h>

static int do_test_stackprot_fail(struct cmd_tbl *cmdtp, int flag, int argc,
				  char *const argv[])
{
	/*
	 * In order to avoid having the compiler optimize away the stack smashing
	 * we need to do a little something here.
	 */
	char a[128];

	memset(a, 0xa5, 512);

	printf("We have smashed our stack as this should not exceed 128: sizeof(a) = %zd\n",
	       strlen(a));

	return 0;
}

U_BOOT_CMD(stackprot_test, 1, 1, do_test_stackprot_fail,
	   "test stack protector fail", "");