From: Cong Wang <xiyou.wangcong@gmail.com> To: Jakub Sitnicki <jakub@cloudflare.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 10:04:49 -0800 Message-ID: <CAM_iQpWofNM=erfyP8b_qrezJN6d51UDW5bfgo2LHkPOTXqm8Q@mail.gmail.com> (raw) In-Reply-To: <875z2i4qo5.fsf@cloudflare.com> 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. > > 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(). Thanks.
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 [this message] 2021-02-23 18:36 ` Jakub Sitnicki 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='CAM_iQpWofNM=erfyP8b_qrezJN6d51UDW5bfgo2LHkPOTXqm8Q@mail.gmail.com' \ --to=xiyou.wangcong@gmail.com \ --cc=bpf@vger.kernel.org \ --cc=cong.wang@bytedance.com \ --cc=daniel@iogearbox.net \ --cc=duanxiongchun@bytedance.com \ --cc=jakub@cloudflare.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 \ /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