Messages in this thread | | | Date | Wed, 11 Nov 2020 13:52:06 +0000 | From | Marc Zyngier <> | Subject | Re: [PATCH v1 07/24] kvm: arm64: Create nVHE copy of cpu_logical_map |
| |
On 2020-11-11 13:45, David Brazdil wrote: > On Wed, Nov 11, 2020 at 01:29:29PM +0000, Marc Zyngier wrote: >> On 2020-11-11 13:03, David Brazdil wrote: >> > > > +/* >> > > > + * nVHE copy of data structures tracking available CPU cores. >> > > > + * Only entries for CPUs that were online at KVM init are populated. >> > > > + * Other CPUs should not be allowed to boot because their features were >> > > > + * not checked against the finalized system capabilities. >> > > > + */ >> > > > +u64 __ro_after_init __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] >> > > > = INVALID_HWID }; >> > > >> > > I'm not sure what __ro_after_init means once we get S2 isolation. >> > >> > It is stretching the definition of 'init' a bit, I know, but I don't see >> > what >> > your worry is about S2? The intention is to mark this read-only for >> > .hyp.text >> > at runtime. With S2, the host won't be able to write to it after KVM >> > init. >> > Obviously that's currently not the case. >> >> More importantly, EL2 can write to it at any time, which is the bit >> I'm >> worried >> about, as it makes the annotation misleading. > > EL2 can't, at least not accidentally. The hyp memory mapping is > PAGE_HYP_RO > (see patch 05).
Ah, I obviously overlooked that. Thanks for setting me straight.
> Shouldn't clash with include files. Where fixing the kernel might clash > is > all the users of for_each_*_cpu that use an int for the iterator var.
I don't think that's a problem (nobody expects that many CPUs). But if you are confident that we don't have a problem, no need to change the kernel itself.
M. -- Jazz is not dead. It just smells funny...
| |