On Wed, Jul 19, 2017 at 08:11:56AM -0600, David Ahern wrote: > On 7/19/17 1:02 AM, Jiri Pirko wrote: > > +struct fib_notifier_ops * > > +fib_notifier_ops_register(const struct fib_notifier_ops *tmpl, struct net > > *net) > > +{ > > + struct fib_notifier_ops *ops; > > + int err; > > + > > + ops = kmemdup(tmpl, sizeof(*ops), GFP_KERNEL); > > why allocate memory to copy the ops?
It contains a list pointer that I use to list all the registered families in each net namespace. Same pattern used in FIB rules.