lkml.org 
[lkml]   [2022]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] xen/netback: fix build warning
From
On 07.12.22 10:25, Jan Beulich wrote:
> On 07.12.2022 08:23, Juergen Gross wrote:
>> Commit ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in
>> the non-linear area") introduced a (valid) build warning.
>>
>> Fix it.
>>
>> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
>> --- a/drivers/net/xen-netback/netback.c
>> +++ b/drivers/net/xen-netback/netback.c
>> @@ -530,7 +530,7 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
>> const bool sharedslot = nr_frags &&
>> frag_get_pending_idx(&shinfo->frags[0]) ==
>> copy_pending_idx(skb, copy_count(skb) - 1);
>> - int i, err;
>> + int i, err = 0;
>>
>> for (i = 0; i < copy_count(skb); i++) {
>> int newerr;
>
> I'm afraid other logic (below here) is now slightly wrong as well, in
> particular
>
> /* If the mapping of the first frag was OK, but
> * the header's copy failed, and they are
> * sharing a slot, send an error
> */
> if (i == 0 && !first_shinfo && sharedslot)
> xenvif_idx_release(queue, pending_idx,
> XEN_NETIF_RSP_ERROR);
> else
> xenvif_idx_release(queue, pending_idx,
> XEN_NETIF_RSP_OKAY);
>
> which looks to be intended to deal with _only_ failure of the one shared
> part of the header, whereas "err" now can indicate an error on any earlier
> part as well.

The comment at the end of that loop seems to imply this is the desired
behavior:

/* Remember the error: invalidate all subsequent fragments. */
err = newerr;
}


Juergen

[unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2022-12-07 11:20    [W:1.593 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site