On Wed, Sep 22, 2021 at 2:32 AM Liu Jian <liujian56@xxxxxxxxxx> wrote: > static void sk_psock_skb_state(struct sk_psock *psock, > @@ -604,6 +608,9 @@ static void sk_psock_backlog(struct work_struct *work) > { > struct sk_psock *psock = container_of(work, struct sk_psock, work); > struct sk_psock_work_state *state = &psock->work_state; > +#if IS_ENABLED(CONFIG_BPF_STREAM_PARSER) > + struct strp_msg *stm = NULL; > +#endif > struct sk_buff *skb = NULL; > bool ingress; > u32 len, off; > @@ -624,6 +631,13 @@ static void sk_psock_backlog(struct work_struct *work) > while ((skb = skb_dequeue(&psock->ingress_skb))) { > len = skb->len; > off = 0; > +#if IS_ENABLED(CONFIG_BPF_STREAM_PARSER) > + if (skb_bpf_strparser(skb)) { If CONFIG_BPF_STREAM_PARSER is disabled, this should always return false, hence you don't need this #ifdef. Or alternatively, you can at least define for nop for skb_bpf_strparser() if !CONFIG_BPF_STREAM_PARSER. And you can move the above "stm" down here too. (Ditto for the other place below.) Thanks.