Re: Kernel Panics on Xen ARM64 for Domain0 and Guest

From: Julien Grall
Date: Thu Dec 01 2016 - 12:32:57 EST




On 28/11/16 15:29, tj@xxxxxxxxxx wrote:
Hello,

Hello,

On Mon, Nov 28, 2016 at 11:59:15AM +0000, Julien Grall wrote:
commit 3ca45a46f8af8c4a92dd8a08eac57787242d5021
percpu: ensure the requested alignment is power of two

It would have been useful to specify the tree used. In this case,
this commit comes from linux-next.

I'm surprised this actually triggered.

diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index f193414..4986dc0 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -372,8 +372,7 @@ static int __init xen_guest_init(void)
* for secondary CPUs as they are brought up.
* For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
*/
- xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info),
- sizeof(struct vcpu_info));
+ xen_vcpu_info = alloc_percpu(struct vcpu_info);
if (xen_vcpu_info == NULL)
return -ENOMEM;

Yes, this looks correct. Can you please cc stable too? percpu
allocator never supported alignments which aren't power of two and has
always behaved incorrectly with alignments which aren't power of two.

I will send the patch soon with stable CCed.

Regards,

--
Julien Grall