Re: [PATCH] fix race in mark_mounts_for_expiry()

From: Jamie Lokier
Date: Wed May 18 2005 - 07:52:13 EST


Miklos Szeredi wrote:
> > Some archs already have an atomic_dec_if_positive() (see for instance
> > the PPC). It won't take much work to convert that to an
> > atomic_inc_if_positive().
> >
> > For those arches that don't have that sort of thing, then writing a
> > generic atomic_inc_if_positive() using cmpxchg() will often be possible,
> > but there are exceptions (for instance the original 386 does not have a
> > cmpxchg, so there you will have to use something else).
>
> The problem with introducing architecture specific code, is that it's
> just asking for new bugs.
>
> If it's something used all over the kernel, than obviously it's OK,
> but for the sake of just one caller it's a bit crazy I think.

I agree.

And I think you're just adding to the case for removing mnt_namespace
entirely. We'd still keep CLONE_NS, and users currently using
namespaces (in the normal ways) would see no difference.

mnt_namespace has these visible effects:

- Prevents some tasks from mounting/umounting in a "foreign"
namespace, even when they are granted access to the directory
tree of the foreign namespace.

It's not clear if the restriction is a useful security tool.

- Causes every mount in a mount tree to be detached (independently),
when last task associated with a namespace is destroyed.

And this invisible effect:

- More concurrency than a global mount lock would have.

Is that all? Are any of these effects important enough to keep?

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