All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks
@ 2015-02-22 20:23 Vadim Kochan
  2015-02-22 20:23 ` [PATCH iproute2 1/2] ss: Add filter before printing unix stats from Netlink Vadim Kochan
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Vadim Kochan @ 2015-02-22 20:23 UTC (permalink / raw)
  To: netdev; +Cc: Vadim Kochan

Some fixes when filtering unix & netlink sockets.

Vadim Kochan (2):
  ss: Add filter before printing unix stats from Netlink
  ss: Skip filtered netlink sockets before detailed info

 misc/ss.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

-- 
2.2.2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH iproute2 1/2] ss: Add filter before printing unix stats from Netlink
  2015-02-22 20:23 [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Vadim Kochan
@ 2015-02-22 20:23 ` Vadim Kochan
  2015-02-22 20:23 ` [PATCH iproute2 2/2] ss: Skip filtered netlink sockets before detailed info Vadim Kochan
  2015-02-25  1:39 ` [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Stephen Hemminger
  2 siblings, 0 replies; 4+ messages in thread
From: Vadim Kochan @ 2015-02-22 20:23 UTC (permalink / raw)
  To: netdev; +Cc: Vadim Kochan

From: Vadim Kochan <vadim4j@gmail.com>

Detailed info can be printed if filter should not pass
the socket info.

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
---
 misc/ss.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/misc/ss.c b/misc/ss.c
index 2678033..5320d38 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -2556,7 +2556,7 @@ static void unix_stats_print(struct sockstat *list, struct filter *f)
 			}
 		}
 
-		if (f->f) {
+		if (use_proc && f->f) {
 			if (strcmp(peer, "*") == 0)
 				memset(s->remote.data, 0, sizeof(char *));
 			else
@@ -2628,6 +2628,9 @@ static int unix_show_sock(const struct sockaddr_nl *addr, struct nlmsghdr *nlh,
 	if (tb[UNIX_DIAG_PEER])
 		stat.rport = rta_getattr_u32(tb[UNIX_DIAG_PEER]);
 
+	if (f->f && run_ssfilter(f->f, &stat) == 0)
+		return 0;
+
 	unix_stats_print(&stat, f);
 
 	if (show_mem) {
-- 
2.2.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH iproute2 2/2] ss: Skip filtered netlink sockets before detailed info
  2015-02-22 20:23 [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Vadim Kochan
  2015-02-22 20:23 ` [PATCH iproute2 1/2] ss: Add filter before printing unix stats from Netlink Vadim Kochan
@ 2015-02-22 20:23 ` Vadim Kochan
  2015-02-25  1:39 ` [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Stephen Hemminger
  2 siblings, 0 replies; 4+ messages in thread
From: Vadim Kochan @ 2015-02-22 20:23 UTC (permalink / raw)
  To: netdev; +Cc: Vadim Kochan

From: Vadim Kochan <vadim4j@gmail.com>

Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
---
 misc/ss.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/misc/ss.c b/misc/ss.c
index 5320d38..5113d85 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -2938,7 +2938,7 @@ static int packet_show(struct filter *f)
 	return 0;
 }
 
-static void netlink_show_one(struct filter *f,
+static int netlink_show_one(struct filter *f,
 				int prot, int pid, unsigned groups,
 				int state, int dst_pid, unsigned dst_group,
 				int rq, int wq,
@@ -2960,7 +2960,7 @@ static void netlink_show_one(struct filter *f,
 		st.lport = pid;
 		st.local.data[0] = prot;
 		if (run_ssfilter(f->f, &st) == 0)
-			return;
+			return 1;
 	}
 
 	sock_state_print(&st, "nl");
@@ -3032,7 +3032,7 @@ static void netlink_show_one(struct filter *f,
 	}
 	printf("\n");
 
-	return;
+	return 0;
 }
 
 static int netlink_show_sock(const struct sockaddr_nl *addr,
@@ -3058,9 +3058,11 @@ static int netlink_show_sock(const struct sockaddr_nl *addr,
 		wq = skmeminfo[SK_MEMINFO_WMEM_ALLOC];
 	}
 
-	netlink_show_one(f, r->ndiag_protocol, r->ndiag_portid, groups,
+	if (netlink_show_one(f, r->ndiag_protocol, r->ndiag_portid, groups,
 			 r->ndiag_state, r->ndiag_dst_portid, r->ndiag_dst_group,
-			 rq, wq, 0, 0);
+			 rq, wq, 0, 0)) {
+		return 0;
+	}
 
 	if (show_mem) {
 		printf("\t");
-- 
2.2.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks
  2015-02-22 20:23 [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Vadim Kochan
  2015-02-22 20:23 ` [PATCH iproute2 1/2] ss: Add filter before printing unix stats from Netlink Vadim Kochan
  2015-02-22 20:23 ` [PATCH iproute2 2/2] ss: Skip filtered netlink sockets before detailed info Vadim Kochan
@ 2015-02-25  1:39 ` Stephen Hemminger
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2015-02-25  1:39 UTC (permalink / raw)
  To: Vadim Kochan; +Cc: netdev

On Sun, 22 Feb 2015 22:23:09 +0200
Vadim Kochan <vadim4j@gmail.com> wrote:

> Some fixes when filtering unix & netlink sockets.
> 
> Vadim Kochan (2):
>   ss: Add filter before printing unix stats from Netlink
>   ss: Skip filtered netlink sockets before detailed info
> 
>  misc/ss.c | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
> 

Applied

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-02-25  1:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-22 20:23 [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Vadim Kochan
2015-02-22 20:23 ` [PATCH iproute2 1/2] ss: Add filter before printing unix stats from Netlink Vadim Kochan
2015-02-22 20:23 ` [PATCH iproute2 2/2] ss: Skip filtered netlink sockets before detailed info Vadim Kochan
2015-02-25  1:39 ` [PATCH iproute2 0/2] ss: Filtering fixes for unix & netlink socks Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.