diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2008-01-13 22:31:44 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 15:02:04 -0800 |
commit | 8d96544475b236a0f319e492f4828aa8c0801c7f (patch) | |
tree | 874099e668f97c55867349e417e402d33f13250c /net/ipv6 | |
parent | f16f3026db6fa63cbb0f4a37833562aa999c93e5 (diff) | |
download | linux-3.10-8d96544475b236a0f319e492f4828aa8c0801c7f.tar.gz linux-3.10-8d96544475b236a0f319e492f4828aa8c0801c7f.tar.bz2 linux-3.10-8d96544475b236a0f319e492f4828aa8c0801c7f.zip |
[FIB]: full_children & empty_children should be uint, not ushort
If declared as unsigned short, these fields can overflow, and whole
trie logic is broken. I could not make the machine crash, but some
tnode can never be freed.
Note for 64 bit arches : By reordering t_key and parent in [node,
leaf, tnode] structures, we can use 32 bits hole after t_key so that
sizeof(struct tnode) doesnt change after this patch.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions