Messages in this thread | | | Date | Wed, 5 Apr 2023 19:40:59 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH v5 02/27] x86/build: Remove RWX sections and align on 4KB |
| |
On Tue, Mar 14, 2023 at 01:13:29PM +0300, Evgeniy Baskov wrote: > Avoid creating sections simultaneously writable and readable to prepare > for W^X implementation for the kernel itself (not the decompressor). > Align kernel sections on page size (4KB) to allow protecting them in the > page tables. > > Split init code form ".init" segment into separate R_X ".inittext"
s/form/from/
> segment and make ".init" segment non-executable.
"... and make the .init segment RW_."
> Also add these segments to x86_32 architecture for consistency.
Same comment as before: please refrain from talking about the *what* in a commit message but about the *why*.
And considering the matter, you have a *lot* of *why* to talk about. :-)
Pls check your whole set.
> Currently paging is disabled in x86_32 in compressed kernel, so > protection is not applied anyways, but .init code was incorrectly > placed in non-executable ".data" segment. This should not change > anything meaningful in memory layout now, but might be required in case > memory protection will also be implemented in compressed kernel for > x86_32.
I highly doubt that - no one cares about 32-bit x86 anymore.
> @@ -226,9 +225,10 @@ SECTIONS > #endif > > INIT_TEXT_SECTION(PAGE_SIZE) > -#ifdef CONFIG_X86_64 > - :init > -#endif > + :inittext > + > + . = ALIGN(PAGE_SIZE); > + > > /* > * Section for code used exclusively before alternatives are run. All > @@ -240,6 +240,7 @@ SECTIONS > .altinstr_aux : AT(ADDR(.altinstr_aux) - LOAD_OFFSET) { > *(.altinstr_aux) > } > + :init
Why isn't this placed after inittext but here?
I'm thinking you wanna have:
:inittext . = ALIGN.. :init <rest>
Thx.
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |