[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>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Fri, 12 Mar 2021 11:32:24 +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=OipArakd9AaJeEKxw3eFbyi0e1wSm70+BLcthU5Ler4=; b=YWABBXS+vFEkeYh6Gd4FzHBsT72cTs77AuW1oJIYDQQEeh7K2PPRwz5hivlTpnYiw0MSZmECd/NyXP9XRGqEZWErvLbUnGtWbnJncag72XqmDG7WQ6wrdvALucUfDSHCQp28VysZkqHWt9ZRVuVrebzXSQk5nefpzpIhpEG8d8aA7AOx/LUVDndAY3gmE4mQgLMg3p8ofbPkKzRhewgChBh+UGcQipWDKSRiStwdiIPexqJkcSEl1qSqEtjmS9+IQv5bUOY1iQrGaNeLrDau7aEFarzVtyZT5OaZiIY+Id88vKOnCtuum/6d+/jM4YxpN/PXJnDKt2zAhwiKFMMLeQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y6d/wjNPbY8DYbha1d6NEZNnvYc2nsMTR9ed+FO4jZDNlYwFlxsg5NOUXO0E7GK1ShbYYupmHV0ZQPBCYIV5RogcmVMOqr11kDwaDYrT6MV+LyMKBkn+zsT5ZCZ90sIGBlpv7Iz9d3DlUymAgV0UF4vyavsOnGgRozgWunO9EK1XJ0UbR7kx8FpJCHZgUKMM7EhErScD/eDfTfI1LgnmUbpOOmmp11erjO5HSkwK0JatG2ZtBlfxOZnoGHnoMoIsvb4Vr/+g2uvM46PA8N11f4gGJcdtDGcnORaTNXxtpaZwmqRJn8t1flUwchLBbg4LphXxkpy4SMlRvuzXpmnZZQ==
  • Authentication-results: esa5.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>
  • Delivery-date: Fri, 12 Mar 2021 11:32:37 +0000
  • Ironport-hdrordr: A9a23:kwTN3Kqd/kjJKUlPFnZuTgwaV5uGKtV00zAX/kB9WHVpW+SivY SHgOkb2RjoiDwYRXEnnpS6NLOdRG7HnKQb3aA4Bp3neAX9omOnIMVZ7YXkyyD9ACGWzIJg/I 9aWexFBNX0ZGIWse/T/BS4H9E8wNOO7aCvgqPkw21wSBxxApsA0y5SIG+gYyhLbSNBAoc0E4 fZw8JBqSapd3h/VLXFOlAuWe/fq9rX0K/8aRkdCBI9rCWIhzWk6Ln1eiLoois2eTVJ3Lsk7C z5gxX0j5/Tzs2T5z398yvo75pQkMb80dcrPqKxo+UcNzmEsHfRWK1PQLuH1QpFx92HyFFvq9 XUpgdlAsIb0QKqQkiQgT/Anzbtyywv7XiK8y7qvVLGrdbiTDw3T+pt7LgpCyfx0EYrsNFi3K 8j5Qvw3PA2fHCw6RjV3NTGWwpnkUC5uxMZ4IoupkdSTJcEb/tppZEflXklYKsoJj7w64wsDY BVfafhzctRGGnqDUzxgnNi25iFUHg1A369MzM/k/3Q+T1XkHdl9lAf1cwSk1wRnahNOqVs1q DqNL9lm6pJSdJTRaVhBP0ZSc/yMWDVRwnQWVjibmjPJeUiATbgupT36LI66KWDf4EJ9oI7nN DkXElDvWA/VkryAaS1rdN22yGIZF/4cSXmy8lY6ZQ8kKb7XqDXPSqKT01ru9e8ot0Ea/erGM qbCdZzObvOPGHuEYFG00nVQJ9JM0QTV8UTp5ISR0+OmMTWMYfn39arMMr7Ff7IK3IJS2n/Cn wMUHzYP8Nb9H2mXXf+nVz/QHXoVkvj/Y9hMaTT8uQJobJ9c7Fkg0wwsxCU98uLITpNvugdZ0 1lOo7qlau9uC2X8A/zniFUEysYKnwQzKTrUntMqwNPGVjza6w/t9KWfn0X+HOGIxR4Xv7HCQ I3nSUxxYuHa7irgQwyAdOuNWyXy1EJomiRcpsakqqfoeDoZ40/FZRjfKBqDw3EG1hUlG9R2S Z+QT5BYnWaOiLliK2jgpBRLvrYbcNAjACiJtMRj2neu0WarcQGXWAaQDaqbM6SjW8VNnhpr2 w015VarKuLmD6pJ2d6qv8/KkdwZGOeB68DMB6If7xOmrfgeBh5SECDgTDysWB0RkPas2Epwk DxJyydfv/GRn5QoGpR3KrR/FRoTWmFZE5rZndmsYpyKHTeth9IoJ22T5v291HURkoJw+kbPj 2AWzcULw907/2c1RKeml+5ZD8b76RrGtaYIKUocrnV1H/oFZaBkrseGeRIuLx/Msr1j+MNWe WDWgOcIT/iEdk10wiNqntNAlgslFAU1dfTnDH15mmx23AyRcfIKFN9XrcBPpWy6XPnS/vg6u QxsfsF+c+LdkP/Zd6NxfuJM3ptKhbPrXW3SO9tg5ZOpq42vKZyGZ6ecTag7gAx4DwOaOPP0G UZS+BHxZqEHKlFVckbYThY8Vokj87nFjphjiXGRssFOWgwhHraNe6T67XGqbATElSMzTGATW W3wml4xbP5RCON2r4RNrIoLUlXYEY67m5+/OnqTfynNCyaM8VC9kG9KHmzbft0T7WEA6wZqn 9Bkpy1tt7SUyrzwwbLuzRnZopI7ma8WMu3RCaBA/RB/dD/GVOChMKRkYKOpQaybTuwcEIDg4 JZMWQWc8RYkzEnyLQN7RLacN2+nmsV131E4T9mkVbx2o+ppEfjdHs2TzHxs9FxRjlcMn+BkM Lf1/OXvU6NuAR45Q==
  • Ironport-sdr: rzMie2vwlVT0QB8YCQxUjYL5mgG2clzUh59vXM0ty5F1XQwonPLDj1VvQ//udHrmy75FKa3MZ1 vRhmywhAKc5E4XPmqNu/Qew7Z4kQ/QnOGNXxcaT5AsGfJvjS+hU8jvCd3Gsgr9J0SIFy6ciaF2 T7j7zmR4OrJZV44MWl+wD5bDj/imWeaUyWZB+3Ok14j7Ux7FKGYtPFjJY1GkRU427ZuWvYC80F 8svH8ifQPSuhReCnYgy+H94QnoWll26Bkt2PlK9wmyNOK7gZrYDV6lxJU/1EkYdRRLoSqX73Zg e54=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 10/03/2021 10:13, Jan Beulich wrote:
> Sadly I was wrong to suggest dropping vaddrs' initializer during review
> of v2 of the patch introducing this code. gcc 4.3 can't cope.
>
> Fixes: 52531c734ea1 ("xen/gnttab: Rework resource acquisition")
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -4026,7 +4026,7 @@ int gnttab_acquire_resource(
>      struct grant_table *gt = d->grant_table;
>      unsigned int i, final_frame;
>      mfn_t tmp;
> -    void **vaddrs;
> +    void **vaddrs = NULL;
>      int rc = -EINVAL;
>  
>      if ( !nr_frames )

in v1, there was a companion check.

diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index f937c1d350..2bb07f129f 100644
--- 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]);
 

With this reinstated, Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>




 


Rackspace

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