aboutsummaryrefslogtreecommitdiffstats
path: root/mm/rodata_test.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-05-03 17:53:32 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-03 18:52:09 -0400
commit056b9d8a76924df02011f3941c4f53ace8d6c32a (patch)
treeb5508463daeaab5186ed3020da3bed867bcdfea4 /mm/rodata_test.c
parent9ab2594febb468964a4c00f8023ec22073ca8716 (diff)
mm: remove rodata_test_data export, add pr_fmt
Since commit 3ad38ceb2769 ("x86/mm: Remove CONFIG_DEBUG_NX_TEST"), nothing is using the exported rodata_test_data variable, so drop the export. This additionally updates the pr_fmt to avoid redundant strings and adjusts some whitespace. Link: http://lkml.kernel.org/r/20170307005313.GA85809@beast Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Jinbum Park <jinb.park7@gmail.com> Cc: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/rodata_test.c')
-rw-r--r--mm/rodata_test.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/mm/rodata_test.c b/mm/rodata_test.c
index 0fd21670b513..6bb4deb12e78 100644
--- a/mm/rodata_test.c
+++ b/mm/rodata_test.c
@@ -9,11 +9,12 @@
9 * as published by the Free Software Foundation; version 2 9 * as published by the Free Software Foundation; version 2
10 * of the License. 10 * of the License.
11 */ 11 */
12#define pr_fmt(fmt) "rodata_test: " fmt
13
12#include <linux/uaccess.h> 14#include <linux/uaccess.h>
13#include <asm/sections.h> 15#include <asm/sections.h>
14 16
15const int rodata_test_data = 0xC3; 17const int rodata_test_data = 0xC3;
16EXPORT_SYMBOL_GPL(rodata_test_data);
17 18
18void rodata_test(void) 19void rodata_test(void)
19{ 20{
@@ -23,20 +24,20 @@ void rodata_test(void)
23 /* test 1: read the value */ 24 /* test 1: read the value */
24 /* If this test fails, some previous testrun has clobbered the state */ 25 /* If this test fails, some previous testrun has clobbered the state */
25 if (!rodata_test_data) { 26 if (!rodata_test_data) {
26 pr_err("rodata_test: test 1 fails (start data)\n"); 27 pr_err("test 1 fails (start data)\n");
27 return; 28 return;
28 } 29 }
29 30
30 /* test 2: write to the variable; this should fault */ 31 /* test 2: write to the variable; this should fault */
31 if (!probe_kernel_write((void *)&rodata_test_data, 32 if (!probe_kernel_write((void *)&rodata_test_data,
32 (void *)&zero, sizeof(zero))) { 33 (void *)&zero, sizeof(zero))) {
33 pr_err("rodata_test: test data was not read only\n"); 34 pr_err("test data was not read only\n");
34 return; 35 return;
35 } 36 }
36 37
37 /* test 3: check the value hasn't changed */ 38 /* test 3: check the value hasn't changed */
38 if (rodata_test_data == zero) { 39 if (rodata_test_data == zero) {
39 pr_err("rodata_test: test data was changed\n"); 40 pr_err("test data was changed\n");
40 return; 41 return;
41 } 42 }
42 43
@@ -44,13 +45,13 @@ void rodata_test(void)
44 start = (unsigned long)__start_rodata; 45 start = (unsigned long)__start_rodata;
45 end = (unsigned long)__end_rodata; 46 end = (unsigned long)__end_rodata;
46 if (start & (PAGE_SIZE - 1)) { 47 if (start & (PAGE_SIZE - 1)) {
47 pr_err("rodata_test: start of .rodata is not page size aligned\n"); 48 pr_err("start of .rodata is not page size aligned\n");
48 return; 49 return;
49 } 50 }
50 if (end & (PAGE_SIZE - 1)) { 51 if (end & (PAGE_SIZE - 1)) {
51 pr_err("rodata_test: end of .rodata is not page size aligned\n"); 52 pr_err("end of .rodata is not page size aligned\n");
52 return; 53 return;
53 } 54 }
54 55
55 pr_info("rodata_test: all tests were successful\n"); 56 pr_info("all tests were successful\n");
56} 57}