diff options
author | Benjamin Thery <benjamin.thery@bull.net> | 2008-12-04 07:21:47 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-04 07:21:47 +0100 |
commit | 1ea472e2dedcf23d5f31c63fc790cccfab93c0de (patch) | |
tree | 1886e87c59bc3efe9edee6f2473d5a2ad5b22e9e /Documentation/printk-formats.txt | |
parent | netdev: remove pathetic compile-command lines (diff) | |
download | linux-1ea472e2dedcf23d5f31c63fc790cccfab93c0de.tar.xz linux-1ea472e2dedcf23d5f31c63fc790cccfab93c0de.zip |
net: fix /proc/net/ip_mr_cache display - V2
/proc/net/ip_mr_cache and /proc/net/ip6_mr_cache displays garbage when
showing unresolved mfc_cache entries.
[root@qemu tests]# cat /proc/net/ip_mr_cache
Group Origin Iif Pkts Bytes Wrong Oifs
014C00EF 010014AC 1 10 10050 0 2:1 3:1
024C00EF 010014AC 65535 514 2 -559067475
The first line is correct. It is a resolved cache entry, 10 packets used it...
The second line represents an unresolved entry, and the columns Pkts(4th),
Bytes(5th) and Wrong(6th) just show garbage.
In struct mfc_cache, there's an union to store data for resolved and
unresolved cases. And what ipmr_mfc_seq_show() is printing in these
columns for the unresolved entries is some bytes from mfc_cache.mfc_un.res.
Bad.
(eg. In our case -559067475 is in fact 0xdead4ead which is the spinlock
magic from mfc_cache.mfc_un.unres.unresolved.lock.magic).
This patch replaces the garbage data written in these columns for the
unresolved entries by '0' (zeros) which is more correct.
This change doesn't break the ABI.
Also, mfc->mfc_un.res.pkt, mfc->mfc_un.res.bytes, mfc->mfc_un.res.wrong_if
are unsigned long.
It applies on top of net-next-2.6.
The patch for net-2.6 is slightly different because of the NIP6_FMT to
%pI6 conversion that was made in the seq_printf.
Changelog:
==========
V2:
* Instead of breaking the ABI by suppressing the columns that have no
meaning for unresolved entries, fill them with 0 values.
Signed-off-by: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/printk-formats.txt')
0 files changed, 0 insertions, 0 deletions