[PATCH] hvc_console suspend fix
[powerpc.git] / net / netlink / genetlink.c
index 43e7241..a298f77 100644 (file)
@@ -5,7 +5,6 @@
  *                             Thomas Graf <tgraf@suug.ch>
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/errno.h>
 #include <linux/socket.h>
 #include <linux/string.h>
 #include <linux/skbuff.h>
+#include <linux/mutex.h>
 #include <net/sock.h>
 #include <net/genetlink.h>
 
 struct sock *genl_sock = NULL;
 
-static DECLARE_MUTEX(genl_sem); /* serialization of message processing */
+static DEFINE_MUTEX(genl_mutex); /* serialization of message processing */
 
 static void genl_lock(void)
 {
-       down(&genl_sem);
+       mutex_lock(&genl_mutex);
 }
 
 static int genl_trylock(void)
 {
-       return down_trylock(&genl_sem);
+       return !mutex_trylock(&genl_mutex);
 }
 
 static void genl_unlock(void)
 {
-       up(&genl_sem);
+       mutex_unlock(&genl_mutex);
 
        if (genl_sock && genl_sock->sk_receive_queue.qlen)
                genl_sock->sk_data_ready(genl_sock, 0);
@@ -319,7 +319,7 @@ static int genl_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh,
                goto errout;
        }
 
-       if ((ops->flags & GENL_ADMIN_PERM) && security_netlink_recv(skb)) {
+       if ((ops->flags & GENL_ADMIN_PERM) && security_netlink_recv(skb, CAP_NET_ADMIN)) {
                err = -EPERM;
                goto errout;
        }