diff options
author | David Ahern <dsahern@gmail.com> | 2018-09-28 12:28:41 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-10-18 09:18:10 +0200 |
commit | 5d4fe8e6344bac8703046822685b3af217db683c (patch) | |
tree | 3f6792108f0a97f8a51ce39f90802b76077a0cce /net | |
parent | 36298c66d8dca213888f42181a87afb522381552 (diff) |
rtnetlink: Fail dump if target netnsid is invalid
[ Upstream commit 893626d6a353d1356528f94e081246ecf233d77a ]
Link dumps can return results from a target namespace. If the namespace id
is invalid, then the dump request should fail if get_target_net fails
rather than continuing with a dump of the current namespace.
Fixes: 79e1ad148c844 ("rtnetlink: use netnsid to query interface")
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/rtnetlink.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 8913283b08e9..18de39dbdc30 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -1848,10 +1848,8 @@ static int rtnl_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb) if (tb[IFLA_IF_NETNSID]) { netnsid = nla_get_s32(tb[IFLA_IF_NETNSID]); tgt_net = get_target_net(skb->sk, netnsid); - if (IS_ERR(tgt_net)) { - tgt_net = net; - netnsid = -1; - } + if (IS_ERR(tgt_net)) + return PTR_ERR(tgt_net); } if (tb[IFLA_EXT_MASK]) |