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;
         * 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))
+       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, dir, skb);