From: Jakub Sitnicki <jakub@cloudflare.com> To: Cong Wang <xiyou.wangcong@gmail.com> Cc: Linux Kernel Network Developers <netdev@vger.kernel.org>, bpf <bpf@vger.kernel.org>, duanxiongchun@bytedance.com, Dongdong Wang <wangdongdong.6@bytedance.com>, Jiang Wang <jiang.wang@bytedance.com>, Cong Wang <cong.wang@bytedance.com>, Daniel Borkmann <daniel@iogearbox.net>, Lorenz Bauer <lmb@cloudflare.com>, John Fastabend <john.fastabend@gmail.com> Subject: Re: [Patch bpf-next v6 4/8] skmsg: move sk_redir from TCP_SKB_CB to skb Date: Tue, 23 Feb 2021 19:36:57 +0100 Message-ID: <874ki24omu.fsf@cloudflare.com> (raw) In-Reply-To: <CAM_iQpWofNM=erfyP8b_qrezJN6d51UDW5bfgo2LHkPOTXqm8Q@mail.gmail.com> On Tue, Feb 23, 2021 at 07:04 PM CET, Cong Wang wrote: > On Tue, Feb 23, 2021 at 9:53 AM Jakub Sitnicki <jakub@cloudflare.com> wrote: >> Based on what I've seen around, mask for sanitizing tagged pointers is >> usually derived from the flag(s). For instance: >> >> #define SKB_DST_NOREF 1UL >> #define SKB_DST_PTRMASK ~(SKB_DST_NOREF) >> >> #define SK_USER_DATA_NOCOPY 1UL >> #define SK_USER_DATA_BPF 2UL /* Managed by BPF */ >> #define SK_USER_DATA_PTRMASK ~(SK_USER_DATA_NOCOPY | SK_USER_DATA_BPF) >> >> Using ~(BPF_F_INGRESS) expression would be like substituting mask >> definition. > > Yes, that is why I said we need a mask. OK > >> >> Alternatively we could clear _skb_refdest after clone, but before >> enqueuing the skb in ingress_skb. And only for when we're redirecting. >> >> I believe that would be in sk_psock_skb_redirect, right before skb_queue_tail. > > Hmm? We definitely cannot clear skb->_sk_redir there, as it is used after > enqueued in ingress_skb, that is in sk_psock_backlog(). You're right. I focused on the sk pointer and forgot it also carries the ingress flag.
next prev parent reply index Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-20 5:29 [Patch bpf-next v6 0/8] sock_map: clean up and refactor code for BPF_SK_SKB_VERDICT Cong Wang 2021-02-20 5:29 ` [Patch bpf-next v6 1/8] bpf: clean up sockmap related Kconfigs Cong Wang 2021-02-22 8:51 ` Jakub Sitnicki 2021-02-22 23:23 ` Cong Wang 2021-02-20 5:29 ` [Patch bpf-next v6 2/8] skmsg: get rid of struct sk_psock_parser Cong Wang 2021-02-20 5:29 ` [Patch bpf-next v6 3/8] bpf: compute data_end dynamically with JIT code Cong Wang 2021-02-20 5:29 ` [Patch bpf-next v6 4/8] skmsg: move sk_redir from TCP_SKB_CB to skb Cong Wang 2021-02-22 12:20 ` Jakub Sitnicki 2021-02-22 19:27 ` Cong Wang 2021-02-23 17:52 ` Jakub Sitnicki 2021-02-23 18:04 ` Cong Wang 2021-02-23 18:36 ` Jakub Sitnicki [this message] 2021-02-20 5:29 ` [Patch bpf-next v6 5/8] sock_map: rename skb_parser and skb_verdict Cong Wang 2021-02-22 12:28 ` Jakub Sitnicki 2021-02-22 19:32 ` Cong Wang 2021-02-20 5:29 ` [Patch bpf-next v6 6/8] sock_map: make sock_map_prog_update() static Cong Wang 2021-02-22 12:29 ` Jakub Sitnicki 2021-02-20 5:29 ` [Patch bpf-next v6 7/8] skmsg: make __sk_psock_purge_ingress_msg() static Cong Wang 2021-02-22 12:30 ` Jakub Sitnicki 2021-02-20 5:29 ` [Patch bpf-next v6 8/8] skmsg: get rid of sk_psock_bpf_run() Cong Wang 2021-02-22 12:31 ` Jakub Sitnicki 2021-02-22 12:32 ` [Patch bpf-next v6 0/8] sock_map: clean up and refactor code for BPF_SK_SKB_VERDICT Jakub Sitnicki
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=874ki24omu.fsf@cloudflare.com \ --to=jakub@cloudflare.com \ --cc=bpf@vger.kernel.org \ --cc=cong.wang@bytedance.com \ --cc=daniel@iogearbox.net \ --cc=duanxiongchun@bytedance.com \ --cc=jiang.wang@bytedance.com \ --cc=john.fastabend@gmail.com \ --cc=lmb@cloudflare.com \ --cc=netdev@vger.kernel.org \ --cc=wangdongdong.6@bytedance.com \ --cc=xiyou.wangcong@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
BPF Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/bpf/0 bpf/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 bpf bpf/ https://lore.kernel.org/bpf \ bpf@vger.kernel.org public-inbox-index bpf Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.bpf AGPL code for this site: git clone https://public-inbox.org/public-inbox.git