Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 25 Oct 2022 11:14:07 -0700 | Subject | Re: [PATCH] x86/mm: Do not verify W^X at boot up |
| |
On Tue, Oct 25, 2022 at 10:48 AM Peter Zijlstra <peterz@infradead.org> wrote: > > mm_alloc() uses allocate_mm() which requires a kmem_cache to be set-up.
Well, that seems to be just a strange effect of mm_cachep being set up by the oddly named "proc_caches_init" (I say oddly named because these days I associate "proc" with proc-fs, but I think it actually comes from "process").
That would actually probably make more sense if it was part of mm_init(), much earlier (where we do "kmem_cache_init()")
So this is another oddity in how we do "mm_init()", but we haven't actually initialized _that_ part of the mm setup.
Extra bonus points for another strange thing: we have "fork_init()", but that too doesn't actually initialize the mm_cachep that fork() actually uses. It does initialize the process one (task_struct_cachep). So that kind of makes sense, but yeah, the mm_alloc() cachep should have been set up by mm_init.
I think this is all "we just ended up randomly initializing things due to hysterical raisins"
Linus
| |