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

Re: [PATCH] tools/xl: vcpu-pin: Skip global affinity when the hard affinity is not changed



On Thu, Apr 30, 2020 at 12:00:51PM +0100, Julien Grall wrote:
> From: Julien Grall <jgrall@xxxxxxxxxx>
> 
> After XSA-273, it is not possible to modify the vCPU soft affinity using
> xl vcpu-pin without modifying the hard affinity. Instead the command
> will crash.
> 
> 42sh> gdb /usr/local/sbin/xl
> (gdb) r vcpu-pin 0 0 - 10
> [...]
> Program received signal SIGSEGV, Segmentation fault.
> [...]
> (gdb) bt
> 
> This is happening because 'xl' will use NULL when an affinity doesn't
> need to be modified. However, we will still try to apply the global
> affinity in the this case.
> 
> As the hard affinity is not changed, then we don't need to apply the
> global affinity. So skip it when hard is NULL.
> 
> Backport: 4.6+ # Any release with XSA-273
> Fixes: aa67b97ed342 ("xl.conf: Add global affinity masks")
> Reported-by: Pawel Wieczorkiewicz <wipawel@xxxxxxxxx>
> Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>

Acked-by: Wei Liu <wl@xxxxxxx>

> ---
>  tools/xl/xl_vcpu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/xl/xl_vcpu.c b/tools/xl/xl_vcpu.c
> index 9ff5354f749b..66877a57dee4 100644
> --- a/tools/xl/xl_vcpu.c
> +++ b/tools/xl/xl_vcpu.c
> @@ -283,7 +283,7 @@ int main_vcpupin(int argc, char **argv)
>      }
>  
>      /* Only hard affinity matters here */
> -    if (!ignore_masks) {
> +    if (!ignore_masks && hard) {
>          libxl_dominfo dominfo;
>  
>          if (libxl_domain_info(ctx, &dominfo, domid)) {
> -- 
> 2.17.1
> 



 


Rackspace

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