summaryrefslogtreecommitdiffstats
path: root/drivers/misc/lkdtm_rodata.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2016-02-22 23:09:29 +0100
committerKees Cook <keescook@chromium.org>2016-06-11 00:57:50 +0200
commit9a49a528dcf3c2022ff89f700d5d0345b9abf288 (patch)
tree946dc7b2e73cf54e9b349f881970d47755060c42 /drivers/misc/lkdtm_rodata.c
parentlkdtm: clean up after rename (diff)
downloadlinux-9a49a528dcf3c2022ff89f700d5d0345b9abf288.tar.xz
linux-9a49a528dcf3c2022ff89f700d5d0345b9abf288.zip
lkdtm: add function for testing .rodata section
This adds a function that lives in the .rodata section. The section flags are corrected using objcopy since there is no way with gcc to declare section flags in an architecture-agnostic way. Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'drivers/misc/lkdtm_rodata.c')
-rw-r--r--drivers/misc/lkdtm_rodata.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/misc/lkdtm_rodata.c b/drivers/misc/lkdtm_rodata.c
new file mode 100644
index 000000000000..4d0d851f02b9
--- /dev/null
+++ b/drivers/misc/lkdtm_rodata.c
@@ -0,0 +1,10 @@
+/*
+ * This includes functions that are meant to live entirely in .rodata
+ * (via objcopy tricks), to validate the non-executability of .rodata.
+ */
+#include <linux/kernel.h>
+
+void lkdtm_rodata_do_nothing(void)
+{
+ /* Does nothing. We just want an architecture agnostic "return". */
+}