patch-2.3.15 linux/net/rose/af_rose.c

Next file: linux/net/rose/rose_link.c
Previous file: linux/net/protocols.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.14/linux/net/rose/af_rose.c linux/net/rose/af_rose.c
@@ -618,7 +618,7 @@
 	return sk;
 }
 
-static int rose_release(struct socket *sock, struct socket *peer)
+static int rose_release(struct socket *sock)
 {
 	struct sock *sk = sock->sk;
 
@@ -847,11 +847,6 @@
 	struct sock *newsk;
 	struct sk_buff *skb;
 
-	if (newsock->sk != NULL)
-		rose_destroy_socket(newsock->sk);
-
-	newsock->sk = NULL;
-
 	if ((sk = sock->sk) == NULL)
 		return -EINVAL;
 
@@ -1438,10 +1433,9 @@
 	rose_create
 };
 
-static struct proto_ops rose_proto_ops = {
+static struct proto_ops SOCKOPS_WRAPPED(rose_proto_ops) = {
 	PF_ROSE,
 
-	sock_no_dup,
 	rose_release,
 	rose_bind,
 	rose_connect,
@@ -1456,8 +1450,12 @@
 	rose_getsockopt,
 	sock_no_fcntl,
 	rose_sendmsg,
-	rose_recvmsg
+	rose_recvmsg,
+	sock_no_mmap
 };
+
+#include <linux/smp_lock.h>
+SOCKOPS_WRAP(rose_proto, PF_ROSE);
 
 static struct notifier_block rose_dev_notifier = {
 	rose_device_event,

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)