netfilter: xt_HL: prefer skb_ensure_writable
authorFlorian Westphal <fw@strlen.de>
Thu, 23 May 2019 13:44:10 +0000 (15:44 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 31 May 2019 16:02:47 +0000 (18:02 +0200)
Also, make the argument to be only the needed size of the header
we're altering, no need to pull in the full packet into linear area.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/xt_HL.c

index 4653b071bed41cc853572a25cc57271f060277e3..a37b8824221f2d3912f3ca02ba1114559debee1a 100644 (file)
@@ -32,7 +32,7 @@ ttl_tg(struct sk_buff *skb, const struct xt_action_param *par)
        const struct ipt_TTL_info *info = par->targinfo;
        int new_ttl;
 
-       if (!skb_make_writable(skb, skb->len))
+       if (skb_ensure_writable(skb, sizeof(*iph)))
                return NF_DROP;
 
        iph = ip_hdr(skb);
@@ -72,7 +72,7 @@ hl_tg6(struct sk_buff *skb, const struct xt_action_param *par)
        const struct ip6t_HL_info *info = par->targinfo;
        int new_hl;
 
-       if (!skb_make_writable(skb, skb->len))
+       if (skb_ensure_writable(skb, sizeof(*ip6h)))
                return NF_DROP;
 
        ip6h = ipv6_hdr(skb);