diff options
| -rw-r--r-- | net/netfilter/nf_tables_core.c | 2 | ||||
| -rw-r--r-- | net/netfilter/nft_payload.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nf_tables_core.c b/net/netfilter/nf_tables_core.c index e51a45c12128..3c13007d80df 100644 --- a/net/netfilter/nf_tables_core.c +++ b/net/netfilter/nf_tables_core.c | |||
| @@ -44,7 +44,7 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr, | |||
| 44 | if (priv->base == NFT_PAYLOAD_NETWORK_HEADER) | 44 | if (priv->base == NFT_PAYLOAD_NETWORK_HEADER) |
| 45 | ptr = skb_network_header(skb); | 45 | ptr = skb_network_header(skb); |
| 46 | else | 46 | else |
| 47 | ptr = skb_transport_header(skb); | 47 | ptr = skb_network_header(skb) + pkt->xt.thoff; |
| 48 | 48 | ||
| 49 | ptr += priv->offset; | 49 | ptr += priv->offset; |
| 50 | 50 | ||
diff --git a/net/netfilter/nft_payload.c b/net/netfilter/nft_payload.c index bc8bdb2c1ba7..a2aeb318678f 100644 --- a/net/netfilter/nft_payload.c +++ b/net/netfilter/nft_payload.c | |||
| @@ -36,7 +36,7 @@ static void nft_payload_eval(const struct nft_expr *expr, | |||
| 36 | offset = skb_network_offset(skb); | 36 | offset = skb_network_offset(skb); |
| 37 | break; | 37 | break; |
| 38 | case NFT_PAYLOAD_TRANSPORT_HEADER: | 38 | case NFT_PAYLOAD_TRANSPORT_HEADER: |
| 39 | offset = skb_transport_offset(skb); | 39 | offset = pkt->xt.thoff; |
| 40 | break; | 40 | break; |
| 41 | default: | 41 | default: |
| 42 | BUG(); | 42 | BUG(); |
