From: Florian Westphal <f...@strlen.de>

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 <f...@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
---
 net/netfilter/xt_HL.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/netfilter/xt_HL.c b/net/netfilter/xt_HL.c
index 4653b071bed4..a37b8824221f 100644
--- a/net/netfilter/xt_HL.c
+++ b/net/netfilter/xt_HL.c
@@ -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);
-- 
2.11.0

Reply via email to