mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
net/sched: remove two skb_mac_header() uses
tcf_mirred_act() and tcf_mpls_act() can use skb_network_offset() instead of relying on skb_mac_header(). Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
e495a9673c
commit
b3be94885a
@ -295,7 +295,7 @@ TC_INDIRECT_SCOPE int tcf_mirred_act(struct sk_buff *skb,
|
||||
at_nh = skb->data == skb_network_header(skb);
|
||||
if (at_nh != expects_nh) {
|
||||
mac_len = skb_at_tc_ingress(skb) ? skb->mac_len :
|
||||
skb_network_header(skb) - skb_mac_header(skb);
|
||||
skb_network_offset(skb);
|
||||
if (expects_nh) {
|
||||
/* target device/action expect data at nh */
|
||||
skb_pull_rcsum(skb2, mac_len);
|
||||
|
@ -69,7 +69,7 @@ TC_INDIRECT_SCOPE int tcf_mpls_act(struct sk_buff *skb,
|
||||
skb_push_rcsum(skb, skb->mac_len);
|
||||
mac_len = skb->mac_len;
|
||||
} else {
|
||||
mac_len = skb_network_header(skb) - skb_mac_header(skb);
|
||||
mac_len = skb_network_offset(skb);
|
||||
}
|
||||
|
||||
ret = READ_ONCE(m->tcf_action);
|
||||
|
Loading…
Reference in New Issue
Block a user