Skip to content

Commit a4255b2

Browse files
committed
Merge tag 'nf-23-12-20' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
Pablu Neira Syuso says: ==================== netfilter pull request 23-12-20 The following patchset contains Netfilter fixes for net: 1) Skip set commit for deleted/destroyed sets, this might trigger double deactivation of expired elements. 2) Fix packet mangling from egress, set transport offset from mac header for netdev/egress. Both fixes address bugs already present in several releases. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents 49fcf34 + 7315dc1 commit a4255b2

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

include/net/netfilter/nf_tables_ipv4.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ static inline int __nft_set_pktinfo_ipv4_validate(struct nft_pktinfo *pkt)
3030
return -1;
3131

3232
len = iph_totlen(pkt->skb, iph);
33-
thoff = iph->ihl * 4;
33+
thoff = skb_network_offset(pkt->skb) + (iph->ihl * 4);
3434
if (pkt->skb->len < len)
3535
return -1;
3636
else if (len < thoff)

net/netfilter/nf_tables_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9887,7 +9887,7 @@ static void nft_set_commit_update(struct list_head *set_update_list)
98879887
list_for_each_entry_safe(set, next, set_update_list, pending_update) {
98889888
list_del_init(&set->pending_update);
98899889

9890-
if (!set->ops->commit)
9890+
if (!set->ops->commit || set->dead)
98919891
continue;
98929892

98939893
set->ops->commit(set);

net/netfilter/nf_tables_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr,
158158
else {
159159
if (!(pkt->flags & NFT_PKTINFO_L4PROTO))
160160
return false;
161-
ptr = skb_network_header(skb) + nft_thoff(pkt);
161+
ptr = skb->data + nft_thoff(pkt);
162162
}
163163

164164
ptr += priv->offset;

0 commit comments

Comments
 (0)