On Fri, Mar 26, 2021 at 01:38:59PM -0400, Richard Guy Briggs wrote: > @@ -8006,12 +7966,65 @@ static void nft_commit_notify(struct net *net, u32 portid) > WARN_ON_ONCE(!list_empty(&net->nft.notify_list)); > } > > +static int nf_tables_commit_audit_alloc(struct list_head *adl, > + struct nft_table *table) > +{ > + struct nft_audit_data *adp; > + > + list_for_each_entry(adp, adl, list) { > + if (adp->table == table) > + return 0; > + } > + adp = kzalloc(sizeof(*adp), GFP_KERNEL); > + if (!adp) > + return -ENOMEM; > + adp->table = table; > + INIT_LIST_HEAD(&adp->list); This INIT_LIST_HEAD is not required for an object that is going to be inserted into the 'adl' list. > + list_add(&adp->list, adl); If no objections, I'll amend this patch. I'll include the UAF fix and remove this unnecessary INIT_LIST_HEAD.