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

Re: [PATCH][4.15] gnttab: work around "may be used uninitialized" warning


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Fri, 12 Mar 2021 13:20:50 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.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=id1/jmjuQ3je8H9gAGA8ub9JYFHGZHZSJXpkrhIrzFM=; b=IFrUGshd+OTx9pDptlF0qPtO0XfXuCTKfRytKzGz/urncSQ1cAvUlZXtbtzV6gw80eVGf+QAXV84dk5+doLGhlBm4cAZYK4Mas3lyEVbFZHHDX1GX0Dg21YUju9Rl0GPGj2wBqIIWU3oweewLj9Soau12Tq7pgex4XbQxloLu/u59W6vCa7C5hUudJLKex8iVABSOzIk+41R47XiecEPMGU2g91X/P9j5zx9sR6Zk7H2hqp10ImCS5DcadlqWfnGNRxXUIS7piLYdapkWU6yH3C4zTjIGjQK3eHInze//QlS6XuPRxhzPkFmCevsm02zM7DYvBfkJlWoP1/jXu5O1g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L63/USCGu03GhYYyBmrLiTeyyCi9fhBREVDdSSa91da0V7KK9XTw50UU3cAznR6jV5Gd60KjYbUdNKCGAf7Xng1QTmNAFnwXTqx9aaL+LAhE0VtgXBOe6YRkUrHgUSS4NlpH3BV3d8Rzp7cqAqj5tYSvq38HEuvJJ2fCYbDeUQc+TDj0NVUGdL99eeDqVuvT7NJGIEaloYknYzIwX3LWKML1HeQf52yHruWypNww0Sh3BtRHIwsbgndlQACMwzC/6H64z3m4fNnWdBg3dPgiBIEFD4jxXqXKhjekPONdD2lT7DZikYiFFx3UYPSDFgfx1zk/VmFfoHEmVsmSrvyLNA==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: George Dunlap <george.dunlap@xxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 12 Mar 2021 13:21:17 +0000
  • Ironport-hdrordr: A9a23:/34Uy6uvbI8rSIm9qG7Ie6il7skC24Yji2hD6mlwRA09T+WxrO rrtOgH1BPylTYaUGwhn9fFA6WbXXbA7/dOjrU5FYyJGC3ronGhIo0n14vtxDX8Bzbzn9Qw6Y 5JSII7MtH5CDFB4PrSyBWkEtom3dmM+L2pg+Cb9Ht2UQR2cchbjjtRICzzKDwTeCBtA50lGJ 2Aou9OoDS9cXoaB/7LeUUtde7FutHNidbaehYAHREq802jijmv5b78HXGjr2sjehlIxqov9n WArhzh6syYwoyG4zL/90uW1ZRZn9P91sBObfbjtuE5Iijh4zzYHLhJdKaFuFkO0YeSwXYs1O LBuhIxe/l0gkmhBF2dhTvI903e3C0163nkoGXo8kfLhcDiXjo1B45gqOtiA2LkwnEttt19z6 5Htljx3/E8bWKi7VHAzuPFWB1wmk2/rWBKq591s1VlXZYDc7gUlIQD/SpuYec9NRjn44MqGv QGNrC/2N9qdzqhHhXkl1V0zMfpdno+GQrueDl4huWllxJSnHx/0nICwt0eknoq5PsGOuh5zt WBHaJymL5USMgKKYp7GecaWMOyTlfAWBTWLQupUBvaPZBCH0iIh4/84b0z6u3vUJsUzKEqkJ CEdF9Dr2Y9d2/nFMXm5uwEzjn9BEGGGRj9wMBX4JZ0/pfmQqDwDCGFQFcy1+O9vvQ2GKTgKr WOEaMTJ8WmAXrlGI5P0QG7cYJVM2MiXMocvct+c06So/jMNpbhuoXgAbbuDYuoNQxhdnL0A3 MFUjS2Dt5H9FqXVnjxhwWUdGjqfmD54JJsAInX9+Ue0+E2R8hxmzlQrW78ytCAKDVEvKBzVl B5OqnbnqSyonTz3Wug1RQsBjNtSmJupJnwWXJDogEHd2nud6wYhtmZcWdOmF+OJhp1SdLqAB dSzm4Hvp6fHti1/2QPGtinOmWVgz84v3SRVaoRnaWF+IPDdo4nCI0lHIh8Dx/CGRAwuQsCkh YDVCY0AmvkUh/+g6Ssi5IZQMvFccNnvQutKclI7VTFtUudoskrbmABXyGnVPOWhQpGfUsXun RBt4skxJaQkzemLmUyxM4iNkdXVWiRCLVaSDieaJ5sgbDtcgFoRWKsjTiX4itDPFbCxgE3vC jMPCeUcfbEDh54tmpD2qjnyl9ya16QZll9cHx8rI17G1nXo3ob6574WoODl0+qLncSyOAUNz /IJQEfJQ5j3Pib/h+YkjTqLwRt+rweesjmSJgzebDa3X2gbLCSnaYdBvlO4dJOL9b1qNIGVu qZZi6YJD71EPkSxgSQv3opURME8UUMoLfN4lnI/WK41HkwDb7uO1xgXagcOMzZwG7+RfqEua 8JxO4djK+VCCHWZdGHw62MMGIGBRPXvGKsT+Yn7bpTprk/sbNvH5/dFRvEvUs3qykWHYPRrg c5Rq8+3ZXqfqlIVOYWczhC/lUomM+URXFb+TDeM6sbRxUVk3TfP9m1+LLGprokP12ZqGLLSC 2i2hwY282AYjCK2rEbAZ8hOGh6aEAz73J54eOJHregfjmCRqVm/FCgNGW6f6IYYK+ZGa8Iph IS2aDEo8anMw750hvXpz11P+Zn9HumW9q7BEapFfRT+9K3fXSKja3C2r/+sB7HDR+6YV8fn4 tLaAg5adlCkCAriMkP6ReJI5aH6n4Noh95+jFollnkx4ig7iP6JCh9QHPkq6QTeyJSPHiOhd nC6s6C2h3GkWB45aU=
  • Ironport-sdr: 7RMJFpVsHvucT/6Xk4Jj+cdF4vBWx4Br0IQi4XmV5IbgYEiPnlIwkyvz65BQQz1kZAYVUCnlE2 2TZ7BlBt4vXfsweUYe2/GjFkA8zCQqAZMGTlLu600vmxqyweruynrgSHgAu55WGTaiWgSECL6T Bv43Hmu8K+G6fKEJG0ulLOYHWhW72mE7CQkcfLKoX59/lY8GglGX9/W4QYvyIb0wk1gk5yRTxA X/4XSPpixulV/2L8oAIGSmmQ0DkLqxDF+ZmzJRj3uG+XY5a0gA/Z6RJP2M17N8eNh+uI2H2zZH dAw=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 12/03/2021 13:18, Jan Beulich wrote:
> On 12.03.2021 14:08, Jan Beulich wrote:
>> On 12.03.2021 12:32, Andrew Cooper wrote:
>>> --- a/xen/common/grant_table.c
>>> +++ b/xen/common/grant_table.c
>>> @@ -4059,6 +4059,16 @@ int gnttab_acquire_resource(
>>>      if ( rc )
>>>          goto out;
>>>  
>>> +    /*
>>> +     * Some older toolchains can't spot that vaddrs is non-NULL on
>>> non-error
>>> +     * paths.  Leave some runtime safety.
>>> +     */
>>> +    if ( !vaddrs )
>>> +    {
>>> +        ASSERT_UNREACHABLE();
>>> +        goto out;
>>> +    }
>>> +
>>>      for ( i = 0; i < nr_frames; ++i )
>>>          mfn_list[i] = virt_to_mfn(vaddrs[frame + i]);
>> Oh, I didn't realize this. Will add, but did you really mean to
>> have the function return success in this case (on a release
>> build)? I'd be inclined to put it ahead of if "if ( rc )" and
>> set rc (to e.g. -ENODATA) in this case.
> But I think the comment isn't really correct - the problem isn't
> NULL or not, but uninitialized without setting it to NULL. How
> about
>
>     /*
>      * Some older toolchains can't spot that vaddrs won't remain uninitialized
>      * on non-error paths, and hence it needs setting to NULL at the top of 
> the
>      * function.  Leave some runtime safety.
>      */
>
> ?

Yes - that's fine.

~Andrew



 


Rackspace

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