[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/boot: Restrict directmap permissions for .text/.rodata
On 24.03.2023 23:08, Andrew Cooper wrote: > While we've been diligent to ensure that the main text/data/rodata mappings > have suitable restrictions, their aliases via the directmap were left fully > read/write. Worse, we even had pieces of code making use of this as a > feature. > > Restrict the permissions for .text/rodata, as we have no legitimate need for > writeability of these areas via the directmap alias. Note that the > compile-time allocated pagetables do get written through their directmap > alias, so need to remain writeable. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > Notes: > * The stubs are still have RX via one alias, RW via another, and these need > to stay. We should harden this using PKS (available on SPR and later) to > block incidental writes. > * Backing memory for livepatch text/rodata needs similar treatment. Right, but there it's somewhat more involved because upon removal the attributes also need restoring. > * For backporting, this patch depends on c/s e7f147bf4ac7 ("x86/crash: Drop > manual hooking of exception_table[]") and c/s e7db635f4428 ("x86/pv-shim: > Don't modify the hypercall table"). No compile error will occur from > getting these dependencies wrong. I suppose the latter isn't strictly a prereq, as the modification was done from an __init function (i.e. before this new code runs). Iirc we didn't backport prior similar hardening work? So I'm not sure we'd want/need to do so in this case. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |