DORMANTno replies

[PATCH][ATM][6/6] setsockopt/getsockopt cleanup

From: chas williams <hidden>
Date: 2003-10-14 03:47:19

please apply to 2.4 --thanks

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1144  -> 1.1145 
#	       net/atm/pvc.c	1.9     -> 1.10   
#	       net/atm/svc.c	1.10    -> 1.11   
#	    net/atm/common.h	1.9     -> 1.10   
#	    net/atm/common.c	1.26    -> 1.27   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/10/13	chas@relax.cmf.nrl.navy.mil	1.1145
# [ATM]: setsockopt/getsockopt cleanup
# --------------------------------------------
#
diff -Nru a/net/atm/common.c b/net/atm/common.c
--- a/net/atm/common.c	Mon Oct 13 18:41:42 2003
+++ b/net/atm/common.c	Mon Oct 13 18:41:42 2003
@@ -987,14 +987,16 @@
 	return check_tp(&qos->rxtp);
 }
 
-
-static int atm_do_setsockopt(struct socket *sock,int level,int optname,
-    void *optval,int optlen)
+int vcc_setsockopt(struct socket *sock, int level, int optname,
+		   char *optval, int optlen)
 {
 	struct atm_vcc *vcc;
 	unsigned long value;
 	int error;
 
+	if (__SO_LEVEL_MATCH(optname, level) && optlen != __SO_SIZE(optname))
+		return -EINVAL;
+
 	vcc = ATM_SD(sock);
 	switch (optname) {
 		case SO_ATMQOS:
@@ -1028,10 +1030,16 @@
 }
 
 
-static int atm_do_getsockopt(struct socket *sock,int level,int optname,
-    void *optval,int optlen)
+int vcc_getsockopt(struct socket *sock, int level, int optname,
+		   char *optval, int *optlen)
 {
 	struct atm_vcc *vcc;
+	int len;
+
+	if (get_user(len, optlen))
+		return -EFAULT;
+	if (__SO_LEVEL_MATCH(optname, level) && len != __SO_SIZE(optname))
+		return -EINVAL;
 
 	vcc = ATM_SD(sock);
 	switch (optname) {
@@ -1062,28 +1070,7 @@
 			break;
 	}
 	if (!vcc->dev || !vcc->dev->ops->getsockopt) return -EINVAL;
-	return vcc->dev->ops->getsockopt(vcc,level,optname,optval,optlen);
-}
-
-
-int atm_setsockopt(struct socket *sock,int level,int optname,char *optval,
-    int optlen)
-{
-	if (__SO_LEVEL_MATCH(optname, level) && optlen != __SO_SIZE(optname))
-		return -EINVAL;
-	return atm_do_setsockopt(sock,level,optname,optval,optlen);
-}
-
-
-int atm_getsockopt(struct socket *sock,int level,int optname,
-    char *optval,int *optlen)
-{
-	int len;
-
-	if (get_user(len,optlen)) return -EFAULT;
-	if (__SO_LEVEL_MATCH(optname, level) && len != __SO_SIZE(optname))
-		return -EINVAL;
-	return atm_do_getsockopt(sock,level,optname,optval,len);
+	return vcc->dev->ops->getsockopt(vcc, level, optname, optval, len);
 }
 
 
diff -Nru a/net/atm/common.h b/net/atm/common.h
--- a/net/atm/common.h	Mon Oct 13 18:41:42 2003
+++ b/net/atm/common.h	Mon Oct 13 18:41:42 2003
@@ -19,10 +19,10 @@
 		struct scm_cookie *scm);
 unsigned int atm_poll(struct file *file,struct socket *sock,poll_table *wait);
 int vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
-int atm_setsockopt(struct socket *sock,int level,int optname,char *optval,
-    int optlen);
-int atm_getsockopt(struct socket *sock,int level,int optname,char *optval,
-    int *optlen);
+int vcc_setsockopt(struct socket *sock, int level, int optname, char *optval,
+		   int optlen);
+int vcc_getsockopt(struct socket *sock, int level, int optname, char *optval,
+		   int *optlen);
 
 void atm_shutdown_dev(struct atm_dev *dev);
 
diff -Nru a/net/atm/pvc.c b/net/atm/pvc.c
--- a/net/atm/pvc.c	Mon Oct 13 18:41:42 2003
+++ b/net/atm/pvc.c	Mon Oct 13 18:41:42 2003
@@ -67,7 +67,7 @@
 	int error;
 
 	lock_sock(sk);
-	error = atm_setsockopt(sock, level, optname, optval, optlen);
+	error = vcc_setsockopt(sock, level, optname, optval, optlen);
 	release_sock(sk);
 	return error;
 }
@@ -80,7 +80,7 @@
 	int error;
 
 	lock_sock(sk);
-	error = atm_getsockopt(sock, level, optname, optval, optlen);
+	error = vcc_getsockopt(sock, level, optname, optval, optlen);
 	release_sock(sk);
 	return error;
 }
diff -Nru a/net/atm/svc.c b/net/atm/svc.c
--- a/net/atm/svc.c	Mon Oct 13 18:41:42 2003
+++ b/net/atm/svc.c	Mon Oct 13 18:41:42 2003
@@ -470,7 +470,7 @@
 
 	if (!__SO_LEVEL_MATCH(optname, level) || optname != SO_ATMSAP ||
 	    optlen != sizeof(struct atm_sap)) {
-		error = atm_setsockopt(sock, level, optname, optval, optlen);
+		error = vcc_setsockopt(sock, level, optname, optval, optlen);
 		goto out;
 	}
 	vcc = ATM_SD(sock);
@@ -493,7 +493,7 @@
 
 	lock_sock(sk);
 	if (!__SO_LEVEL_MATCH(optname, level) || optname != SO_ATMSAP) {
-		error = atm_getsockopt(sock, level, optname, optval, optlen);
+		error = vcc_getsockopt(sock, level, optname, optval, optlen);
 		goto out;
 	}
 	if (get_user(len, optlen)) {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help