[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181024195902.17479-1-dsahern@kernel.org>
Date: Wed, 24 Oct 2018 12:58:58 -0700
From: David Ahern <dsahern@...nel.org>
To: netdev@...r.kernel.org, davem@...emloft.net
Cc: lirongqing@...du.com, David Ahern <dsahern@...il.com>
Subject: [PATCH net 0/4] net: Fixups for recent dump filtering changes
From: David Ahern <dsahern@...il.com>
Li RongQing noted that tgt_net is leaked in ipv4 due to the recent change
to handle address dumps for a specific device. The report also applies to
ipv6 and other error paths. Patches 1 and 2 fix those leaks.
Patch 3 stops route dumps from erroring out when dumping across address
families and a table id is given. This is needed in preparation for
patch 4.
Patch 4 updates the rtnl_dump_all to handle a failure in one of the dumpit
functions. At the moment, if an address dump returns an error the dump all
loop breaks but the error is dropped. The result can be no data is returned
and no error either leaving the user wondering about the addresses.
Patches were tested with a modified iproute2 to add invalid data to the
dump request causing each specific failure path to be hit in addition
to positive testing that it works as it should when given valid data.
David Ahern (4):
net/ipv4: Put target net when address dump fails due to bad attributes
net/ipv6: Put target net when address dump fails due to bad attributes
net: Don't return invalid table id error when dumping all families
net: rtnl_dump_all needs to propagate error from dumpit function
include/net/ip_fib.h | 1 +
net/core/rtnetlink.c | 6 ++++--
net/ipv4/devinet.c | 13 ++++++++-----
net/ipv4/fib_frontend.c | 4 ++++
net/ipv4/ipmr.c | 3 +++
net/ipv6/addrconf.c | 14 ++++++++------
net/ipv6/ip6_fib.c | 3 +++
net/ipv6/ip6mr.c | 3 +++
8 files changed, 34 insertions(+), 13 deletions(-)
--
2.11.0
Powered by blists - more mailing lists