]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/llc/af_llc.c
piix: add ->remove method and module_exit()
[linux-2.6-omap-h63xx.git] / net / llc / af_llc.c
index f93b576185823321ce38897ce450a7990f263fbb..5bcc452a247fb54338dc1fac77563df7d6c49f4a 100644 (file)
@@ -128,10 +128,8 @@ static int llc_ui_send_data(struct sock* sk, struct sk_buff *skb, int noblock)
 
 static void llc_ui_sk_init(struct socket *sock, struct sock *sk)
 {
+       sock_graft(sk, sock);
        sk->sk_type     = sock->type;
-       sk->sk_sleep    = &sock->wait;
-       sk->sk_socket   = sock;
-       sock->sk        = sk;
        sock->ops       = &llc_ui_ops;
 }
 
@@ -155,6 +153,9 @@ static int llc_ui_create(struct net *net, struct socket *sock, int protocol)
        struct sock *sk;
        int rc = -ESOCKTNOSUPPORT;
 
+       if (!capable(CAP_NET_RAW))
+               return -EPERM;
+
        if (net != &init_net)
                return -EAFNOSUPPORT;