aboutsummaryrefslogtreecommitdiffstats
path: root/net/netlink
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2015-05-07 05:02:52 -0400
committerDavid S. Miller <davem@davemloft.net>2015-05-09 22:15:31 -0400
commitcc3a572fe6cf586f478546215bc5d3694357d71e (patch)
treed1deb767f5742b6d4b3c7dcb8b641836fd064082 /net/netlink
parent95f38411df055a0ecefe3a3d119d98241087d5ca (diff)
netlink: rename private flags and states
These flags and states have the same prefix (NETLINK_) that netlink socket options. To avoid confusion and to be able to name a flag like a socket option, let's use an other prefix: NETLINK_[S|F]_. Note: a comment has been fixed, it was talking about NETLINK_RECV_NO_ENOBUFS socket option instead of NETLINK_NO_ENOBUFS. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink')
-rw-r--r--net/netlink/af_netlink.c59
1 files changed, 30 insertions, 29 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index ec4adbdcb9b4..bf7f56d7a9aa 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -76,17 +76,17 @@ struct listeners {
76}; 76};
77 77
78/* state bits */ 78/* state bits */
79#define NETLINK_CONGESTED 0x0 79#define NETLINK_S_CONGESTED 0x0
80 80
81/* flags */ 81/* flags */
82#define NETLINK_KERNEL_SOCKET 0x1 82#define NETLINK_F_KERNEL_SOCKET 0x1
83#define NETLINK_RECV_PKTINFO 0x2 83#define NETLINK_F_RECV_PKTINFO 0x2
84#define NETLINK_BROADCAST_SEND_ERROR 0x4 84#define NETLINK_F_BROADCAST_SEND_ERROR 0x4
85#define NETLINK_RECV_NO_ENOBUFS 0x8 85#define NETLINK_F_RECV_NO_ENOBUFS 0x8
86 86
87static inline int netlink_is_kernel(struct sock *sk) 87static inline int netlink_is_kernel(struct sock *sk)
88{ 88{
89 return nlk_sk(sk)->flags & NETLINK_KERNEL_SOCKET; 89 return nlk_sk(sk)->flags & NETLINK_F_KERNEL_SOCKET;
90} 90}
91 91
92struct netlink_table *nl_table; 92struct netlink_table *nl_table;
@@ -256,8 +256,9 @@ static void netlink_overrun(struct sock *sk)
256{ 256{
257 struct netlink_sock *nlk = nlk_sk(sk); 257 struct netlink_sock *nlk = nlk_sk(sk);
258 258
259 if (!(nlk->flags & NETLINK_RECV_NO_ENOBUFS)) { 259 if (!(nlk->flags & NETLINK_F_RECV_NO_ENOBUFS)) {
260 if (!test_and_set_bit(NETLINK_CONGESTED, &nlk_sk(sk)->state)) { 260 if (!test_and_set_bit(NETLINK_S_CONGESTED,
261 &nlk_sk(sk)->state)) {
261 sk->sk_err = ENOBUFS; 262 sk->sk_err = ENOBUFS;
262 sk->sk_error_report(sk); 263 sk->sk_error_report(sk);
263 } 264 }
@@ -270,8 +271,8 @@ static void netlink_rcv_wake(struct sock *sk)
270 struct netlink_sock *nlk = nlk_sk(sk); 271 struct netlink_sock *nlk = nlk_sk(sk);
271 272
272 if (skb_queue_empty(&sk->sk_receive_queue)) 273 if (skb_queue_empty(&sk->sk_receive_queue))
273 clear_bit(NETLINK_CONGESTED, &nlk->state); 274 clear_bit(NETLINK_S_CONGESTED, &nlk->state);
274 if (!test_bit(NETLINK_CONGESTED, &nlk->state)) 275 if (!test_bit(NETLINK_S_CONGESTED, &nlk->state))
275 wake_up_interruptible(&nlk->wait); 276 wake_up_interruptible(&nlk->wait);
276} 277}
277 278
@@ -1656,7 +1657,7 @@ int netlink_attachskb(struct sock *sk, struct sk_buff *skb,
1656 nlk = nlk_sk(sk); 1657 nlk = nlk_sk(sk);
1657 1658
1658 if ((atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf || 1659 if ((atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf ||
1659 test_bit(NETLINK_CONGESTED, &nlk->state)) && 1660 test_bit(NETLINK_S_CONGESTED, &nlk->state)) &&
1660 !netlink_skb_is_mmaped(skb)) { 1661 !netlink_skb_is_mmaped(skb)) {
1661 DECLARE_WAITQUEUE(wait, current); 1662 DECLARE_WAITQUEUE(wait, current);
1662 if (!*timeo) { 1663 if (!*timeo) {
@@ -1671,7 +1672,7 @@ int netlink_attachskb(struct sock *sk, struct sk_buff *skb,
1671 add_wait_queue(&nlk->wait, &wait); 1672 add_wait_queue(&nlk->wait, &wait);
1672 1673
1673 if ((atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf || 1674 if ((atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf ||
1674 test_bit(NETLINK_CONGESTED, &nlk->state)) && 1675 test_bit(NETLINK_S_CONGESTED, &nlk->state)) &&
1675 !sock_flag(sk, SOCK_DEAD)) 1676 !sock_flag(sk, SOCK_DEAD))
1676 *timeo = schedule_timeout(*timeo); 1677 *timeo = schedule_timeout(*timeo);
1677 1678
@@ -1895,7 +1896,7 @@ static int netlink_broadcast_deliver(struct sock *sk, struct sk_buff *skb)
1895 struct netlink_sock *nlk = nlk_sk(sk); 1896 struct netlink_sock *nlk = nlk_sk(sk);
1896 1897
1897 if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf && 1898 if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf &&
1898 !test_bit(NETLINK_CONGESTED, &nlk->state)) { 1899 !test_bit(NETLINK_S_CONGESTED, &nlk->state)) {
1899 netlink_skb_set_owner_r(skb, sk); 1900 netlink_skb_set_owner_r(skb, sk);
1900 __netlink_sendskb(sk, skb); 1901 __netlink_sendskb(sk, skb);
1901 return atomic_read(&sk->sk_rmem_alloc) > (sk->sk_rcvbuf >> 1); 1902 return atomic_read(&sk->sk_rmem_alloc) > (sk->sk_rcvbuf >> 1);
@@ -1956,7 +1957,7 @@ static void do_one_broadcast(struct sock *sk,
1956 netlink_overrun(sk); 1957 netlink_overrun(sk);
1957 /* Clone failed. Notify ALL listeners. */ 1958 /* Clone failed. Notify ALL listeners. */
1958 p->failure = 1; 1959 p->failure = 1;
1959 if (nlk->flags & NETLINK_BROADCAST_SEND_ERROR) 1960 if (nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR)
1960 p->delivery_failure = 1; 1961 p->delivery_failure = 1;
1961 } else if (p->tx_filter && p->tx_filter(sk, p->skb2, p->tx_data)) { 1962 } else if (p->tx_filter && p->tx_filter(sk, p->skb2, p->tx_data)) {
1962 kfree_skb(p->skb2); 1963 kfree_skb(p->skb2);
@@ -1966,7 +1967,7 @@ static void do_one_broadcast(struct sock *sk,
1966 p->skb2 = NULL; 1967 p->skb2 = NULL;
1967 } else if ((val = netlink_broadcast_deliver(sk, p->skb2)) < 0) { 1968 } else if ((val = netlink_broadcast_deliver(sk, p->skb2)) < 0) {
1968 netlink_overrun(sk); 1969 netlink_overrun(sk);
1969 if (nlk->flags & NETLINK_BROADCAST_SEND_ERROR) 1970 if (nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR)
1970 p->delivery_failure = 1; 1971 p->delivery_failure = 1;
1971 } else { 1972 } else {
1972 p->congested |= val; 1973 p->congested |= val;
@@ -2057,7 +2058,7 @@ static int do_one_set_err(struct sock *sk, struct netlink_set_err_data *p)
2057 !test_bit(p->group - 1, nlk->groups)) 2058 !test_bit(p->group - 1, nlk->groups))
2058 goto out; 2059 goto out;
2059 2060
2060 if (p->code == ENOBUFS && nlk->flags & NETLINK_RECV_NO_ENOBUFS) { 2061 if (p->code == ENOBUFS && nlk->flags & NETLINK_F_RECV_NO_ENOBUFS) {
2061 ret = 1; 2062 ret = 1;
2062 goto out; 2063 goto out;
2063 } 2064 }
@@ -2076,7 +2077,7 @@ out:
2076 * @code: error code, must be negative (as usual in kernelspace) 2077 * @code: error code, must be negative (as usual in kernelspace)
2077 * 2078 *
2078 * This function returns the number of broadcast listeners that have set the 2079 * This function returns the number of broadcast listeners that have set the
2079 * NETLINK_RECV_NO_ENOBUFS socket option. 2080 * NETLINK_NO_ENOBUFS socket option.
2080 */ 2081 */
2081int netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code) 2082int netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code)
2082{ 2083{
@@ -2136,9 +2137,9 @@ static int netlink_setsockopt(struct socket *sock, int level, int optname,
2136 switch (optname) { 2137 switch (optname) {
2137 case NETLINK_PKTINFO: 2138 case NETLINK_PKTINFO:
2138 if (val) 2139 if (val)
2139 nlk->flags |= NETLINK_RECV_PKTINFO; 2140 nlk->flags |= NETLINK_F_RECV_PKTINFO;
2140 else 2141 else
2141 nlk->flags &= ~NETLINK_RECV_PKTINFO; 2142 nlk->flags &= ~NETLINK_F_RECV_PKTINFO;
2142 err = 0; 2143 err = 0;
2143 break; 2144 break;
2144 case NETLINK_ADD_MEMBERSHIP: 2145 case NETLINK_ADD_MEMBERSHIP:
@@ -2167,18 +2168,18 @@ static int netlink_setsockopt(struct socket *sock, int level, int optname,
2167 } 2168 }
2168 case NETLINK_BROADCAST_ERROR: 2169 case NETLINK_BROADCAST_ERROR:
2169 if (val) 2170 if (val)
2170 nlk->flags |= NETLINK_BROADCAST_SEND_ERROR; 2171 nlk->flags |= NETLINK_F_BROADCAST_SEND_ERROR;
2171 else 2172 else
2172 nlk->flags &= ~NETLINK_BROADCAST_SEND_ERROR; 2173 nlk->flags &= ~NETLINK_F_BROADCAST_SEND_ERROR;
2173 err = 0; 2174 err = 0;
2174 break; 2175 break;
2175 case NETLINK_NO_ENOBUFS: 2176 case NETLINK_NO_ENOBUFS:
2176 if (val) { 2177 if (val) {
2177 nlk->flags |= NETLINK_RECV_NO_ENOBUFS; 2178 nlk->flags |= NETLINK_F_RECV_NO_ENOBUFS;
2178 clear_bit(NETLINK_CONGESTED, &nlk->state); 2179 clear_bit(NETLINK_S_CONGESTED, &nlk->state);
2179 wake_up_interruptible(&nlk->wait); 2180 wake_up_interruptible(&nlk->wait);
2180 } else { 2181 } else {
2181 nlk->flags &= ~NETLINK_RECV_NO_ENOBUFS; 2182 nlk->flags &= ~NETLINK_F_RECV_NO_ENOBUFS;
2182 } 2183 }
2183 err = 0; 2184 err = 0;
2184 break; 2185 break;
@@ -2227,7 +2228,7 @@ static int netlink_getsockopt(struct socket *sock, int level, int optname,
2227 if (len < sizeof(int)) 2228 if (len < sizeof(int))
2228 return -EINVAL; 2229 return -EINVAL;
2229 len = sizeof(int); 2230 len = sizeof(int);
2230 val = nlk->flags & NETLINK_RECV_PKTINFO ? 1 : 0; 2231 val = nlk->flags & NETLINK_F_RECV_PKTINFO ? 1 : 0;
2231 if (put_user(len, optlen) || 2232 if (put_user(len, optlen) ||
2232 put_user(val, optval)) 2233 put_user(val, optval))
2233 return -EFAULT; 2234 return -EFAULT;
@@ -2237,7 +2238,7 @@ static int netlink_getsockopt(struct socket *sock, int level, int optname,
2237 if (len < sizeof(int)) 2238 if (len < sizeof(int))
2238 return -EINVAL; 2239 return -EINVAL;
2239 len = sizeof(int); 2240 len = sizeof(int);
2240 val = nlk->flags & NETLINK_BROADCAST_SEND_ERROR ? 1 : 0; 2241 val = nlk->flags & NETLINK_F_BROADCAST_SEND_ERROR ? 1 : 0;
2241 if (put_user(len, optlen) || 2242 if (put_user(len, optlen) ||
2242 put_user(val, optval)) 2243 put_user(val, optval))
2243 return -EFAULT; 2244 return -EFAULT;
@@ -2247,7 +2248,7 @@ static int netlink_getsockopt(struct socket *sock, int level, int optname,
2247 if (len < sizeof(int)) 2248 if (len < sizeof(int))
2248 return -EINVAL; 2249 return -EINVAL;
2249 len = sizeof(int); 2250 len = sizeof(int);
2250 val = nlk->flags & NETLINK_RECV_NO_ENOBUFS ? 1 : 0; 2251 val = nlk->flags & NETLINK_F_RECV_NO_ENOBUFS ? 1 : 0;
2251 if (put_user(len, optlen) || 2252 if (put_user(len, optlen) ||
2252 put_user(val, optval)) 2253 put_user(val, optval))
2253 return -EFAULT; 2254 return -EFAULT;
@@ -2418,7 +2419,7 @@ static int netlink_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
2418 msg->msg_namelen = sizeof(*addr); 2419 msg->msg_namelen = sizeof(*addr);
2419 } 2420 }
2420 2421
2421 if (nlk->flags & NETLINK_RECV_PKTINFO) 2422 if (nlk->flags & NETLINK_F_RECV_PKTINFO)
2422 netlink_cmsg_recv_pktinfo(msg, skb); 2423 netlink_cmsg_recv_pktinfo(msg, skb);
2423 2424
2424 memset(&scm, 0, sizeof(scm)); 2425 memset(&scm, 0, sizeof(scm));
@@ -2502,7 +2503,7 @@ __netlink_kernel_create(struct net *net, int unit, struct module *module,
2502 goto out_sock_release; 2503 goto out_sock_release;
2503 2504
2504 nlk = nlk_sk(sk); 2505 nlk = nlk_sk(sk);
2505 nlk->flags |= NETLINK_KERNEL_SOCKET; 2506 nlk->flags |= NETLINK_F_KERNEL_SOCKET;
2506 2507
2507 netlink_table_grab(); 2508 netlink_table_grab();
2508 if (!nl_table[unit].registered) { 2509 if (!nl_table[unit].registered) {