Hi Marc, On Monday 02 Aug 2021 at 13:38:29 (+0100), Marc Zyngier wrote: > The HYP rodata section is currently lumped together with the BSS, > which isn't exactly what is expected (it gets registered with > kmemleak, for example). > > Move it away so that it is actually marked RO. As an added > benefit, it isn't registered with kmemleak anymore. 2d7bf218ca73 ("KVM: arm64: Add .hyp.data..ro_after_init ELF section") states explicitly that the hyp ro_after_init section should remain RW in the host as it is expected to modify it before initializing EL2. But I can't seem to trigger anything with this patch applied, so I'll look into this a bit more. > Fixes: 380e18ade4a5 ("KVM: arm64: Introduce a BSS section for use at Hyp") Not sure this is the patch to blame? > Suggested-by: Catalin Marinas <catalin.marinas@xxxxxxx> > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx #5.13 > --- > arch/arm64/kernel/vmlinux.lds.S | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S > index 709d2c433c5e..f6b1a88245db 100644 > --- a/arch/arm64/kernel/vmlinux.lds.S > +++ b/arch/arm64/kernel/vmlinux.lds.S > @@ -181,6 +181,8 @@ SECTIONS > /* everything from this point to __init_begin will be marked RO NX */ > RO_DATA(PAGE_SIZE) > > + HYPERVISOR_DATA_SECTIONS > + > idmap_pg_dir = .; > . += IDMAP_DIR_SIZE; > idmap_pg_end = .; > @@ -260,8 +262,6 @@ SECTIONS > _sdata = .; > RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_ALIGN) > > - HYPERVISOR_DATA_SECTIONS > - > /* > * Data written with the MMU off but read with the MMU on requires > * cache lines to be invalidated, discarding up to a Cache Writeback > -- > 2.30.2 Thanks, Quentin