Skip to content

Commit 9529320

Browse files
edumazetkuba-moo
authored andcommitted
inet_diag: change inet_diag_bc_sk() first argument
We want to have access to the inet_diag_dump_data structure in the following patch. This patch removes duplication in callers. Signed-off-by: Eric Dumazet <[email protected]> Reviewed-by: Kuniyuki Iwashima <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 4fd84a0 commit 9529320

File tree

6 files changed

+16
-32
lines changed

6 files changed

+16
-32
lines changed

include/linux/inet_diag.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk,
4646
const struct inet_diag_req_v2 *req,
4747
u16 nlmsg_flags, bool net_admin);
4848

49-
int inet_diag_bc_sk(const struct nlattr *_bc, struct sock *sk);
49+
int inet_diag_bc_sk(const struct inet_diag_dump_data *cb_data, struct sock *sk);
5050

5151
void inet_diag_msg_common_fill(struct inet_diag_msg *r, struct sock *sk);
5252

net/ipv4/inet_diag.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,8 +591,9 @@ static void entry_fill_addrs(struct inet_diag_entry *entry,
591591
}
592592
}
593593

594-
int inet_diag_bc_sk(const struct nlattr *bc, struct sock *sk)
594+
int inet_diag_bc_sk(const struct inet_diag_dump_data *cb_data, struct sock *sk)
595595
{
596+
const struct nlattr *bc = cb_data->inet_diag_nla_bc;
596597
const struct inet_sock *inet = inet_sk(sk);
597598
struct inet_diag_entry entry;
598599

net/ipv4/raw_diag.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,9 @@ static int raw_diag_dump_one(struct netlink_callback *cb,
126126
static int sk_diag_dump(struct sock *sk, struct sk_buff *skb,
127127
struct netlink_callback *cb,
128128
const struct inet_diag_req_v2 *r,
129-
struct nlattr *bc, bool net_admin)
129+
bool net_admin)
130130
{
131-
if (!inet_diag_bc_sk(bc, sk))
131+
if (!inet_diag_bc_sk(cb->data, sk))
132132
return 0;
133133

134134
return inet_sk_diag_fill(sk, NULL, skb, cb, r, NLM_F_MULTI, net_admin);
@@ -140,17 +140,13 @@ static void raw_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
140140
bool net_admin = netlink_net_capable(cb->skb, CAP_NET_ADMIN);
141141
struct raw_hashinfo *hashinfo = raw_get_hashinfo(r);
142142
struct net *net = sock_net(skb->sk);
143-
struct inet_diag_dump_data *cb_data;
144143
int num, s_num, slot, s_slot;
145144
struct hlist_head *hlist;
146145
struct sock *sk = NULL;
147-
struct nlattr *bc;
148146

149147
if (IS_ERR(hashinfo))
150148
return;
151149

152-
cb_data = cb->data;
153-
bc = cb_data->inet_diag_nla_bc;
154150
s_slot = cb->args[0];
155151
num = s_num = cb->args[1];
156152

@@ -174,7 +170,7 @@ static void raw_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
174170
if (r->id.idiag_dport != inet->inet_dport &&
175171
r->id.idiag_dport)
176172
goto next;
177-
if (sk_diag_dump(sk, skb, cb, r, bc, net_admin) < 0)
173+
if (sk_diag_dump(sk, skb, cb, r, net_admin) < 0)
178174
goto out_unlock;
179175
next:
180176
num++;

net/ipv4/tcp_diag.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,11 +320,9 @@ static void tcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
320320
u32 idiag_states = r->idiag_states;
321321
struct inet_hashinfo *hashinfo;
322322
int i, num, s_i, s_num;
323-
struct nlattr *bc;
324323
struct sock *sk;
325324

326325
hashinfo = net->ipv4.tcp_death_row.hashinfo;
327-
bc = cb_data->inet_diag_nla_bc;
328326
if (idiag_states & TCPF_SYN_RECV)
329327
idiag_states |= TCPF_NEW_SYN_RECV;
330328
s_i = cb->args[1];
@@ -365,7 +363,7 @@ static void tcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
365363
r->id.idiag_sport)
366364
goto next_listen;
367365

368-
if (!inet_diag_bc_sk(bc, sk))
366+
if (!inet_diag_bc_sk(cb_data, sk))
369367
goto next_listen;
370368

371369
if (inet_sk_diag_fill(sk, inet_csk(sk), skb,
@@ -432,7 +430,7 @@ static void tcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
432430
r->sdiag_family != sk->sk_family)
433431
goto next_bind;
434432

435-
if (!inet_diag_bc_sk(bc, sk))
433+
if (!inet_diag_bc_sk(cb_data, sk))
436434
goto next_bind;
437435

438436
sock_hold(sk);
@@ -519,7 +517,7 @@ static void tcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
519517
goto next_normal;
520518
twsk_build_assert();
521519

522-
if (!inet_diag_bc_sk(bc, sk))
520+
if (!inet_diag_bc_sk(cb_data, sk))
523521
goto next_normal;
524522

525523
if (!refcount_inc_not_zero(&sk->sk_refcnt))

net/ipv4/udp_diag.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
static int sk_diag_dump(struct sock *sk, struct sk_buff *skb,
1717
struct netlink_callback *cb,
1818
const struct inet_diag_req_v2 *req,
19-
struct nlattr *bc, bool net_admin)
19+
bool net_admin)
2020
{
21-
if (!inet_diag_bc_sk(bc, sk))
21+
if (!inet_diag_bc_sk(cb->data, sk))
2222
return 0;
2323

2424
return inet_sk_diag_fill(sk, NULL, skb, cb, req, NLM_F_MULTI,
@@ -92,12 +92,8 @@ static void udp_dump(struct udp_table *table, struct sk_buff *skb,
9292
{
9393
bool net_admin = netlink_net_capable(cb->skb, CAP_NET_ADMIN);
9494
struct net *net = sock_net(skb->sk);
95-
struct inet_diag_dump_data *cb_data;
9695
int num, s_num, slot, s_slot;
97-
struct nlattr *bc;
9896

99-
cb_data = cb->data;
100-
bc = cb_data->inet_diag_nla_bc;
10197
s_slot = cb->args[0];
10298
num = s_num = cb->args[1];
10399

@@ -130,7 +126,7 @@ static void udp_dump(struct udp_table *table, struct sk_buff *skb,
130126
r->id.idiag_dport)
131127
goto next;
132128

133-
if (sk_diag_dump(sk, skb, cb, r, bc, net_admin) < 0) {
129+
if (sk_diag_dump(sk, skb, cb, r, net_admin) < 0) {
134130
spin_unlock_bh(&hslot->lock);
135131
goto done;
136132
}

net/mptcp/mptcp_diag.c

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
static int sk_diag_dump(struct sock *sk, struct sk_buff *skb,
1616
struct netlink_callback *cb,
1717
const struct inet_diag_req_v2 *req,
18-
struct nlattr *bc, bool net_admin)
18+
bool net_admin)
1919
{
20-
if (!inet_diag_bc_sk(bc, sk))
20+
if (!inet_diag_bc_sk(cb->data, sk))
2121
return 0;
2222

2323
return inet_sk_diag_fill(sk, inet_csk(sk), skb, cb, req, NLM_F_MULTI,
@@ -76,9 +76,7 @@ static void mptcp_diag_dump_listeners(struct sk_buff *skb, struct netlink_callba
7676
const struct inet_diag_req_v2 *r,
7777
bool net_admin)
7878
{
79-
struct inet_diag_dump_data *cb_data = cb->data;
8079
struct mptcp_diag_ctx *diag_ctx = (void *)cb->ctx;
81-
struct nlattr *bc = cb_data->inet_diag_nla_bc;
8280
struct net *net = sock_net(skb->sk);
8381
struct inet_hashinfo *hinfo;
8482
int i;
@@ -121,7 +119,7 @@ static void mptcp_diag_dump_listeners(struct sk_buff *skb, struct netlink_callba
121119
if (!refcount_inc_not_zero(&sk->sk_refcnt))
122120
goto next_listen;
123121

124-
ret = sk_diag_dump(sk, skb, cb, r, bc, net_admin);
122+
ret = sk_diag_dump(sk, skb, cb, r, net_admin);
125123

126124
sock_put(sk);
127125

@@ -154,15 +152,10 @@ static void mptcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
154152
bool net_admin = netlink_net_capable(cb->skb, CAP_NET_ADMIN);
155153
struct mptcp_diag_ctx *diag_ctx = (void *)cb->ctx;
156154
struct net *net = sock_net(skb->sk);
157-
struct inet_diag_dump_data *cb_data;
158155
struct mptcp_sock *msk;
159-
struct nlattr *bc;
160156

161157
BUILD_BUG_ON(sizeof(cb->ctx) < sizeof(*diag_ctx));
162158

163-
cb_data = cb->data;
164-
bc = cb_data->inet_diag_nla_bc;
165-
166159
while ((msk = mptcp_token_iter_next(net, &diag_ctx->s_slot,
167160
&diag_ctx->s_num)) != NULL) {
168161
struct inet_sock *inet = (struct inet_sock *)msk;
@@ -181,7 +174,7 @@ static void mptcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
181174
r->id.idiag_dport)
182175
goto next;
183176

184-
ret = sk_diag_dump(sk, skb, cb, r, bc, net_admin);
177+
ret = sk_diag_dump(sk, skb, cb, r, net_admin);
185178
next:
186179
sock_put(sk);
187180
if (ret < 0) {

0 commit comments

Comments
 (0)