selinux prevents msgrcv on restore message queues?

Serge E. Hallyn serue at us.ibm.com
Tue Mar 2 16:47:27 PST 2010


Quoting Nathan Lynch (ntl at pobox.com):
> Hi,
> 
> With ckpt-v19-rc3 the test-mq.sh testcase in cr_tests fails when SELinux
> is enabled on my test system (64-bit powerpc kernel).  The testcase
> sleeps in do_msgrcv after restart and never wakes up.  When SELinux is
> disabled, the messages are received and the testcase passes.
> 
> I've established that the messages are being restored during restart --
> msgctl(IPC_STAT) shows one message in each queue before calling msgrcv.
> Adding the IPC_NOWAIT flag to the msgrcv calls gets ENOMSG, however.
> 
> I managed to narrow this down to security_msg_queue_msgrcv ->
> selinux_msg_queue_msgrcv.  avc_has_perm(SECCLASS_MSG, MSG__RECEIVE) gets
> -EACCESS, so I guess something is going awry in selinux restore hooks?
> 
> Any ideas?

Hmm, wait.  security_msg_msg_alloc() is being called after
security_msg_msg_restore.  That may not be what is causing
your troubles, but it's certainly not right.

-serge


More information about the Containers mailing list