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

Re: [PATCH 2/2] xen/common: llc-coloring: reject empty color tokens


  • To: Mykola Kvach <xakep.amatop@xxxxxxxxx>
  • From: dmukhin@xxxxxxxx
  • Date: Sun, 17 May 2026 23:40:20 -0700
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=ford.com; dkim=pass (signature was verified) header.d=saarlouis.ford.com; dkim=pass (signature was verified) header.d=ford.com; arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=a0lLwRxvp+QKDqXzINjwoO63vCmIhXnCorPVb2fF58I=; b=N+J8fhA1vDTkoeoCOpUNE5cnc2cdhQ4EvOG11u7qYP2txqHZPfLb+RKyMTmMCOpSZOYBLGEiQRFVrPF7zEEMfE4EtPHRRpjEvHTlRRovgjRxtWl60gL8I/RIzLkvkjVO9nZPXygQpulYxr3NGlCFLO+pNMVU7RysOsOqBYX4NYZUvq19K3nSisD4NgnZK7NDf6mPMfGfX3wptk836i6y7nBFmn8WH1Yz4xcdl9eME4wJR4quj+ZgYwFA059quVsbCBnQzU0Dfx2xbUocW0IevFQiib7YTbDx1Lh4A+F5P7EPYRZPm0R2L67scdSre1P/Jt95jXSNX0npxBYiBNIT0A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=khPXyXhOnn1z7AWGxNvxUtEaO9yP6en6iFbpOYrF78GKnoHgAOlh0SsQ+Lr1apODC1xnOyjHtcrrzki5XWSyjTZ/PyMceNzhT9/LOhCsKdEZZpoAo4uwmvmlPp3jtYR7HwFGDcri1u0mvn7Nqye4c7C/KeOm8V5IMZHShYV1dhl1vAlNNrIlvCQbfBAz3gDhwJgLWQJUt/DF2yT24/Mq7zI2EMsezbw/xtwBOukL6t+qF/TXC/3PE6zyG8Bsu3jgE5xBTcnreyjlFCYpvGLUiGQ5TjpNTTNm0OS4fem0vdv1DtF8YhSmZp8rEtkDA/k369vf4KvdZL8I/PsRi+KVeQ==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Mykola Kvach <mykola_kvach@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Mon, 18 May 2026 06:40:41 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Pser-m365-app: SER-APP

On Sat, May 16, 2026 at 06:03:12PM +0300, Mykola Kvach wrote:
> From: Mykola Kvach <mykola_kvach@xxxxxxxx>
> 
> parse_color_config() currently accepts delimiters where a color value
> is expected because simple_strtoul() returns zero without advancing the
> input pointer. This makes strings such as ",2-6", "-10,19-20" or
> "1,,2" look as if an empty value was color 0.
> 
> Also add the missing newline to the DT color parsing error message.
> 
> Fixes: 6cdea3444eaf ("xen/arm: add Dom0 cache coloring support")
> Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx>
> ---
>  xen/common/llc-coloring.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/common/llc-coloring.c b/xen/common/llc-coloring.c
> index 2606cb0977..5d00d4b40e 100644
> --- a/xen/common/llc-coloring.c
> +++ b/xen/common/llc-coloring.c
> @@ -64,14 +64,21 @@ static int __init parse_color_config(const char *buf, 
> unsigned int colors[],
>  
>      while ( *s != '\0' )
>      {
> +        const char *endp;
>          unsigned int color, start, end;
>  
> -        start = simple_strtoul(s, &s, 0);
> +        start = simple_strtoul(s, &endp, 0);
> +        if ( endp == s )
> +            goto fail;
> +        s = endp;
>  
>          if ( *s == '-' )    /* Range */
>          {
>              s++;
> -            end = simple_strtoul(s, &s, 0);
> +            end = simple_strtoul(s, &endp, 0);
> +            if ( endp == s )
> +                goto fail;
> +            s = endp;
>          }
>          else                /* Single value */
>              end = start;
> @@ -334,7 +341,7 @@ int __init domain_set_llc_colors_from_str(struct domain 
> *d, const char *str)
>      err = parse_color_config(str, colors, max_nr_colors, &num_colors);
>      if ( err )
>      {
> -        printk(XENLOG_ERR "Error parsing LLC color configuration");
> +        printk(XENLOG_ERR "Error parsing LLC color configuration\n");

While here, add domain ID to the printout similarly to
`if ( !check_colors(..) )` processing below?

>          xfree(colors);
>          return err;
>      }
> -- 
> 2.43.0
> 
> 



 


Rackspace

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