On Sun, Jul 11, 2021 at 08:25:14PM -0700, Michael Kelley wrote: [...] > +int hv_common_cpu_init(unsigned int cpu) > +{ > + void **inputarg, **outputarg; > + u64 msr_vp_index; > + gfp_t flags; > + int pgcount = hv_root_partition ? 2 : 1; > + > + /* hv_cpu_init() can be called with IRQs disabled from hv_resume() */ > + flags = irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL; > + > + inputarg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg); > + *inputarg = kmalloc(pgcount * HV_HYP_PAGE_SIZE, flags); This is changed from alloc_pages to kmalloc. Does it ensure the alignment is still correct? Wei.