Thread (8 messages) flat view 8 messages, 4 authors, 2017-10-02

Re: [PATCH] mm: fix RODATA_TEST failure "rodata_test: test data was not read only"

From: Segher Boessenkool <hidden>
Date: 2017-09-25 07:37:44
Also in: linux-mm, lkml

On Sun, Sep 24, 2017 at 12:17:51PM -0700, Kees Cook wrote:
On Thu, Sep 21, 2017 at 2:37 AM, Christophe Leroy
[off-list ref] wrote:
quoted
On powerpc, RODATA_TEST fails with message the following messages:

[    6.199505] Freeing unused kernel memory: 528K
[    6.203935] 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
Uuuh... that seems like a compiler bug. It's marked "const" -- it
should never end up in .data. I would argue that this has done exactly
what it was supposed to do, and shows that something has gone wrong.
It should always be const. Adding "static" should just change
visibility. (I'm not opposed to the static change, but it seems to
paper over a problem with the compiler...)
The compiler puts this item in .sdata, for 32-bit.  There is no .srodata,
so if it wants to use a small data section, it must use .sdata .

Non-external, non-referenced symbols are not put in .sdata, that is the
difference you see with the "static".

I don't think there is a bug here.  If you think there is, please open
a GCC bug.


Segher
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help