OpenCloudOS-Kernel/security/selinux
David Howells 69664cf16a keys: don't generate user and user session keyrings unless they're accessed
Don't generate the per-UID user and user session keyrings unless they're
explicitly accessed.  This solves a problem during a login process whereby
set*uid() is called before the SELinux PAM module, resulting in the per-UID
keyrings having the wrong security labels.

This also cures the problem of multiple per-UID keyrings sometimes appearing
due to PAM modules (including pam_keyinit) setuiding and causing user_structs
to come into and go out of existence whilst the session keyring pins the user
keyring.  This is achieved by first searching for extant per-UID keyrings
before inventing new ones.

The serial bound argument is also dropped from find_keyring_by_name() as it's
not currently made use of (setting it to 0 disables the feature).

Signed-off-by: David Howells <dhowells@redhat.com>
Cc: <kwc@citi.umich.edu>
Cc: <arunsr@cse.iitk.ac.in>
Cc: <dwalsh@redhat.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: James Morris <jmorris@namei.org>
Cc: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-29 08:06:17 -07:00
..
include xattr: add missing consts to function arguments 2008-04-29 08:06:06 -07:00
ss xattr: add missing consts to function arguments 2008-04-29 08:06:06 -07:00
Kconfig selinux: introduce permissive types 2008-04-18 20:26:11 +10:00
Makefile SELinux: Add network port SID cache 2008-04-18 20:26:16 +10:00
avc.c SELinux fixups needed for preemptable RCU from -rt 2008-04-22 15:37:23 +10:00
exports.c SELinux: remove redundant exports 2008-04-19 09:52:36 +10:00
hooks.c keys: don't generate user and user session keyrings unless they're accessed 2008-04-29 08:06:17 -07:00
netif.c SELinux fixups needed for preemptable RCU from -rt 2008-04-22 15:37:23 +10:00
netlabel.c SELinux: netlabel.c whitespace, syntax, and static declaraction cleanups 2008-04-21 19:05:04 +10:00
netlink.c SELinux: netlink.c whitespace, syntax, and static declaraction cleanups 2008-04-21 19:05:05 +10:00
netnode.c SELinux: Made netnode cache adds faster 2008-04-28 09:36:23 +10:00
netport.c SELinux: Fix a RCU free problem with the netport cache 2008-04-28 09:36:27 +10:00
nlmsgtab.c SELinux: nlmsgtab.c whitespace, syntax, and static declaraction cleanups 2008-04-21 19:05:07 +10:00
selinuxfs.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 2008-04-21 16:01:40 -07:00
xfrm.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 2008-04-21 16:01:40 -07:00