[SK_BUFF]: Introduce skb_mac_header()
For the places where we need a pointer to the mac header, it is still legal to touch skb->mac.raw directly if just adding to, subtracting from or setting it to another layer header. This one also converts some more cases to skb_reset_mac_header() that my regex missed as it had no spaces before nor after '=', ugh. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
31713c333d
commit
98e399f82a
@@ -397,7 +397,7 @@ ip6t_log_packet(unsigned int pf,
|
||||
printk("MAC=");
|
||||
if (skb->dev && (len = skb->dev->hard_header_len) &&
|
||||
skb->mac.raw != skb->nh.raw) {
|
||||
unsigned char *p = skb->mac.raw;
|
||||
const unsigned char *p = skb_mac_header(skb);
|
||||
int i;
|
||||
|
||||
if (skb->dev->type == ARPHRD_SIT &&
|
||||
@@ -412,7 +412,8 @@ ip6t_log_packet(unsigned int pf,
|
||||
printk(" ");
|
||||
|
||||
if (skb->dev->type == ARPHRD_SIT) {
|
||||
struct iphdr *iph = (struct iphdr *)skb->mac.raw;
|
||||
const struct iphdr *iph =
|
||||
(struct iphdr *)skb_mac_header(skb);
|
||||
printk("TUNNEL=%u.%u.%u.%u->%u.%u.%u.%u ",
|
||||
NIPQUAD(iph->saddr),
|
||||
NIPQUAD(iph->daddr));
|
||||
|
@@ -32,8 +32,8 @@ match(const struct sk_buff *skb,
|
||||
unsigned char eui64[8];
|
||||
int i = 0;
|
||||
|
||||
if (!(skb->mac.raw >= skb->head &&
|
||||
(skb->mac.raw + ETH_HLEN) <= skb->data) &&
|
||||
if (!(skb_mac_header(skb) >= skb->head &&
|
||||
(skb_mac_header(skb) + ETH_HLEN) <= skb->data) &&
|
||||
offset != 0) {
|
||||
*hotdrop = 1;
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user