Re: [PATCH 2/5] nfnetlink_queue: Use rcu_barrier() on moduleunload.

From: Paul E. McKenney
Date: Mon Jun 08 2009 - 12:05:43 EST


On Mon, Jun 08, 2009 at 03:11:33PM +0200, Jesper Dangaard Brouer wrote:
> This module uses rcu_call() thus it should use rcu_barrier() on module unload.
>
> Also fixed a trivial typo 'nfetlink' -> 'nfnetlink' in comment.

Assuming that netlink_unregister_notifier(), nfnetlink_subsys_unregister(),
and so on prevent any subsequent calls to call_rcu(), looks good!!!

Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

> Signed-off-by: Jesper Dangaard Brouer <hawk@xxxxxxx>
> ---
>
> net/netfilter/nfnetlink_queue.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
> index 8c86011..71daa09 100644
> --- a/net/netfilter/nfnetlink_queue.c
> +++ b/net/netfilter/nfnetlink_queue.c
> @@ -1,6 +1,6 @@
> /*
> * This is a module which is used for queueing packets and communicating with
> - * userspace via nfetlink.
> + * userspace via nfnetlink.
> *
> * (C) 2005 by Harald Welte <laforge@xxxxxxxxxxxxx>
> * (C) 2007 by Patrick McHardy <kaber@xxxxxxxxx>
> @@ -932,6 +932,8 @@ static void __exit nfnetlink_queue_fini(void)
> #endif
> nfnetlink_subsys_unregister(&nfqnl_subsys);
> netlink_unregister_notifier(&nfqnl_rtnl_notifier);
> +
> + rcu_barrier(); /* Wait for completion of call_rcu()'s */
> }
>
> MODULE_DESCRIPTION("netfilter packet queue handler");
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/