|
@@ -382,8 +382,8 @@ __skb_flow_dissect_gre(const struct sk_buff *skb,
|
|
|
offset += sizeof(struct gre_base_hdr);
|
|
|
|
|
|
if (hdr->flags & GRE_CSUM)
|
|
|
- offset += sizeof(((struct gre_full_hdr *) 0)->csum) +
|
|
|
- sizeof(((struct gre_full_hdr *) 0)->reserved1);
|
|
|
+ offset += FIELD_SIZEOF(struct gre_full_hdr, csum) +
|
|
|
+ FIELD_SIZEOF(struct gre_full_hdr, reserved1);
|
|
|
|
|
|
if (hdr->flags & GRE_KEY) {
|
|
|
const __be32 *keyid;
|
|
@@ -405,11 +405,11 @@ __skb_flow_dissect_gre(const struct sk_buff *skb,
|
|
|
else
|
|
|
key_keyid->keyid = *keyid & GRE_PPTP_KEY_MASK;
|
|
|
}
|
|
|
- offset += sizeof(((struct gre_full_hdr *) 0)->key);
|
|
|
+ offset += FIELD_SIZEOF(struct gre_full_hdr, key);
|
|
|
}
|
|
|
|
|
|
if (hdr->flags & GRE_SEQ)
|
|
|
- offset += sizeof(((struct pptp_gre_header *) 0)->seq);
|
|
|
+ offset += FIELD_SIZEOF(struct pptp_gre_header, seq);
|
|
|
|
|
|
if (gre_ver == 0) {
|
|
|
if (*p_proto == htons(ETH_P_TEB)) {
|
|
@@ -436,7 +436,7 @@ __skb_flow_dissect_gre(const struct sk_buff *skb,
|
|
|
u8 *ppp_hdr;
|
|
|
|
|
|
if (hdr->flags & GRE_ACK)
|
|
|
- offset += sizeof(((struct pptp_gre_header *) 0)->ack);
|
|
|
+ offset += FIELD_SIZEOF(struct pptp_gre_header, ack);
|
|
|
|
|
|
ppp_hdr = __skb_header_pointer(skb, *p_nhoff + offset,
|
|
|
sizeof(_ppp_hdr),
|