summary refs log tree commit diff
path: root/net/ipv4/tcp.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@mandriva.com>2006-03-20 22:46:16 -0800
committerDavid S. Miller <davem@davemloft.net>2006-03-20 22:46:16 -0800
commitdec73ff0293d59076d1fd8f4a264898ecfc457ec (patch)
tree251a87b4b98d073fcd3753e01eea5ea44aaf9570 /net/ipv4/tcp.c
parentd1d47beef8ecaeedc368f00780d02cfa5e540005 (diff)
downloadlinux-dec73ff0293d59076d1fd8f4a264898ecfc457ec.tar.gz
[ICSK] compat: Introduce inet_csk_compat_[gs]etsockopt
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r--net/ipv4/tcp.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 31b0123a9699..89da253e33f0 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1882,16 +1882,9 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 int compat_tcp_setsockopt(struct sock *sk, int level,
 		int optname, char __user *optval, int optlen)
 {
-	struct inet_connection_sock *icsk = inet_csk(sk);
-
-	if (level != SOL_TCP) {
-		if (icsk->icsk_af_ops->compat_setsockopt)
-			return icsk->icsk_af_ops->compat_setsockopt(sk,
-				level, optname, optval, optlen);
-		else
-			return icsk->icsk_af_ops->setsockopt(sk,
-				level, optname, optval, optlen);
-	}
+	if (level != SOL_TCP)
+		return inet_csk_compat_setsockopt(sk, level, optname,
+						  optval, optlen);
 	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
 }
 #endif
@@ -2061,16 +2054,9 @@ int tcp_getsockopt(struct sock *sk, int level, int optname, char __user *optval,
 int compat_tcp_getsockopt(struct sock *sk, int level,
 		int optname, char __user *optval, int __user *optlen)
 {
-	struct inet_connection_sock *icsk = inet_csk(sk);
-
-	if (level != SOL_TCP) {
-		if (icsk->icsk_af_ops->compat_getsockopt)
-			return icsk->icsk_af_ops->compat_getsockopt(sk,
-				level, optname, optval, optlen);
-		else
-			return icsk->icsk_af_ops->getsockopt(sk,
-				level, optname, optval, optlen);
-	}
+	if (level != SOL_TCP)
+		return inet_csk_compat_getsockopt(sk, level, optname,
+						  optval, optlen);
 	return do_tcp_getsockopt(sk, level, optname, optval, optlen);
 }
 #endif