lkml.org 
[lkml]   [2020]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 264/266] xdp: Fix xsk_generic_xmit errno
    Date
    From: Li RongQing <lirongqing@baidu.com>

    [ Upstream commit aa2cad0600ed2ca6a0ab39948d4db1666b6c962b ]

    Propagate sock_alloc_send_skb error code, not set it to
    EAGAIN unconditionally, when fail to allocate skb, which
    might cause that user space unnecessary loops.

    Fixes: 35fcde7f8deb ("xsk: support for Tx")
    Signed-off-by: Li RongQing <lirongqing@baidu.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Acked-by: Björn Töpel <bjorn.topel@intel.com>
    Link: https://lore.kernel.org/bpf/1591852266-24017-1-git-send-email-lirongqing@baidu.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/xdp/xsk.c | 4 +---
    1 file changed, 1 insertion(+), 3 deletions(-)

    diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
    index 7181a30666b4..f9eb5efb237c 100644
    --- a/net/xdp/xsk.c
    +++ b/net/xdp/xsk.c
    @@ -362,10 +362,8 @@ static int xsk_generic_xmit(struct sock *sk)

    len = desc.len;
    skb = sock_alloc_send_skb(sk, len, 1, &err);
    - if (unlikely(!skb)) {
    - err = -EAGAIN;
    + if (unlikely(!skb))
    goto out;
    - }

    skb_put(skb, len);
    addr = desc.addr;
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-06-18 04:08    [W:2.785 / U:0.596 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site