[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>
|