lkml.org 
[lkml]   [2020]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 377/477] bpf: sockmap: Dont attach programs to UDP sockets
    Date
    From: Lorenz Bauer <lmb@cloudflare.com>

    [ Upstream commit f6fede8569689dd31e7b0ed15024b25e5ce2e2e5 ]

    The stream parser infrastructure isn't set up to deal with UDP
    sockets, so we mustn't try to attach programs to them.

    I remember making this change at some point, but I must have lost
    it while rebasing or something similar.

    Fixes: 7b98cd42b049 ("bpf: sockmap: Add UDP support")
    Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
    Link: https://lore.kernel.org/bpf/20200611172520.327602-1-lmb@cloudflare.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/core/sock_map.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    diff --git a/net/core/sock_map.c b/net/core/sock_map.c
    index 050bfac97cfb5..7e858c1dd7113 100644
    --- a/net/core/sock_map.c
    +++ b/net/core/sock_map.c
    @@ -417,10 +417,7 @@ static int sock_map_get_next_key(struct bpf_map *map, void *key, void *next)
    return 0;
    }

    -static bool sock_map_redirect_allowed(const struct sock *sk)
    -{
    - return sk->sk_state != TCP_LISTEN;
    -}
    +static bool sock_map_redirect_allowed(const struct sock *sk);

    static int sock_map_update_common(struct bpf_map *map, u32 idx,
    struct sock *sk, u64 flags)
    @@ -501,6 +498,11 @@ static bool sk_is_udp(const struct sock *sk)
    sk->sk_protocol == IPPROTO_UDP;
    }

    +static bool sock_map_redirect_allowed(const struct sock *sk)
    +{
    + return sk_is_tcp(sk) && sk->sk_state != TCP_LISTEN;
    +}
    +
    static bool sock_map_sk_is_suitable(const struct sock *sk)
    {
    return sk_is_tcp(sk) || sk_is_udp(sk);
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-23 23:29    [W:3.071 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site