]> git.hungrycats.org Git - linux/commitdiff
[NET]: Nuke SO_BSDCOMPAT.
authorJames Morris <jmorris@intercode.com.au>
Sat, 8 Mar 2003 03:39:11 +0000 (19:39 -0800)
committerDavid S. Miller <davem@nuts.ninka.net>
Sat, 8 Mar 2003 03:39:11 +0000 (19:39 -0800)
arch/sparc/kernel/sys_sunos.c
arch/sparc/kernel/systbls.S
arch/sparc64/kernel/sys_sunos32.c
arch/sparc64/kernel/systbls.S
include/net/sock.h
net/core/sock.c

index 383012ad6d90a7d9ee186d57254c41934acb7236..ef3af9e1909b386d942f9709fd7ec7f0c04b9867 100644 (file)
@@ -1107,38 +1107,16 @@ asmlinkage int sunos_send(int fd, void * buff, int len, unsigned flags)
        return ret;
 }
 
-extern asmlinkage int sys_setsockopt(int fd, int level, int optname,
-                                    char *optval, int optlen);
-
-asmlinkage int sunos_socket(int family, int type, int protocol)
-{
-       int ret, one = 1;
-
-       ret = sys_socket(family, type, protocol);
-       if (ret < 0)
-               goto out;
-
-       sys_setsockopt(ret, SOL_SOCKET, SO_BSDCOMPAT,
-                      (char *)&one, sizeof(one));
-out:
-       return ret;
-}
-
 asmlinkage int sunos_accept(int fd, struct sockaddr *sa, int *addrlen)
 {
-       int ret, one = 1;
+       int ret;
 
        while (1) {
                ret = check_nonblock(sys_accept(fd,sa,addrlen),fd);     
                if (ret != -ENETUNREACH && ret != -EHOSTUNREACH)
                        break;
        }
-       if (ret < 0)
-               goto out;
 
-       sys_setsockopt(ret, SOL_SOCKET, SO_BSDCOMPAT,
-                      (char *)&one, sizeof(one));
-out:
        return ret;
 }
 
index 24b951abb011c6715a86ac95aa20cea862b3761a..fcacc76720a0e5365ac9f386b4bc466cd551ee54 100644 (file)
@@ -110,7 +110,7 @@ sunos_sys_table:
        .long sys_getitimer, sys_gethostname, sys_sethostname
        .long sunos_getdtablesize, sys_dup2, sunos_nop
        .long sys_fcntl, sunos_select, sunos_nop
-       .long sys_fsync, sys_setpriority, sunos_socket
+       .long sys_fsync, sys_setpriority, sys_socket
        .long sys_connect, sunos_accept
 /*100*/        .long sys_getpriority, sunos_send, sunos_recv
        .long sunos_nosys, sys_bind, sunos_setsockopt
index 0921552a7185dda2af60d6e0c0b92724dc909691..e12692c603a8243426cb1445ae2c7528c4db23da 100644 (file)
@@ -1254,26 +1254,9 @@ asmlinkage int sunos_send(int fd, u32 buff, int len, unsigned flags)
        return ret;
 }
 
-extern asmlinkage int sys_setsockopt(int fd, int level, int optname,
-                                    char *optval, int optlen);
-
-asmlinkage int sunos_socket(int family, int type, int protocol)
-{
-       int ret, one = 1;
-
-       ret = sys_socket(family, type, protocol);
-       if (ret < 0)
-               goto out;
-
-       sys_setsockopt(ret, SOL_SOCKET, SO_BSDCOMPAT,
-                      (char *)&one, sizeof(one));
-out:
-       return ret;
-}
-
 asmlinkage int sunos_accept(int fd, u32 sa, u32 addrlen)
 {
-       int ret, one = 1;
+       int ret;
 
        while (1) {
                ret = check_nonblock(sys_accept(fd, (struct sockaddr *)A(sa),
@@ -1281,12 +1264,6 @@ asmlinkage int sunos_accept(int fd, u32 sa, u32 addrlen)
                if (ret != -ENETUNREACH && ret != -EHOSTUNREACH)
                        break;
        }
-       if (ret < 0)
-               goto out;
-
-       sys_setsockopt(ret, SOL_SOCKET, SO_BSDCOMPAT,
-                      (char *)&one, sizeof(one));
-out:
        return ret;
 }
 
index d9ad48b10082a584d15d33d265e3541b696ba035..4b578c8e284cd7d9b26185b41605ff4ceae761cb 100644 (file)
@@ -173,7 +173,7 @@ sunos_sys_table:
        .word compat_sys_getitimer, sys_gethostname, sys_sethostname
        .word sunos_getdtablesize, sys_dup2, sunos_nop
        .word sys32_fcntl, sunos_select, sunos_nop
-       .word sys_fsync, sys_setpriority32, sunos_socket
+       .word sys_fsync, sys_setpriority32, sys_socket
        .word sys_connect, sunos_accept
 /*100*/        .word sys_getpriority, sunos_send, sunos_recv
        .word sunos_nosys, sys_bind, sunos_setsockopt
index eb4d78febe33e893d6bfc36ef1b0d59d078ef9a6..df20f44552bfddc522cfc9839e5a4012ecc10352 100644 (file)
@@ -70,7 +70,6 @@ enum {
        SOCK_LINGER,
        SOCK_DESTROY,
        SOCK_BROADCAST,
-       SOCK_BSDISM,
 };
 
 /* Define this to get the sk->debug debugging facility. */
index 36169dbebc6448753096743cfa9be787bcb6c502..6f06e0d462295a082e93f31a0a123cc9ed38a642 100644 (file)
@@ -153,6 +153,12 @@ static int sock_set_timeout(long *timeo_p, char *optval, int optlen)
        return 0;
 }
 
+static void sock_warn_obsolete_bsdism(const char *name)
+{
+       printk(KERN_WARNING "process `%s' is using obsolete "
+              "%s SO_BSDCOMPAT\n", current->comm, name);
+}
+
 /*
  *     This is meant for all protocols to use and covers goings on
  *     at the socket level. Everything here is generic.
@@ -303,7 +309,7 @@ int sock_setsockopt(struct socket *sock, int level, int optname,
                        break;
 
                case SO_BSDCOMPAT:
-                       sock_valbool_flag(sk, SOCK_BSDISM, valbool);
+                       sock_warn_obsolete_bsdism("setsockopt");
                        break;
 
                case SO_PASSCRED:
@@ -491,7 +497,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
                        break;
                                        
                case SO_BSDCOMPAT:
-                       v.val = test_bit(SOCK_BSDISM, &sk->flags);
+                       sock_warn_obsolete_bsdism("getsockopt");
                        break;
 
                case SO_TIMESTAMP: