[PATCH 4.13 099/160] mm: fix RODATA_TEST failure "rodata_test: test data was not read only"

From: Greg Kroah-Hartman
Date: Tue Oct 10 2017 - 16:22:09 EST


4.13-stable review patch. If anyone has any objections, please let me know.

------------------

From: Christophe Leroy <christophe.leroy@xxxxxx>

commit a872eb2131e91ce7c89a8888974a5e22a272b12f upstream.

On powerpc, RODATA_TEST fails with message the following messages:

Freeing unused kernel memory: 528K
rodata_test: test data was not read only

This is because GCC allocates it to .data section:

c0695034 g O .data 00000004 rodata_test_data

Since commit 056b9d8a7692 ("mm: remove rodata_test_data export, add
pr_fmt"), rodata_test_data is used only inside rodata_test.c By
declaring it static, it gets properly allocated into .rodata section
instead of .data:

c04df710 l O .rodata 00000004 rodata_test_data

Fixes: 056b9d8a7692 ("mm: remove rodata_test_data export, add pr_fmt")
Link: http://lkml.kernel.org/r/20170921093729.1080368AC1@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Jinbum Park <jinb.park7@xxxxxxxxx>
Cc: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx>
Cc: David Laight <David.Laight@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
mm/rodata_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/mm/rodata_test.c
+++ b/mm/rodata_test.c
@@ -14,7 +14,7 @@
#include <linux/uaccess.h>
#include <asm/sections.h>

-const int rodata_test_data = 0xC3;
+static const int rodata_test_data = 0xC3;

void rodata_test(void)
{