Messages in this thread | | | Subject | Re: [announce] [patch] NX (No eXecute) support for x86, 2.6.7-rc2-bk2 | From | Andi Kleen <> | Date | Thu, 03 Jun 2004 11:43:10 +0200 |
| |
Ingo Molnar <mingo@elte.hu> writes:
> * Rusty Russell <rusty@rustcorp.com.au> wrote: > >> You want to replace the arch-specific module_alloc() function for >> this. Or even better, reset the NX bit only on executable sections (in >> the arch-specific module_finalize(), using mod->core_text_size and >> mod->init_text_size). No generic changes necessary. > > this reminds me of another issue: x86_64 currently seems to manually map > the whole module via PAGE_KERNEL_EXEC. Andi, we could change it to use > vmalloc_exec(), right?
Nope, the manual map is needed. On x86-64 kernels are linked in the "kernel" code model and the modules must be within 2GB of the main kernel text. vmalloc space is elsewhere.
To fix this you would need to link the modules with -fPIC and add a full dynamic linker to the module loader, which would probably not be worth the effort.
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |