From 69531a11219874b7c0ff4b51a5bbbcf87c0873fe Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Thu, 15 Nov 2007 03:03:19 -0800 Subject: [PATCH] --- yaml --- r: 78122 b: refs/heads/master c: c0ef877b2c9f543e9fb7953bfe1a0cd3a4eae362 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/net/sock.h | 8 -------- trunk/net/core/sock.c | 20 +++++++++++--------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index b08d922dbbc0..53bd43db422d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de0fa95c14bc4d4b545fae26439371ebfdcb8534 +refs/heads/master: c0ef877b2c9f543e9fb7953bfe1a0cd3a4eae362 diff --git a/trunk/include/net/sock.h b/trunk/include/net/sock.h index f5b643714131..9c55af8e5f81 100644 --- a/trunk/include/net/sock.h +++ b/trunk/include/net/sock.h @@ -1396,14 +1396,6 @@ extern int net_msg_warn; lock_sock(sk); \ } -static inline void sock_valbool_flag(struct sock *sk, int bit, int valbool) -{ - if (valbool) - sock_set_flag(sk, bit); - else - sock_reset_flag(sk, bit); -} - extern __u32 sysctl_wmem_max; extern __u32 sysctl_rmem_max; diff --git a/trunk/net/core/sock.c b/trunk/net/core/sock.c index 2029d095b4c5..98b243a5b323 100644 --- a/trunk/net/core/sock.c +++ b/trunk/net/core/sock.c @@ -419,6 +419,14 @@ static int sock_bindtodevice(struct sock *sk, char __user *optval, int optlen) return ret; } +static inline void sock_valbool_flag(struct sock *sk, int bit, int valbool) +{ + if (valbool) + sock_set_flag(sk, bit); + else + sock_reset_flag(sk, bit); +} + /* * This is meant for all protocols to use and covers goings on * at the socket level. Everything here is generic. @@ -463,11 +471,8 @@ int sock_setsockopt(struct socket *sock, int level, int optname, case SO_DEBUG: if (val && !capable(CAP_NET_ADMIN)) { ret = -EACCES; - } - else if (valbool) - sock_set_flag(sk, SOCK_DBG); - else - sock_reset_flag(sk, SOCK_DBG); + } else + sock_valbool_flag(sk, SOCK_DBG, valbool); break; case SO_REUSEADDR: sk->sk_reuse = valbool; @@ -477,10 +482,7 @@ int sock_setsockopt(struct socket *sock, int level, int optname, ret = -ENOPROTOOPT; break; case SO_DONTROUTE: - if (valbool) - sock_set_flag(sk, SOCK_LOCALROUTE); - else - sock_reset_flag(sk, SOCK_LOCALROUTE); + sock_valbool_flag(sk, SOCK_LOCALROUTE, valbool); break; case SO_BROADCAST: sock_valbool_flag(sk, SOCK_BROADCAST, valbool);