On Sun, Dec 01, 2019 at 06:49:32PM -0800, Eric Dumazet wrote: > Thanks for the link ! > > Having RO protection as a debug feature would be useful. > > I believe we have CONFIG_STRICT_MODULE_RWX (and CONFIG_STRICT_KERNEL_RWX) for that already. > > Or are we saying we also want to get rid of them ? No, in fact I'm working on making that stronger. We currently still have a few cases that violate the W^X rule. The thing is, when the BPF stuff is JIT'ed, the actual BPF instruction page is not actually executed at all, so making it RO serves no purpose, other than to fragment the direct map. All actual code lives in the 2G range that x86_64 can directly branch to, but this BPF instruction stuff lives in the general data heap and can thus cause much more fragmentation of the direct map.