At least the XEN net front driver always produces non linear skbs, so the SIP module does nothing at all when used with that NIC. Unconditionally linearize the skb.. Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> --- net/netfilter/nf_conntrack_sip.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) Patrick/Jan, thanks.. This is what I wanted to do in the first place, but I couldn't convince myself it was safe, as no other nf code does this.. Unfortunately I can no longer test it :( diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c index 4b57216..02d0b59 100644 --- a/net/netfilter/nf_conntrack_sip.c +++ b/net/netfilter/nf_conntrack_sip.c @@ -1275,13 +1275,10 @@ static int sip_help(struct sk_buff *skb, nf_ct_refresh(ct, skb, sip_timeout * HZ); - if (!skb_is_nonlinear(skb)) - dptr = skb->data + dataoff; - else { - pr_debug("Copy of skbuff not supported yet.\n"); - return NF_ACCEPT; - } + if (unlikely(skb_linearize(skb))) + return NF_DROP; + dptr = skb->data + dataoff; datalen = skb->len - dataoff; if (datalen < strlen("SIP/2.0 200")) return NF_ACCEPT; -- 1.6.0.4 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html