patch-2.3.15 linux/net/ax25/af_ax25.c

Next file: linux/net/ax25/ax25_in.c
Previous file: linux/net/atm/tunable.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.14/linux/net/ax25/af_ax25.c linux/net/ax25/af_ax25.c
@@ -125,7 +125,7 @@
 #include <linux/notifier.h>
 #include <linux/proc_fs.h>
 #include <linux/stat.h>
-#include <linux/firewall.h>
+#include <linux/netfilter.h>
 #include <linux/sysctl.h>
 #include <linux/init.h>
 #include <net/ip.h>
@@ -928,7 +928,7 @@
 	return sk;
 }
 
-static int ax25_release(struct socket *sock, struct socket *peer)
+static int ax25_release(struct socket *sock)
 {
 	struct sock *sk = sock->sk;
 
@@ -1226,15 +1226,6 @@
 	if (sock->state != SS_UNCONNECTED)
 		return -EINVAL;
 
-	/*
-	 * sys_accept has already allocated a struct sock. we need to free it, 
-	 * since we want to use the one provided by ax25_make_new.
-	 */
-	if (newsock->sk != NULL) {
-		sk_free(newsock->sk);
-		newsock->sk = NULL;
-	}
-
 	if ((sk = sock->sk) == NULL)
 		return -EINVAL;
 
@@ -1716,10 +1707,9 @@
 	ax25_create
 };
 
-static struct proto_ops ax25_proto_ops = {
+static struct proto_ops SOCKOPS_WRAPPED(ax25_proto_ops) = {
 	PF_AX25,
 
-	sock_no_dup,
 	ax25_release,
 	ax25_bind,
 	ax25_connect,
@@ -1734,9 +1724,13 @@
 	ax25_getsockopt,
 	sock_no_fcntl,
 	ax25_sendmsg,
-	ax25_recvmsg
+	ax25_recvmsg,
+	sock_no_mmap
 };
 
+#include <linux/smp_lock.h>
+SOCKOPS_WRAP(ax25_proto, PF_AX25);
+
 /*
  *	Called by socket.c on kernel start up
  */
@@ -1793,7 +1787,7 @@
 };
 #endif
 
-__initfunc(void ax25_proto_init(struct net_proto *pro))
+void __init ax25_proto_init(struct net_proto *pro)
 {
 	sock_register(&ax25_family_ops);
 	ax25_packet_type.type = htons(ETH_P_AX25);

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