From: Cedric Le Goater <clg@fr.ibm.com>
To: "Serge E. Hallyn" <serue@us.ibm.com>
Cc: Andrew Morton <akpm@osdl.org>, lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH -mm 7/8] user_ns: handle file sigio
Date: Mon, 15 Jan 2007 16:03:49 +0100 [thread overview]
Message-ID: <45AB97D5.6010503@fr.ibm.com> (raw)
In-Reply-To: <20070115072653.GA7385@sergelap.austin.ibm.com>
Serge E. Hallyn wrote:
> Quoting Andrew Morton (akpm@osdl.org):
>> On Thu, 4 Jan 2007 12:12:57 -0600
>> "Serge E. Hallyn" <serue@us.ibm.com> wrote:
>>
>>> A process in one user namespace could set a fowner and sigio on a file in a
>>> shared vfsmount, ending up killing a task in another user namespace.
>>>
>>> Prevent this by adding a user namespace pointer to the fown_struct, and
>>> enforcing that a process causing a signal to be sent be in the same
>>> user namespace as the file owner.
>> This patch breaks the X server (stock FC5 install) with CONFIG_USER_NS=n.
>> Neither the USB mouse nor the trackpad work. They work OK under GPM.
>>
>> Setting CONFIG_USER_NS=y "fixes" this. This bug was not observed in
>> 2.6.20-rc3-mm1 because that kernel had user-ns-always-on.patch for other
>> reasons. (I'll restore that patch).
>>
>> There's nothing very interesting here:
>
[ ... ]
>
> I can't see any reason for this in the code or comparative ltp runs.
> Cedric is testing on a fc6 laptop, hopefully he can reproduce it.
I did reproduce it on a FC5 desktop finally.
get_user_ns() returns NULL when CONFIG_USER_NS=n and this breaks
sigio_perm() which does not expect NULL values for ->user_ns.
I would fix this with the following patch.
C.
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
---
include/linux/user_namespace.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: 2.6.20-rc4-mm1/include/linux/user_namespace.h
===================================================================
--- 2.6.20-rc4-mm1.orig/include/linux/user_namespace.h
+++ 2.6.20-rc4-mm1/include/linux/user_namespace.h
@@ -49,7 +49,7 @@
static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
{
- return NULL;
+ return &init_user_ns;
}
static inline int unshare_user_ns(unsigned long flags,
next prev parent reply other threads:[~2007-01-15 15:03 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-04 18:06 [PATCH -mm 0/8] user ns: Introduction Serge E. Hallyn
2007-01-04 18:10 ` [PATCH -mm 1/8] nsproxy: externalizes exit_task_namespaces Serge E. Hallyn
2007-01-04 18:11 ` [PATCH -mm 2/8] user namespace: add the framework Serge E. Hallyn
2007-01-04 21:16 ` Serge E. Hallyn
2007-01-04 18:11 ` [PATCH -mm 3/8] user ns: add user_namespace ptr to vfsmount Serge E. Hallyn
2007-01-04 18:11 ` [PATCH -mm 4/8] user ns: hook permission Serge E. Hallyn
2007-01-04 18:12 ` [PATCH -mm 5/8] user ns: prepare copy_tree, copy_mnt, and their callers to handle errs Serge E. Hallyn
2007-01-04 19:00 ` Frederik Deweerdt
2007-01-04 19:35 ` Serge E. Hallyn
2007-01-04 18:12 ` [PATCH -mm 6/8] user ns: implement shared mounts Serge E. Hallyn
2007-01-04 18:12 ` [PATCH -mm 7/8] user_ns: handle file sigio Serge E. Hallyn
2007-01-12 5:20 ` Andrew Morton
2007-01-15 7:26 ` Serge E. Hallyn
2007-01-15 15:03 ` Cedric Le Goater [this message]
2007-01-15 15:28 ` Serge E. Hallyn
2007-01-15 17:35 ` Cedric Le Goater
2007-01-16 11:04 ` [PATCH -mm] user_ns: remove CONFIG_USER_NS Cedric Le Goater
2007-01-16 14:53 ` Serge E. Hallyn
2007-01-04 18:13 ` [PATCH -mm 8/8] user ns: implement user ns unshare Serge E. Hallyn
2007-01-04 19:07 ` Frederik Deweerdt
2007-01-04 19:43 ` Serge E. Hallyn
2007-01-04 22:03 ` Andrew Morton
2007-01-04 22:07 ` Andrew Morton
2007-01-04 22:23 ` Valdis.Kletnieks
2007-01-04 22:52 ` Serge E. Hallyn
2007-01-05 2:02 ` Valdis.Kletnieks
2007-01-05 4:35 ` Serge E. Hallyn
2007-01-05 4:03 ` [PATCH -mm 0/8] user ns: Introduction Andrew Morton
2007-01-05 5:43 ` Serge E. Hallyn
2007-01-05 7:00 ` Serge E. Hallyn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45AB97D5.6010503@fr.ibm.com \
--to=clg@fr.ibm.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=serue@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.