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

Re: [PATCH] libxl/x86: check return value of SHADOW_OP_SET_ALLOCATION domctl


  • To: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Fri, 2 Jul 2021 17:12:23 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wbvhHxlLO1642pXBaDEfWehMsyn88DfKcSTKtOiE1n0=; b=D9Pryn99mQ679F8yuBBI5Rn70ZJlUYAw+7iO11dPz1w3oM3L7cAQBNazFkHaTe8EP8JaWd7X7P/JR0ON0aJYN287/KOQrsrNXjakMFBPZfMduXLvsd3imoqODhu1Ix3g7323hemNfSbzDrDopbsiQszmCNeHJwuZqKmD9N+7BXMXOwIOk7YmBkkS8ODOGN+MW92APWndYS3hUo1tguuNRLXomsYK+XHlILIUgTnxnY/SKOCJ0q86ha5uB1ueIyogK0dL4GBaePwi4ETQE5vILIsXTYmuSl8DPr9kzKAnli9XZ15dO+kRKnhWWTBRuKGvW1jfSUf/i+fcG0+k7xZiSg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QegQI+5Yx1cT9Qu0lJdAJAZ2/YsRmf9BXjHfHnvllBQ+LszI8kBGhDAfN/tCZ7T2EeDU5w8GVoKwVdsFcfOeQeLE4t3hznM9/ouvKQxZM8Fn0imUt0M5qFxa3hso4xzG+XcX8xMseEIU5Xc8bOuX+PvMZa/obs9AtvLrdCz5alwDRWGaWEL0MmXLKnH3ym3f0mJ+e7FvvMs2LThkvJC4QQkYCWt+t56mxajmsA5f57g/G8ZbOiIaC2DD0kip92jFkHEWo21UIVdF3wkMh7K5rcf5m3XJfvkuyPaJMiPbLCARLJHE6lba6rQQ41X2szOtBulPYhwevHdLN0UW4/Flxw==
  • Authentication-results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Delivery-date: Fri, 02 Jul 2021 15:12:29 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 02.07.2021 16:46, Anthony PERARD wrote:
> On Fri, Jul 02, 2021 at 02:29:31PM +0200, Jan Beulich wrote:
>> On 01.07.2021 11:36, Anthony PERARD wrote:
>>> On Mon, Jun 28, 2021 at 01:47:03PM +0200, Jan Beulich wrote:
>>>> --- a/tools/libs/light/libxl_x86.c
>>>> +++ b/tools/libs/light/libxl_x86.c
>>>> @@ -531,8 +531,18 @@ int libxl__arch_domain_create(libxl__gc
>>>>      if (d_config->b_info.type != LIBXL_DOMAIN_TYPE_PV) {
>>>>          unsigned long shadow = DIV_ROUNDUP(d_config->b_info.shadow_memkb,
>>>>                                             1024);
>>>> -        xc_shadow_control(ctx->xch, domid, 
>>>> XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION,
>>>> -                          NULL, 0, &shadow, 0, NULL);
>>>> +        int rc = xc_shadow_control(ctx->xch, domid,
>>>
>>> Could you use 'r' instead of 'rc' ? The later is reserved for libxl
>>> error codes while the former is for system and libxc calls.
>>
>> Of course I can, but I did look at the rest of the function and
>> found that it uses "ret" for the purpose of what you now say
>> "rc" ought to be used for. Seeing "ret", I decided to avoid it
>> (knowing you use different names for different kinds of return
>> values). While I've switched to "r" for now, I'd be rather
>> inclined to re-use "ret" instead. (Or actually, as per the
>> remark further down, I can get away without any local variable
>> then.)
> 
> I know there's quite a few (many?) coding style issue in libxl. I'm
> trying to prevent new issue without asking to fix the existing one.
> The use of "ret" is an already existing issue, so I'm fine with it been
> use in this patch for libxl error code in the function.
> 
> BTW, you still need to store the return value of xc_shadow_control()
> into a "r" variable before checking it for error.

Are you saying that

        if (xc_shadow_control(ctx->xch, domid,
                              XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION,
                              NULL, 0, &shadow_mb, 0, NULL)) {

is not acceptable, style-wise? If indeed you are, please disambiguate
your statement above regarding the use of "ret": May I or may I not
use it? IOW do I need to introduce "r", or can I get away with the
existing local variables.

Jan




 


Rackspace

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