net: ipmr/ip6mr: prevent out-of-bounds vif_table access
authorNicolas Dichtel <nicolas.dichtel@dev.6wind.com>
Thu, 25 Mar 2010 23:45:35 +0000 (23:45 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 27 Mar 2010 15:33:21 +0000 (08:33 -0700)
commit7438189baa0a2fe30084bdc97e3d540ebc5444f3
tree6627b63b785df9175e04a0ce1b49d5eea8ea0777
parente7d481a6f3c13041446b7bb8f98ab861460076a3
net: ipmr/ip6mr: prevent out-of-bounds vif_table access

When cache is unresolved, c->mf[6]c_parent is set to 65535 and
minvif, maxvif are not initialized, hence we must avoid to
parse IIF and OIF.
A second problem can happen when the user dumps a cache entry
where a VIF, that was referenced at creation time, has been
removed.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipmr.c
net/ipv6/ip6mr.c