From: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Nathan Lynch <ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
Cc: Linux Containers <containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>
Subject: Re: selinux prevents msgrcv on restore message queues?
Date: Wed, 3 Mar 2010 21:05:25 -0600 [thread overview]
Message-ID: <20100304030525.GA8875@us.ibm.com> (raw)
In-Reply-To: <1267661777.3559.11.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> On Wed, 2010-03-03 at 17:44 -0600, Serge E. Hallyn wrote:
> > Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> > > On Wed, 2010-03-03 at 13:49 -0600, Serge E. Hallyn wrote:
> > > > Quoting Nathan Lynch (ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org):
> > > > > On Tue, 2010-03-02 at 19:19 -0600, Serge E. Hallyn wrote:
> > > > > > Can you try the following patch?
> > > > > >
> > > > > > Also, to actually restore the LSM labels you need to add -k to your
> > > > > > restart flags, but without the -k you should get a sane default
> > > > > > security label.
> > > > >
> > > > > Thanks, the ipc/mq tests pass with this patch and restart -k. Without
> > > > > -k the tests still fail in the same manner (msgrcv fails). Is that the
> > > > > behavior you'd expect?
> > > >
> > > > Not really - the test runs as unconfined_u right?
> > >
> > > I added a ps -Z to test-mq.sh before thawing:
> > >
> > > # PATH=/root/cr/user-cr.git:$PATH bash test-mq.sh
> > > Using output dir ./cr_mq_6T8KIG6
> > > XXX Test 1: simple restart with SYSVIPC msq
> > > check-mq: no process killed
> > > ../common.sh: line 45: 5173 Killed ( sleep $1; kill -s USR1 $$ )
> > > LABEL PID TTY TIME CMD
> > > unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 4358 pts/1 00:00:00 bash
> > > unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 5151 pts/1 00:00:00 bash
> > > unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 5172 pts/1 00:00:00 nsexec
> > > unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 5175 pts/1 00:00:00 sleep
> > > unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 5178 pts/1 00:00:00 check-
> > > unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 5183 pts/1 00:00:00 ps
> > > PASS
> >
> > Can you try the following patch?
> >
> > (this is on top of the last one - I'd sent)
> >
> > The problem is that selinux does not assign a label to a msg_msg
> > until you do msgsnd. So it may be best to special-case the
> > msg_msg object type and always have it restore the msgtype. One
> > reason *NOT* to do that woudl be that the restarter might not have
> > msg_msg:restore permission... But pls let me know if this patch
> > fixes your problem.
>
> Yes, with both patches applied to ckpt-v19-dev
> (261322990a4ed23c8475c232423845f998dd4f89) the tests pass with and
> without the -k flag.
Cool. The main alternative would be to rip the core of
ipc/msg.c:do_msgsnd() out and re-use that in place of the bulk of
restore_msg_contents_one().
Since a user can't specify a security context on an msg_msg (but
can on msgq) I think the end-result would be fine. It's a lot more
work and may cause some other problems, but OTOH we'd be using one
code path for msgsnd and its restore which would be a win.
thanks,
-serge
next prev parent reply other threads:[~2010-03-04 3:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-02 21:36 selinux prevents msgrcv on restore message queues? Nathan Lynch
[not found] ` <1267565774.11828.15.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-03-03 0:47 ` Serge E. Hallyn
[not found] ` <20100303004727.GA8272-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-03-03 1:19 ` Serge E. Hallyn
[not found] ` <20100303011941.GA10429-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-03-03 18:04 ` Nathan Lynch
[not found] ` <1267639445.11828.19.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-03-03 19:49 ` Serge E. Hallyn
[not found] ` <20100303194910.GC12379-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-03-03 21:56 ` Nathan Lynch
[not found] ` <1267653386.3559.9.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-03-03 23:44 ` Serge E. Hallyn
[not found] ` <20100303234448.GA27869-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-03-04 0:16 ` Nathan Lynch
[not found] ` <1267661777.3559.11.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-03-04 3:05 ` Serge E. Hallyn [this message]
2010-03-04 15:05 ` 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=20100304030525.GA8875@us.ibm.com \
--to=serue-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=ntl-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox