ipmr_vif_seq_show() prints the difference between two pointers with the
format string %2zd (z for size_t), however the correct format string is
%2td instead (t for ptrdiff_t).

The same bug in ip6mr_vif_seq_show() was already fixed long ago by
commit d430a227d272 ("bogus format in ip6mr").

Signed-off-by: James Hogan <jho...@kernel.org>
Cc: Alexey Kuznetsov <kuz...@ms2.inr.ac.ru>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: Hideaki YOSHIFUJI <yoshf...@linux-ipv6.org>
Cc: netdev@vger.kernel.org
---
 net/ipv4/ipmr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
index fd5f19c988e4..0a279d99a532 100644
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -3022,7 +3022,7 @@ static int ipmr_vif_seq_show(struct seq_file *seq, void 
*v)
                const char *name =  vif->dev ? vif->dev->name : "none";
 
                seq_printf(seq,
-                          "%2zd %-10s %8ld %7ld  %8ld %7ld %05X %08X %08X\n",
+                          "%2td %-10s %8ld %7ld  %8ld %7ld %05X %08X %08X\n",
                           vif - mrt->vif_table,
                           name, vif->bytes_in, vif->pkt_in,
                           vif->bytes_out, vif->pkt_out,
-- 
2.13.6

Reply via email to