Re: [PATCH] New System call unshare (try 2)

From: Janak Desai
Date: Thu Oct 13 2005 - 08:27:52 EST


Chris Wright wrote:
* Jamie Lokier (jamie@xxxxxxxxxxxxx) wrote:

Janak Desai wrote:

Don't allow sighand unsharing if not unsharing vm

Why not? It's permitted to clone with unshared sighand and shared vm,
and it's useful too.


I think that one's just backwards. Although I do question how useful it
is to unshare sighand. Sharing vm is pretty intimate ;-)


It's the combination shared sighand + unshared vm which is not
allowed by clone - so I think that's what you should refuse.


Don't allow vm unsharing if task cloned with CLONE_THREAD

It would be better to do what clone does, and say "don't allow sighand
unsharing if task cloned with CLONE_THREAD". This is because
CLONE_THREAD tasks must have shared signals.


Yes, I agree.


In combination with the rule above for sighand (my rule, not yours),
that implies "don't allow vm unsharing.." as a consequence.


Don't allow vm unsharing if the task is performing async io

Why not?

Async ios are tied to an mm (see lookup_ioctx in fs/aio.c), which may
be shared among tasks. I see no reason why the async ios can't
continue and be waited in on in other tasks that may be using the old mm.


My concern was the case where there are no other tasks. But I don't
think that's an issue other than having the aio effect of setting up
aio then exiting.

thanks,
-chris
-
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/



Thanks Chris and Jamie. I understand the issues that you raised and
agree with your change recommendations. I will make the necessary
changes, test aio and unsharing of signal handlers (while keeping
shared vm) and post the updated patch by tomorrow.

-Janak

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