All of lore.kernel.org
 help / color / mirror / Atom feed
* [refpolicy] RFC: kernel_t exec rights on cgroup_t files
@ 2013-02-12 19:47 Sven Vermeulen
  2013-02-12 20:00 ` Dominick Grift
  0 siblings, 1 reply; 10+ messages in thread
From: Sven Vermeulen @ 2013-02-12 19:47 UTC (permalink / raw)
  To: refpolicy

Hi guys,

When cgroups are mounted, we get the following error:

#v+
Feb 12 16:40:21 mygoo kernel: [    7.416048] grsec: mount of cpuacct to /sys/fs/cgroup/cpuacct by /bin/mount[mount:1038] uid/euid:0/0 gid/egid:0/0, parent /lib64/rc/sh/runscript.sh[runscript.sh:1014] uid/euid:0/0 gid/egid:0/0
Feb 12 16:40:21 mygoo kernel: [    7.425020] cgroup_addrm_files: failed to add tasks, err=-13
Feb 12 16:40:21 mygoo kernel: [    7.425024] cgroup_addrm_files: failed to add cgroup.procs, err=-13
Feb 12 16:40:21 mygoo kernel: [    7.425026] cgroup_addrm_files: failed to add notify_on_release, err=-13
Feb 12 16:40:21 mygoo kernel: [    7.425028] cgroup_addrm_files: failed to add cgroup.event_control, err=-13
Feb 12 16:40:21 mygoo kernel: [    7.425030] cgroup_addrm_files: failed to add cgroup.clone_children, err=-13
Feb 12 16:40:21 mygoo kernel: [    7.425032] cgroup_addrm_files: failed to add release_agent, err=-13
Feb 12 16:40:21 mygoo kernel: [    7.425038] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contexts
#v-

It seems that, when adding the files in the cgroup locations, somewhere in
the chain the EXEC rights are checked. If they fail, then the flow stops
with a ENOACCESS error.

cgroup_addrm_files
`- cgroup_add_file
   `- lookup_one_len
      `- inode_permission(base->d_inode, MAY_EXEC)
         `- __inode_permission
	    (etc)

Adding something like "allow kernel_t cgroup_t:file exec_file_perms;" is
sufficient to stop the errors from coming up, but I'm having a few doubts:

- Why does it check MAY_EXEC in order to add files? 
- Why does it work to allow this on the /file/ class whereas I think the
  MAY_EXEC is on the directory?

Is it the right road to go to look for the least privilege to grant on
kernel_t for this (audit_access I think?) Or should this be handled
differently?

Wkr,
	Sven Vermeulen

PS Thanks to Luis Ressel for debugging this this far.

^ permalink raw reply	[flat|nested] 10+ messages in thread
* [refpolicy]  RFC: kernel_t exec rights on cgroup_t files
@ 2013-02-12 20:31 aranea at aixah.de
  2013-02-12 20:34 ` Dominick Grift
  0 siblings, 1 reply; 10+ messages in thread
From: aranea at aixah.de @ 2013-02-12 20:31 UTC (permalink / raw)
  To: refpolicy

Hi, I made a mistake while debugging.


allow kernel_t cgroup_t:file exec_file_perms;
allow kernel_t cgroup_t:dir list_dir_perms;

(which I originally tried) doesn't solve the problem, and neither does
the proposed

dontaudit kernel_t cgroup_t:file execute;
allow kernel_t cgroup_t:file audit_access;


Regards,
Luis Ressel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
Url : http://oss.tresys.com/pipermail/refpolicy/attachments/20130212/fdc465a5/attachment.bin 

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-02-15 21:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-12 19:47 [refpolicy] RFC: kernel_t exec rights on cgroup_t files Sven Vermeulen
2013-02-12 20:00 ` Dominick Grift
  -- strict thread matches above, loose matches on Subject: below --
2013-02-12 20:31 aranea at aixah.de
2013-02-12 20:34 ` Dominick Grift
2013-02-12 20:47   ` aranea at aixah.de
2013-02-12 21:12     ` Dominick Grift
2013-02-12 21:25       ` aranea at aixah.de
2013-02-12 21:32         ` aranea at aixah.de
2013-02-12 21:51           ` aranea at aixah.de
2013-02-15 21:12             ` Luis Ressel

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.