Thread (7 messages) flat view 7 messages, 3 authors, 2017-03-08

Re: [PATCH net] bpf: disable broken write protection on i386

From: Kees Cook <hidden>
Date: 2017-03-08 18:42:03

On Mon, Mar 6, 2017 at 10:11 AM, Kees Cook [off-list ref] wrote:
On Fri, Mar 3, 2017 at 7:23 PM, Daniel Borkmann [off-list ref] wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help