From 73170abfeba91652481f54758657fc3abbc8bbe7 Mon Sep 17 00:00:00 2001 From: Hans Schillstrom Date: Fri, 19 Nov 2010 14:25:09 +0100 Subject: [PATCH] --- yaml --- r: 236587 b: refs/heads/master c: 3716522653a79b724b02ee911f1b60c41932f847 h: refs/heads/master i: 236585: 18db82cd38cbb0af388bc35ee2b366e6af43d03a 236583: f73c180671d22afc58b497ef024b2461ab9ad95f v: v3 --- [refs] | 2 +- trunk/net/netfilter/ipvs/ip_vs_pe_sip.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2c6201b71f1d..688faf9eabbe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ce144f249f3f21a095a093d5d1ebd845177858da +refs/heads/master: 3716522653a79b724b02ee911f1b60c41932f847 diff --git a/trunk/net/netfilter/ipvs/ip_vs_pe_sip.c b/trunk/net/netfilter/ipvs/ip_vs_pe_sip.c index b8b4e9620f3e..0d83bc01fed4 100644 --- a/trunk/net/netfilter/ipvs/ip_vs_pe_sip.c +++ b/trunk/net/netfilter/ipvs/ip_vs_pe_sip.c @@ -71,6 +71,7 @@ ip_vs_sip_fill_param(struct ip_vs_conn_param *p, struct sk_buff *skb) struct ip_vs_iphdr iph; unsigned int dataoff, datalen, matchoff, matchlen; const char *dptr; + int retc; ip_vs_fill_iphdr(p->af, skb_network_header(skb), &iph); @@ -83,6 +84,8 @@ ip_vs_sip_fill_param(struct ip_vs_conn_param *p, struct sk_buff *skb) if (dataoff >= skb->len) return -EINVAL; + if ((retc=skb_linearize(skb)) < 0) + return retc; dptr = skb->data + dataoff; datalen = skb->len - dataoff;