diff options
Diffstat (limited to 'include/net/pkt_cls.h')
-rw-r--r-- | include/net/pkt_cls.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index b902d24a3256..4129df708079 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h | |||
@@ -326,18 +326,18 @@ static inline unsigned char * tcf_get_base_ptr(struct sk_buff *skb, int layer) | |||
326 | case TCF_LAYER_LINK: | 326 | case TCF_LAYER_LINK: |
327 | return skb->data; | 327 | return skb->data; |
328 | case TCF_LAYER_NETWORK: | 328 | case TCF_LAYER_NETWORK: |
329 | return skb->nh.raw; | 329 | return skb_network_header(skb); |
330 | case TCF_LAYER_TRANSPORT: | 330 | case TCF_LAYER_TRANSPORT: |
331 | return skb->h.raw; | 331 | return skb_transport_header(skb); |
332 | } | 332 | } |
333 | 333 | ||
334 | return NULL; | 334 | return NULL; |
335 | } | 335 | } |
336 | 336 | ||
337 | static inline int tcf_valid_offset(struct sk_buff *skb, unsigned char *ptr, | 337 | static inline int tcf_valid_offset(const struct sk_buff *skb, |
338 | int len) | 338 | const unsigned char *ptr, const int len) |
339 | { | 339 | { |
340 | return unlikely((ptr + len) < skb->tail && ptr > skb->head); | 340 | return unlikely((ptr + len) < skb_tail_pointer(skb) && ptr > skb->head); |
341 | } | 341 | } |
342 | 342 | ||
343 | #ifdef CONFIG_NET_CLS_IND | 343 | #ifdef CONFIG_NET_CLS_IND |
@@ -352,10 +352,13 @@ tcf_change_indev(struct tcf_proto *tp, char *indev, struct rtattr *indev_tlv) | |||
352 | static inline int | 352 | static inline int |
353 | tcf_match_indev(struct sk_buff *skb, char *indev) | 353 | tcf_match_indev(struct sk_buff *skb, char *indev) |
354 | { | 354 | { |
355 | struct net_device *dev; | ||
356 | |||
355 | if (indev[0]) { | 357 | if (indev[0]) { |
356 | if (!skb->input_dev) | 358 | if (!skb->iif) |
357 | return 0; | 359 | return 0; |
358 | if (strcmp(indev, skb->input_dev->name)) | 360 | dev = __dev_get_by_index(skb->iif); |
361 | if (!dev || strcmp(indev, dev->name)) | ||
359 | return 0; | 362 | return 0; |
360 | } | 363 | } |
361 | 364 | ||