ARM: Fix XIP kernels
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 16 Nov 2016 23:51:19 +0000 (23:51 +0000)
committerRussell King <rmk+kernel@armlinux.org.uk>
Wed, 16 Nov 2016 23:51:19 +0000 (23:51 +0000)
commit2a3811068fbc6bf09bb09d166b65394b091c1085
treeb36ee4e768c27bd0929b4b4f1f7341f997da21e7
parent256ff1cf6b44cba9c9c2059f4516259e9319a808
ARM: Fix XIP kernels

Commit 7619751f8c90 ("ARM: 8595/2: apply more __ro_after_init") caused
a regression with XIP kernels by moving the __ro_after_init data into
the read-only section.  With XIP kernels, the read-only section is
located in read-only memory from the very beginning.

Work around this by moving the __ro_after_init data back into the .data
section, which will be in RAM, and hence will be writable.

It should be noted that in doing so, this remains writable after init.

Fixes: 7619751f8c90 ("ARM: 8595/2: apply more __ro_after_init")
Reported-by: Andrea Merello <andrea.merello@gmail.com>
Tested-by: Andrea Merello <andrea.merello@gmail.com> [ XIP stm32 ]
Tested-by: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/vmlinux-xip.lds.S