The tcp_memory field in /proc/net/sockstat is formatted as a long value by kernel. Change ss to keep this as full value.
Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- misc/ss.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/ss.c b/misc/ss.c index 22c76e34f83b..c88a25581755 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -4589,7 +4589,7 @@ static int get_snmp_int(const char *proto, const char *key, int *result) struct ssummary { int socks; - int tcp_mem; + long tcp_mem; int tcp_total; int tcp_orphans; int tcp_tws; @@ -4629,7 +4629,7 @@ static void get_sockstat_line(char *line, struct ssummary *s) else if (strcmp(id, "FRAG6:") == 0) sscanf(rem, "%*s%d%*s%d", &s->frag6, &s->frag6_mem); else if (strcmp(id, "TCP:") == 0) - sscanf(rem, "%*s%d%*s%d%*s%d%*s%d%*s%d", + sscanf(rem, "%*s%d%*s%d%*s%d%*s%d%*s%ld", &s->tcp4_hashed, &s->tcp_orphans, &s->tcp_tws, &s->tcp_total, &s->tcp_mem); } -- 2.17.0