Michal Suchánek <msucha...@suse.de> writes:
> On Thu, Sep 29, 2022 at 05:16:40PM -0500, Nathan Lynch wrote:
>> Haren Myneni <ha...@linux.ibm.com> writes:
>> > Generally the hypervisor decides to allocate a window on different
>> > VAS instances. But if the user space wishes to allocate on the
>> > current VAS instance where the process is executing, the kernel has
>> > to pass associativity domain IDs to allocate VAS window HCALL. To
>> > determine the associativity domain IDs for the current CPU, passing
>> > smp_processor_id() to node associativity HCALL which may return
>> > H_P2 (-55) error during DLPAR CPU event.
>> >
>> > This patch fixes this issue by passing hard_smp_processor_id() with
>> > VPHN_FLAG_VCPU flag (PAPR 14.11.6.1 H_HOME_NODE_ASSOCIATIVITY).
>> >
>> > Signed-off-by: Haren Myneni <ha...@linux.ibm.com>
>> > ---
>> >  arch/powerpc/platforms/pseries/vas.c | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/arch/powerpc/platforms/pseries/vas.c 
>> > b/arch/powerpc/platforms/pseries/vas.c
>> > index fe33bdb620d5..533026fd1f40 100644
>> > --- a/arch/powerpc/platforms/pseries/vas.c
>> > +++ b/arch/powerpc/platforms/pseries/vas.c
>> > @@ -348,7 +348,7 @@ static struct vas_window *vas_allocate_window(int 
>> > vas_id, u64 flags,
>> >             * So no unpacking needs to be done.
>> >             */
>> >            rc = plpar_hcall9(H_HOME_NODE_ASSOCIATIVITY, domain,
>> > -                            VPHN_FLAG_VCPU, smp_processor_id());
>> > +                            VPHN_FLAG_VCPU, hard_smp_processor_id());
>> >            if (rc != H_SUCCESS) {
>> >                    pr_err("H_HOME_NODE_ASSOCIATIVITY error: %d\n", rc);
>> >                    goto out;
>> 
>> Yes, it is always wrong to pass Linux CPU numbers to the hypervisor,
>> which has its own numbering for hardware threads. It usually coincides
>> with Linux's numbering in practice, which tends to hide bugs like this.
>> 
>> Reviewed-by: Nathan Lynch <nath...@linux.ibm.com>
>
> This is the code that introduces the problem, right?
>
> Fixes: b22f2d88e435 ("powerpc/pseries/vas: Integrate API with open/close 
> windows")

Yeah, I tagged it when applying. Thanks.

cheers

Reply via email to