[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 1/2] x86/smp: use a dedicated CPU mask in send_IPI_mask

On 28.02.2020 13:07, Roger Pau Monne wrote:
> Some callers of send_IPI_mask pass the scratch cpumask as the mask
> parameter of send_IPI_mask, so the scratch cpumask cannot be used by
> the function. The following trace has been obtained with a debug patch
> and shows one of those callers:
> (XEN) scratch CPU mask already in use by 
> arch/x86/mm.c#_get_page_type+0x1f9/0x1abf
> (XEN) Xen BUG at smp.c:45
> [...]
> (XEN) Xen call trace:
> (XEN)    [<ffff82d0802abb53>] R scratch_cpumask+0xd3/0xf9
> (XEN)    [<ffff82d0802abc21>] F send_IPI_mask+0x72/0x1ca
> (XEN)    [<ffff82d0802ac13e>] F flush_area_mask+0x10c/0x16c
> (XEN)    [<ffff82d080296c56>] F arch/x86/mm.c#_get_page_type+0x3ff/0x1abf
> (XEN)    [<ffff82d080298324>] F get_page_type+0xe/0x2c
> (XEN)    [<ffff82d08038624f>] F pv_set_gdt+0xa1/0x2aa
> (XEN)    [<ffff82d08027dfd6>] F arch_set_info_guest+0x1196/0x16ba
> (XEN)    [<ffff82d080207a55>] F default_initialise_vcpu+0xc7/0xd4
> (XEN)    [<ffff82d08027e55b>] F arch_initialise_vcpu+0x61/0xcd
> (XEN)    [<ffff82d080207e78>] F do_vcpu_op+0x219/0x690
> (XEN)    [<ffff82d08038be16>] F pv_hypercall+0x2f6/0x593
> (XEN)    [<ffff82d080396432>] F lstar_enter+0x112/0x120
> _get_page_type will use the scratch cpumask to call flush_tlb_mask,
> which in turn calls send_IPI_mask.
> Fix this by using a dedicated per CPU cpumask in send_IPI_mask.
> Fixes: 5500d265a2a8 ('x86/smp: use APIC ALLBUT destination shorthand when 
> possible')
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.