On Mon, Mar 6, 2017 at 10:11 AM, Kees Cook <keesc...@chromium.org> wrote: > On Fri, Mar 3, 2017 at 7:23 PM, Daniel Borkmann <dan...@iogearbox.net> wrote: >> Latter shows that memory protecting the kernel seems not working either >> on i386 (!). Test suite output: >> >> [...] >> [ 12.692836] Write protecting the kernel text: 13416k >> [ 12.693309] Write protecting the kernel read-only data: 5292k >> [ 12.693802] rodata_test: test data was not read only >> [...] >> >> Work-around to not enable ARCH_HAS_SET_MEMORY for i386 is not optimal >> as it doesn't fix the issue in presumably broken set_memory_*(), but >> it at least avoids people avoid having to deal with random corruptions >> that are hard to track down for the time being until a real fix can >> be found. > > Wow. Uhm, so, something must be _really_ broken. i386 should have no > problem with using the set_memory_*() functions. The fact that > DEBUG_RODATA_TEST failed is also pretty crazy, but may be unrelated > (that test was just refactored too).
I'm not able to reproduce this. I built Linus's tree and rodata_test passes for me on i386. I tried the .config from Fengguang (with RODATA_TEST=y added), but it still passes for me: https://lkml.org/lkml/2017/3/1/344 I wonder if something change changed already in the tree? Can you still reproduce this? -Kees -- Kees Cook Pixel Security