diff options
Diffstat (limited to 'net/sched/act_pedit.c')
-rw-r--r-- | net/sched/act_pedit.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c index 3d6a2fcc9ce4..45b3cda86a21 100644 --- a/net/sched/act_pedit.c +++ b/net/sched/act_pedit.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/module.h> | 27 | #include <linux/module.h> |
28 | #include <linux/init.h> | 28 | #include <linux/init.h> |
29 | #include <linux/proc_fs.h> | 29 | #include <linux/proc_fs.h> |
30 | #include <net/netlink.h> | ||
30 | #include <net/sock.h> | 31 | #include <net/sock.h> |
31 | #include <net/pkt_sched.h> | 32 | #include <net/pkt_sched.h> |
32 | #include <linux/tc_act/tc_pedit.h> | 33 | #include <linux/tc_act/tc_pedit.h> |
@@ -136,7 +137,7 @@ static int tcf_pedit(struct sk_buff *skb, struct tc_action *a, | |||
136 | } | 137 | } |
137 | } | 138 | } |
138 | 139 | ||
139 | pptr = skb->nh.raw; | 140 | pptr = skb_network_header(skb); |
140 | 141 | ||
141 | spin_lock(&p->tcf_lock); | 142 | spin_lock(&p->tcf_lock); |
142 | 143 | ||
@@ -195,7 +196,7 @@ done: | |||
195 | static int tcf_pedit_dump(struct sk_buff *skb, struct tc_action *a, | 196 | static int tcf_pedit_dump(struct sk_buff *skb, struct tc_action *a, |
196 | int bind, int ref) | 197 | int bind, int ref) |
197 | { | 198 | { |
198 | unsigned char *b = skb->tail; | 199 | unsigned char *b = skb_tail_pointer(skb); |
199 | struct tcf_pedit *p = a->priv; | 200 | struct tcf_pedit *p = a->priv; |
200 | struct tc_pedit *opt; | 201 | struct tc_pedit *opt; |
201 | struct tcf_t t; | 202 | struct tcf_t t; |
@@ -226,7 +227,7 @@ static int tcf_pedit_dump(struct sk_buff *skb, struct tc_action *a, | |||
226 | return skb->len; | 227 | return skb->len; |
227 | 228 | ||
228 | rtattr_failure: | 229 | rtattr_failure: |
229 | skb_trim(skb, b - skb->data); | 230 | nlmsg_trim(skb, b); |
230 | kfree(opt); | 231 | kfree(opt); |
231 | return -1; | 232 | return -1; |
232 | } | 233 | } |