On Wed, Sep 02, 2020 at 05:04:43PM +0200, Phil Sutter wrote: > On Wed, Sep 02, 2020 at 04:52:02PM +0200, Pablo Neira Ayuso wrote: > [...] > > +static void nft_commit_notify(struct net *net, u32 portid) > > +{ > > + struct sk_buff *batch_skb = NULL, *nskb, *skb; > > + unsigned char *data; > > + int len; > > + > > + list_for_each_entry_safe(skb, nskb, &net->nft.notify_list, list) { > > + if (!batch_skb) { > > +new_batch: > > + batch_skb = skb; > > + NFT_CB(batch_skb).report = NFT_CB(skb).report; > > Is this assignment needed? NFT_CB() merely dereferences skb->cb, so > after assigning 'batch_skb = skb', NFT_CB(batch_skb) == NFT_CB(skb), no? That's right, thanks for reviewing.