diff --git a/net/ipv4/netfilter/nf_nat_snmp_basic.c b/net/ipv4/netfilter/nf_nat_snmp_basic.c index c8ac57f..7f7d847 100644 --- a/net/ipv4/netfilter/nf_nat_snmp_basic.c +++ b/net/ipv4/netfilter/nf_nat_snmp_basic.c @@ -1196,7 +1196,7 @@ static int snmp_translate(struct nf_conn if (!snmp_parse_mangle((unsigned char *)udph + sizeof(struct udphdr), paylen, &map, &udph->check)) { - net_warn_ratelimited("bsalg: parser failed\n"); + nf_ct_helper_log(skb, ct, "parser failed\n"); return NF_DROP; } return NF_ACCEPT; @@ -1230,13 +1230,14 @@ static int help(struct sk_buff *skb, uns * can mess around with the payload. */ if (ntohs(udph->len) != skb->len - (iph->ihl << 2)) { - net_warn_ratelimited("SNMP: dropping malformed packet src=%pI4 dst=%pI4\n", - &iph->saddr, &iph->daddr); - return NF_DROP; + nf_ct_helper_log(skb, ct, "dropping malformed packet\n"); + return NF_DROP;; } - if (!skb_make_writable(skb, skb->len)) - return NF_DROP; + if (!skb_make_writable(skb, skb->len)) { + nf_ct_helper_log(skb, ct, "cannot mangle packet"); + return NF_DROP; + } spin_lock_bh(&snmp_lock); ret = snmp_translate(ct, ctinfo, skb);