filter: use size of fetched data in __load_pointer()
authorEric Dumazet <eric.dumazet@gmail.com>
Tue, 7 Dec 2010 22:26:15 +0000 (22:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Dec 2010 04:47:04 +0000 (20:47 -0800)
commit4bc65dd8d88671712d71592a83374cfb0b5fce7a
tree322b1618fabdc770b8a63930ab5c320a16fe5cc5
parent60d509c823cca21e77d537bd356785f7cfe8f0d1
filter: use size of fetched data in __load_pointer()

__load_pointer() checks data we fetch from skb is included in head
portion, but assumes we fetch one byte, instead of up to four.

This wont crash because we have extra bytes (struct skb_shared_info)
after head, but this can read uninitialized bytes.

Fix this using size of the data (1, 2, 4 bytes) in the test.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/filter.c