Re: [PATCH] fs: synchronize_rcu when unregister_filesystem successnot failure

From: Marco Stornelli
Date: Thu Apr 14 2011 - 13:04:53 EST


Il 14/04/2011 17:52, Linus Torvalds ha scritto:
On Thu, Apr 14, 2011 at 8:41 AM, Milton Miller<miltonm@xxxxxxx> wrote:

While checking unregister_filesystem for saftey vs extra calls for
"ext4: register ext2 and ext3 alias after ext4" I realized that
the synchronize_rcu() was called on the error path but not on
the success path.

Good catch.

I think this is the bug that then caused us to do commit d863b50ab013
("vfs: call rcu_barrier after ->kill_sb()")

That said, that commit says that "synchronize_rcu()" isn't enough, and
uses rcu_barrier().

Which _should_ mean that there are no actual users that care about RCU
events by the time you actually hit "unregister_filesystem()".

So I think your patch is correct, but won't actually matter. But maybe
I'm missing something.

Should we call it in both?

No, I think the success path is the one that would matter.

Comments?


If I well remember the rcu_barrier was needed for the fs module unloading problem. In that case synchronize_rcu() wasn't enough. That said, I agree with you, it won't have any impact.

Marco
--
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/