From patchwork Tue Jan 22 21:20:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pravin B Shelar X-Patchwork-Id: 214664 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id EFDEB2C007B for ; Wed, 23 Jan 2013 08:19:50 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752533Ab3AVVTr (ORCPT ); Tue, 22 Jan 2013 16:19:47 -0500 Received: from na3sys009aog105.obsmtp.com ([74.125.149.75]:52915 "HELO na3sys009aog105.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752136Ab3AVVTq (ORCPT ); Tue, 22 Jan 2013 16:19:46 -0500 Received: from mail-qa0-f70.google.com ([209.85.216.70]) (using TLSv1) by na3sys009aob105.postini.com ([74.125.148.12]) with SMTP ID DSNKUP8CchkqoJq/Os1jI8WvuGfqMmf4mEA0@postini.com; Tue, 22 Jan 2013 13:19:46 PST Received: by mail-qa0-f70.google.com with SMTP id hg5so191716qab.9 for ; Tue, 22 Jan 2013 13:19:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:x-received:from:to:cc:subject:date:message-id:x-mailer :x-gm-message-state; bh=kdGY1o8BpboQ8PzX1fS7I5pQza0r4wTqI5curnWQ2g8=; b=jTNw67NxwZ+bzCYT+wpHr0dl+2OB+Dhc0MzdnR7extPGqyRe9Idy/09DEwERumS31S tlBnibvmQ8dME5G/kWfc9bs9SC6NnUg1c6EDXyKeu14iaWXYO6MEDmQq/Am0XqihGIvO u+RVufJEmCVvlkCNaXW9Shrdg01O/cy+PofMaESjY4q8zzcdBBjhQxp1EaJoTA5dW2bN P54W5Lysh+4fn6qocphu+R0jpU2QW5fopeslf8vuSZK7zcRjErUFH7lOZRVZdiff5vd4 h1x1KZqA9Dd+4lmvK3okyOnnxOQdRD167KZ362kWWAmy7Pe5rFU0Q9+qPiRlSbgOHl8A yTmA== X-Received: by 10.49.127.240 with SMTP id nj16mr28783348qeb.13.1358889585947; Tue, 22 Jan 2013 13:19:45 -0800 (PST) X-Received: by 10.49.127.240 with SMTP id nj16mr28783339qeb.13.1358889585824; Tue, 22 Jan 2013 13:19:45 -0800 (PST) Received: from localhost ([64.125.181.92]) by mx.google.com with ESMTPS id gm4sm11892781qab.12.2013.01.22.13.19.44 (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Tue, 22 Jan 2013 13:19:45 -0800 (PST) From: Pravin B Shelar To: netdev@vger.kernel.org Cc: jesse@nicira.com, Pravin B Shelar Subject: [PATCH 1/2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum. Date: Tue, 22 Jan 2013 13:20:36 -0800 Message-Id: <1358889636-1651-1-git-send-email-pshelar@nicira.com> X-Mailer: git-send-email 1.7.12.315.g682ce8b X-Gm-Message-State: ALoCoQkrkQi6TAARaEvmPOq+98pRljV1IY0MFHsb6MRsq7j9xd6pl97FxefFX/34RJWTgCv4/RV8bKNc5sJBG0dZqW64Dp7jmsiNvV1KadlJnEHVfFPGuPgxEUxA7Ev/sot+x0vV3+YUmJ+h7xp5btkYf0XIKbiy3ZGvyYKiNazfKhVvMz8sR0U= Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Due to GSO support, gre can recieve non linear skb which results in panic in case of GRE_CSUM. Following patch fixes it by using correct csum API. Signed-off-by: Pravin B Shelar --- net/ipv4/ip_gre.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 303012a..7cdf1fe 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -964,7 +964,10 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev } if (tunnel->parms.o_flags&GRE_CSUM) { *ptr = 0; - *(__sum16 *)ptr = ip_compute_csum((void *)(iph+1), skb->len - sizeof(struct iphdr)); + *(__sum16 *)ptr = csum_fold(skb_checksum(skb, + skb_transport_offset(skb), + skb->len - skb_transport_offset(skb), + 0)); } }