netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
@ 2013-01-22 22:56 Pravin B Shelar
  2013-01-23  1:55 ` David Miller
  2013-01-23 14:00 ` YOSHIFUJI Hideaki
  0 siblings, 2 replies; 5+ messages in thread
From: Pravin B Shelar @ 2013-01-22 22:56 UTC (permalink / raw)
  To: netdev; +Cc: jesse, Pravin B Shelar

Fixed code indentation according to comments from David Miller.

--8<--------------------------cut here-------------------------->8--
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 <pshelar@nicira.com>
---
 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..8179e066 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));
 		}
 	}
 
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
  2013-01-22 22:56 [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum Pravin B Shelar
@ 2013-01-23  1:55 ` David Miller
  2013-01-23  5:08   ` Ben Pfaff
  2013-01-23 14:00 ` YOSHIFUJI Hideaki
  1 sibling, 1 reply; 5+ messages in thread
From: David Miller @ 2013-01-23  1:55 UTC (permalink / raw)
  To: pshelar; +Cc: netdev, jesse

From: Pravin B Shelar <pshelar@nicira.com>
Date: Tue, 22 Jan 2013 14:56:38 -0800

> Fixed code indentation according to comments from David Miller.
> 
> --8<--------------------------cut here-------------------------->8--

This doesn't do what you think it does.  No automated tool is going
to edit the commit message the way you think this will.

You should instead put your "what is different in this revision"
comments right after the "---" below.

> 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 <pshelar@nicira.com>
> ---
 ^^^

Right after that line.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
  2013-01-23  1:55 ` David Miller
@ 2013-01-23  5:08   ` Ben Pfaff
  2013-01-23  5:20     ` David Miller
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Pfaff @ 2013-01-23  5:08 UTC (permalink / raw)
  To: David Miller; +Cc: pshelar, netdev, jesse

David Miller <davem@davemloft.net> writes:

> From: Pravin B Shelar <pshelar@nicira.com>
> Date: Tue, 22 Jan 2013 14:56:38 -0800
>
>> Fixed code indentation according to comments from David Miller.
>> 
>> --8<--------------------------cut here-------------------------->8--
>
> This doesn't do what you think it does.  No automated tool is going
> to edit the commit message the way you think this will.

"git am" does if you run with --scissors, see git-am(1):

       -c, --scissors
           Remove everything in body before a scissors line (see git-
           mailinfo(1)).

and git-mailinfo(1);

       --scissors
           Remove everything in body before a scissors line. A line that
           mainly consists of scissors (either ">8" or "8<") and perforation
           (dash "-") marks is called a scissors line, and is used to request
           the reader to cut the message at that line. If such a line appears
           in the body of the message before the patch, everything before it
           (including the scissors line itself) is ignored when this option is
           used.

           This is useful if you want to begin your message in a discussion
           thread with comments and suggestions on the message you are
           responding to, and to conclude it with a patch submission,
           separating the discussion and the beginning of the proposed commit
           log message with a scissors line.

           This can enabled by default with the configuration option
           mailinfo.scissors.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
  2013-01-23  5:08   ` Ben Pfaff
@ 2013-01-23  5:20     ` David Miller
  0 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2013-01-23  5:20 UTC (permalink / raw)
  To: blp; +Cc: pshelar, netdev, jesse

From: Ben Pfaff <blp@cs.stanford.edu>
Date: Tue, 22 Jan 2013 21:08:33 -0800

> David Miller <davem@davemloft.net> writes:
> 
>> From: Pravin B Shelar <pshelar@nicira.com>
>> Date: Tue, 22 Jan 2013 14:56:38 -0800
>>
>>> Fixed code indentation according to comments from David Miller.
>>> 
>>> --8<--------------------------cut here-------------------------->8--
>>
>> This doesn't do what you think it does.  No automated tool is going
>> to edit the commit message the way you think this will.
> 
> "git am" does if you run with --scissors, see git-am(1):
> 
>        -c, --scissors
>            Remove everything in body before a scissors line (see git-
>            mailinfo(1)).

I'd rather not have to do that for submissions, thanks.
Furthermore patchwork doesn't parse this convention either.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum.
  2013-01-22 22:56 [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum Pravin B Shelar
  2013-01-23  1:55 ` David Miller
@ 2013-01-23 14:00 ` YOSHIFUJI Hideaki
  1 sibling, 0 replies; 5+ messages in thread
From: YOSHIFUJI Hideaki @ 2013-01-23 14:00 UTC (permalink / raw)
  To: Pravin B Shelar; +Cc: netdev, jesse, YOSHIFUJI Hideaki, David Miller

Pravin B Shelar wrote:
> Fixed code indentation according to comments from David Miller.
> 
> --8<--------------------------cut here-------------------------->8--
> 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 <pshelar@nicira.com>
> ---
>  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..8179e066 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));

IMHO, arguments for skb_checksum() should be aligned:

			*(__sum16 *)ptr = csum_fold(skb_checksum(skb,
								 skb_transport_offset(skb),
								 skb->len - skb_transport_offset(skb),
								 0));

--yoshfuji

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-01-23 14:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-22 22:56 [PATCH v2] IP_GRE: Fix kernel panic in IP_GRE with GRE csum Pravin B Shelar
2013-01-23  1:55 ` David Miller
2013-01-23  5:08   ` Ben Pfaff
2013-01-23  5:20     ` David Miller
2013-01-23 14:00 ` YOSHIFUJI Hideaki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).