diff options
author | Pavel Emelyanov <xemul@parallels.com> | 2011-12-09 06:21:16 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-09 14:14:07 -0500 |
commit | 7b35eadd7eee2e0b42421ce3efbc30f1c3c745e5 (patch) | |
tree | 068ff7b5ba08d957978a63fedad6c2d86af48ed2 | |
parent | a73ed26bbae7327370c5bd298f07de78df9e3466 (diff) | |
download | linux-3.10-7b35eadd7eee2e0b42421ce3efbc30f1c3c745e5.tar.gz linux-3.10-7b35eadd7eee2e0b42421ce3efbc30f1c3c745e5.tar.bz2 linux-3.10-7b35eadd7eee2e0b42421ce3efbc30f1c3c745e5.zip |
inet_diag: Remove indirect sizeof from inet diag handlers
There's an info_size value stored on inet_diag_handler, but for existing
code this value is effectively constant, so just use sizeof(struct tcp_info)
where required.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/inet_diag.h | 1 | ||||
-rw-r--r-- | net/dccp/diag.c | 1 | ||||
-rw-r--r-- | net/ipv4/inet_diag.c | 5 | ||||
-rw-r--r-- | net/ipv4/tcp_diag.c | 1 |
4 files changed, 2 insertions, 6 deletions
diff --git a/include/linux/inet_diag.h b/include/linux/inet_diag.h index defe8ff36df..851feff0747 100644 --- a/include/linux/inet_diag.h +++ b/include/linux/inet_diag.h @@ -141,7 +141,6 @@ struct inet_diag_handler { void (*idiag_get_info)(struct sock *sk, struct inet_diag_msg *r, void *info); - __u16 idiag_info_size; __u16 idiag_type; }; diff --git a/net/dccp/diag.c b/net/dccp/diag.c index 424dcd8415d..9343f52db28 100644 --- a/net/dccp/diag.c +++ b/net/dccp/diag.c @@ -52,7 +52,6 @@ static const struct inet_diag_handler dccp_diag_handler = { .idiag_hashinfo = &dccp_hashinfo, .idiag_get_info = dccp_diag_get_info, .idiag_type = IPPROTO_DCCP, - .idiag_info_size = sizeof(struct tcp_info), }; static int __init dccp_diag_init(void) diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index b56b7ba8bee..a247f85571c 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -98,8 +98,7 @@ static int inet_csk_diag_fill(struct sock *sk, minfo = INET_DIAG_PUT(skb, INET_DIAG_MEMINFO, sizeof(*minfo)); if (ext & (1 << (INET_DIAG_INFO - 1))) - info = INET_DIAG_PUT(skb, INET_DIAG_INFO, - handler->idiag_info_size); + info = INET_DIAG_PUT(skb, INET_DIAG_INFO, sizeof(struct tcp_info)); if ((ext & (1 << (INET_DIAG_CONG - 1))) && icsk->icsk_ca_ops) { const size_t len = strlen(icsk->icsk_ca_ops->name); @@ -299,7 +298,7 @@ static int inet_diag_get_exact(struct sk_buff *in_skb, err = -ENOMEM; rep = alloc_skb(NLMSG_SPACE((sizeof(struct inet_diag_msg) + sizeof(struct inet_diag_meminfo) + - handler->idiag_info_size + 64)), + sizeof(struct tcp_info) + 64)), GFP_KERNEL); if (!rep) goto out; diff --git a/net/ipv4/tcp_diag.c b/net/ipv4/tcp_diag.c index 981497795d4..42e6bec7bd3 100644 --- a/net/ipv4/tcp_diag.c +++ b/net/ipv4/tcp_diag.c @@ -38,7 +38,6 @@ static const struct inet_diag_handler tcp_diag_handler = { .idiag_hashinfo = &tcp_hashinfo, .idiag_get_info = tcp_diag_get_info, .idiag_type = IPPROTO_TCP, - .idiag_info_size = sizeof(struct tcp_info), }; static int __init tcp_diag_init(void) |