cls_u32: use skb_header_pointer() to dereference data safely
authorChangli Gao <xiaosuo@gmail.com>
Wed, 2 Jun 2010 14:32:42 +0000 (07:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Jun 2010 14:32:42 +0000 (07:32 -0700)
commitfbc2e7d9cf49e0bf89b9e91fd60a06851a855c5d
treea82f11f0ea06fd465393314d0f37772f715c6caf
parentedafe502404f3669d364b6e96d79b54067b634b4
cls_u32: use skb_header_pointer() to dereference data safely

use skb_header_pointer() to dereference data safely

the original skb->data dereference isn't safe, as there isn't any skb->len or
skb_is_nonlinear() check. skb_header_pointer() is used instead in this patch.
And when the skb isn't long enough, we terminate the function u32_classify()
immediately with -1.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_u32.c