On 12/15/23 10:17 PM, Florian Westphal wrote:
D. Wythe <alibuda@xxxxxxxxxxxxxxxxx> wrote:
const struct nf_defrag_hook *defrag_hook;
+ const struct bpf_prog __rcu *nf_prog;
Hmm, why do we need this pointer?
Can't you just re-use bpf_nf_link->link.prog?
Accessing nf_link->link.prog directly is a bit strange because it is not
marked as __rcu, which will generate a compilation warning,
thus we need to perform a type conversion.
But I do not intend to insist on it. I will remove it in the next version.
Best wishes,
D. Wythe
+ rcu_assign_pointer(nf_link->nf_prog, new_prog);
+ old_prog = xchg(&link->prog, new_prog);
This looks redundant, I think you can remove the nf_prog
pointer again.
Rest LGTM.