Merge commit 'v2.6.30' into for-2.6.31
[safe/jmp/linux-2.6] / security / selinux / netlink.c
index f49046d..1ae5564 100644 (file)
 #include <linux/skbuff.h>
 #include <linux/netlink.h>
 #include <linux/selinux_netlink.h>
+#include <net/net_namespace.h>
 
 static struct sock *selnl;
 
 static int selnl_msglen(int msgtype)
 {
        int ret = 0;
-       
+
        switch (msgtype) {
        case SELNL_MSG_SETENFORCE:
                ret = sizeof(struct selnl_msg_setenforce);
                break;
-       
+
        case SELNL_MSG_POLICYLOAD:
                ret = sizeof(struct selnl_msg_policyload);
                break;
-               
+
        default:
                BUG();
        }
@@ -44,15 +45,15 @@ static void selnl_add_payload(struct nlmsghdr *nlh, int len, int msgtype, void *
        switch (msgtype) {
        case SELNL_MSG_SETENFORCE: {
                struct selnl_msg_setenforce *msg = NLMSG_DATA(nlh);
-               
+
                memset(msg, 0, len);
                msg->val = *((int *)data);
                break;
        }
-       
+
        case SELNL_MSG_POLICYLOAD: {
                struct selnl_msg_policyload *msg = NLMSG_DATA(nlh);
-               
+
                memset(msg, 0, len);
                msg->seqno = *((u32 *)data);
                break;
@@ -69,9 +70,9 @@ static void selnl_notify(int msgtype, void *data)
        sk_buff_data_t tmp;
        struct sk_buff *skb;
        struct nlmsghdr *nlh;
-       
+
        len = selnl_msglen(msgtype);
-       
+
        skb = alloc_skb(NLMSG_SPACE(len), GFP_USER);
        if (!skb)
                goto oom;
@@ -84,11 +85,11 @@ static void selnl_notify(int msgtype, void *data)
        netlink_broadcast(selnl, skb, 0, SELNLGRP_AVC, GFP_USER);
 out:
        return;
-       
+
 nlmsg_failure:
        kfree_skb(skb);
 oom:
-       printk(KERN_ERR "SELinux:  OOM in %s\n", __FUNCTION__);
+       printk(KERN_ERR "SELinux:  OOM in %s\n", __func__);
        goto out;
 }
 
@@ -104,11 +105,11 @@ void selnl_notify_policyload(u32 seqno)
 
 static int __init selnl_init(void)
 {
-       selnl = netlink_kernel_create(NETLINK_SELINUX, SELNLGRP_MAX, NULL, NULL,
-                                     THIS_MODULE);
+       selnl = netlink_kernel_create(&init_net, NETLINK_SELINUX,
+                                     SELNLGRP_MAX, NULL, NULL, THIS_MODULE);
        if (selnl == NULL)
                panic("SELinux:  Cannot create netlink socket.");
-       netlink_set_nonroot(NETLINK_SELINUX, NL_NONROOT_RECV);  
+       netlink_set_nonroot(NETLINK_SELINUX, NL_NONROOT_RECV);
        return 0;
 }