From: Shan Wei Date: Tue, 4 Dec 2012 18:49:15 +0000 (+0000) Subject: net: neighbour: prohibit negative value for unres_qlen_bytes parameter X-Git-Tag: omap-for-v3.8/fixes-for-merge-window-v4-signed~45^2~77 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce46cc64d47a8afaf13c300b09a7f9c29f4979b6;p=pandora-kernel.git 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 Signed-off-by: David S. Miller --- Reading git-diff-tree failed