aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/cmd/stackprot_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/cmd/stackprot_test.c')
-rw-r--r--roms/u-boot/cmd/stackprot_test.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/roms/u-boot/cmd/stackprot_test.c b/roms/u-boot/cmd/stackprot_test.c
new file mode 100644
index 000000000..1e26193e8
--- /dev/null
+++ b/roms/u-boot/cmd/stackprot_test.c
@@ -0,0 +1,26 @@
+// 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) = %ld\n", strlen(a));
+
+ return 0;
+}
+
+U_BOOT_CMD(stackprot_test, 1, 1, do_test_stackprot_fail,
+ "test stack protector fail", "");