summaryrefslogtreecommitdiff
path: root/net/mpls
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2024-02-22 13:50:17 +0300
committerDavid S. Miller <davem@davemloft.net>2024-02-26 14:46:12 +0300
commit22e36ea9f5d7707ae3d64c497d172f4ef735c353 (patch)
treeac682eeb74add4a984dec6c6505a3d2ff57a1e58 /net/mpls
parent69fdb7e411b6d01eb08447e672302b69c9e176ad (diff)
downloadlinux-22e36ea9f5d7707ae3d64c497d172f4ef735c353.tar.xz
inet: allow ip_valid_fib_dump_req() to be called with RTNL or RCU
Add a new field into struct fib_dump_filter, to let callers tell if they use RTNL locking or RCU. This is used in the following patch, when inet_dump_fib() no longer holds RTNL. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mpls')
-rw-r--r--net/mpls/af_mpls.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c
index 1af29af65388..6dab883a08dd 100644
--- a/net/mpls/af_mpls.c
+++ b/net/mpls/af_mpls.c
@@ -2179,7 +2179,9 @@ static int mpls_dump_routes(struct sk_buff *skb, struct netlink_callback *cb)
const struct nlmsghdr *nlh = cb->nlh;
struct net *net = sock_net(skb->sk);
struct mpls_route __rcu **platform_label;
- struct fib_dump_filter filter = {};
+ struct fib_dump_filter filter = {
+ .rtnl_held = true,
+ };
unsigned int flags = NLM_F_MULTI;
size_t platform_labels;
unsigned int index;