[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 6/6] x86/boot: Drop INVALID_VCPU
On 07.01.2020 19:07, Andrew Cooper wrote: > On 07/01/2020 16:52, Jan Beulich wrote: >> On 06.01.2020 16:54, Andrew Cooper wrote: >>> --- a/xen/arch/x86/setup.c >>> +++ b/xen/arch/x86/setup.c >>> @@ -705,7 +705,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) >>> /* Critical region without IDT or TSS. Any fault is deadly! */ >>> >>> set_processor_id(0); >>> - set_current(INVALID_VCPU); /* debug sanity. */ >>> + set_current(NULL); /* debug sanity. */ >>> idle_vcpu[0] = current; >> Is any of this actually changing any value in memory? > > Yes. Observe: > > /* Set up stack. */ > lea STACK_SIZE + sym_esi(cpu0_stack), %esp > > twice in head.S, meaning that the top-of-stack block is junk at this point. Why junk, when we have char __section(".bss.stack_aligned") __aligned(STACK_SIZE) cpu0_stack[STACK_SIZE]; > Explicitly setting it to NULL here seems like a safer option than > trusting that noone has actually used the stack yet. The actual "stack" part of cpu0_stack[] may have been used already, but the top-of-stack block ought to be untouched, or else we have other problems. Anyway, I don't heavily mind writing several zeros over what is already zero here, it just seems pretty pointless (and increasingly so by you now writing yet another zero). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |