On Mon, 28 Aug 2017 19:31:22 +0200 Phil Sutter <p...@nwl.cc> wrote: > Commit 9f66764e308e9 ("libnetlink: Add test for error code returned from > netlink reply") changed rtnl_dump_filter_l() to return an error in case > NLMSG_DONE would contain one, even if it was ENOENT. > > This in turn breaks ss when it tries to dump DCCP sockets on a system > without support for it: The function tcp_show(), which is shared between > TCP and DCCP, will start parsing /proc since inet_show_netlink() returns > an error - yet it parses /proc/net/tcp which doesn't make sense for DCCP > sockets at all. > > On my system, a call to 'ss' without further arguments prints the list > of connected TCP sockets twice. > > Fix this by introducing a dedicated function dccp_show() which does not > have a fallback to /proc, just like sctp_show(). And since tcp_show() > is no longer "multi-purpose", drop it's socktype parameter. > > Fixes: 9f66764e308e9 ("libnetlink: Add test for error code returned from > netlink reply") > Signed-off-by: Phil Sutter <p...@nwl.cc>
Applied