SELinux: restore proper NetLabel caching behavior
Subsystems (3)
PATCH 1/1 SELinux: restore proper NetLabel caching behavior
A small fix to the SELinux/NetLabel glue code to ensure that the NetLabel cache is utilized when possible. This was broken when the SELinux/NetLabel glue code was reorganized in the last kernel release.
--- include/net/netlabel.h | 2 ++ security/selinux/netlabel.c | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-)
include/net/netlabel.h +2 -0
@@ -132,6 +132,8 @@ struct netlbl_lsm_secattr_catmap {#define NETLBL_SECATTR_CACHE 0x00000002#define NETLBL_SECATTR_MLS_LVL 0x00000004#define NETLBL_SECATTR_MLS_CAT 0x00000008 +#define NETLBL_SECATTR_CACHEABLE (NETLBL_SECATTR_MLS_LVL | \ + NETLBL_SECATTR_MLS_CAT)struct netlbl_lsm_secattr {u32 flags;
security/selinux/netlabel.c +12 -4
@@ -162,9 +162,13 @@ int selinux_netlbl_skbuff_getsid(structnetlbl_secattr_init (&secattr); rc =netlbl_skbuff_getattr (skb, &secattr); -if (rc ==0 && secattr.flags !=NETLBL_SECATTR_NONE ) +if (rc ==0 && secattr.flags !=NETLBL_SECATTR_NONE ) { rc =security_netlbl_secattr_to_sid (&secattr, base_sid, sid); -else +if (rc ==0 && + (secattr.flags &NETLBL_SECATTR_CACHEABLE ) && + (secattr.flags &NETLBL_SECATTR_CACHE )) +netlbl_cache_add (skb, &secattr); + }else *sid =SECSID_NULL ;netlbl_secattr_destroy (&secattr);
@@ -307,11 +311,15 @@ int selinux_netlbl_sock_rcv_skb(struct snetlbl_secattr_init (&secattr); rc =netlbl_skbuff_getattr (skb, &secattr); -if (rc ==0 && secattr.flags !=NETLBL_SECATTR_NONE ) +if (rc ==0 && secattr.flags !=NETLBL_SECATTR_NONE ) { rc =security_netlbl_secattr_to_sid (&secattr,SECINITSID_NETMSG , &nlbl_sid); -else +if (rc ==0 && + (secattr.flags &NETLBL_SECATTR_CACHEABLE ) && + (secattr.flags &NETLBL_SECATTR_CACHE )) +netlbl_cache_add (skb, &secattr); + }else nlbl_sid =SECINITSID_UNLABELED ;netlbl_secattr_destroy (&secattr);if (rc !=0 )
Signature · 8 lines
paul moore linux security @ hp -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.
Quoted 3 lines · Paul Moore
A small fix to the SELinux/NetLabel glue code to ensure that the NetLabel cache is utilized when possible. This was broken when the SELinux/NetLabel glue code was reorganized in the last kernel release.
I forgot to add that this patch is against Linus' tree from earlier today and has been tested on a Rawhide box w/o any problems.
Signature · 7 lines
paul moore linux security @ hp -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.
Quoted 5 lines · Paul Moore
A small fix to the SELinux/NetLabel glue code to ensure that the NetLabel cache is utilized when possible. This was broken when the SELinux/NetLabel glue code was reorganized in the last kernel release.
Signed-off-by Paul Moore <[email protected]>
Applied togit://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6.git#for-akpm
Signature · 7 lines
James Morris <[email protected]> -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.