diff options
author | Shan Wei <davidshan@tencent.com> | 2012-12-04 18:49:15 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-05 21:01:28 (GMT) |
commit | ce46cc64d47a8afaf13c300b09a7f9c29f4979b6 (patch) | |
tree | 2fcaf39d15b41ee1f92f14eb8035f82eb80a5364 /Documentation | |
parent | 1642182ea0eedecc5d6f330c43cef8639327f0e5 (diff) | |
download | linux-fsl-qoriq-ce46cc64d47a8afaf13c300b09a7f9c29f4979b6.tar.xz |
net: neighbour: prohibit negative value for unres_qlen_bytes parameter
unres_qlen_bytes and unres_qlen are int type.
But multiple relation(unres_qlen_bytes = unres_qlen * SKB_TRUESIZE(ETH_FRAME_LEN))
will cause type overflow when seting unres_qlen. e.g.
$ echo 1027506 > /proc/sys/net/ipv4/neigh/eth1/unres_qlen
$ cat /proc/sys/net/ipv4/neigh/eth1/unres_qlen
1182657265
$ cat /proc/sys/net/ipv4/neigh/eth1/unres_qlen_bytes
-2147479756
The gutted value is not that we setting。
But user/administrator don't know this is caused by int type overflow.
what's more, it is meaningless and even dangerous that unres_qlen_bytes is set
with negative number. Because, for unresolved neighbour address, kernel will cache packets
without limit in __neigh_event_send()(e.g. (u32)-1 = 2GB).
Signed-off-by: Shan Wei <davidshan@tencent.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions