lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C571A70.20103@pandora.be>
Date:	Mon, 02 Aug 2010 21:20:16 +0200
From:	Bart De Schuymer <bdschuym@...dora.be>
To:	Patrick McHardy <kaber@...sh.net>
CC:	Changli Gao <xiaosuo@...il.com>,
	"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH] ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu
 twice

Patrick McHardy schreef:
> On 01.08.2010 01:25, Changli Gao wrote:
>   
>> 6c79bf0f2440fd250c8fce8d9b82fcf03d4e8350 subtracts PPPOE_SES_HLEN from mtu at
>> the front of ip_fragment(). So the later subtraction should be removed. The
>> MTU of 802.1q is also 1500, so MTU should not be changed.
>>     
>
> Bart, please review, thanks.
>
>   
The patch looks correct. The commit Changli refers to fixed the case 
where fragments are already available but broke the slow_path. The MTU 
for 802.1Q is indeed also 1500...

cheers,
Bart

Signed-off-by: Bart De Schuymer <bdschuym@...dora.bo>
>> Signed-off-by: Changli Gao <xiaosuo@...il.com>
>> ----
>>  net/ipv4/ip_output.c |    6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>> diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
>> index 6652bd9..04b6989 100644
>> --- a/net/ipv4/ip_output.c
>> +++ b/net/ipv4/ip_output.c
>> @@ -446,7 +446,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
>>  	int ptr;
>>  	struct net_device *dev;
>>  	struct sk_buff *skb2;
>> -	unsigned int mtu, hlen, left, len, ll_rs, pad;
>> +	unsigned int mtu, hlen, left, len, ll_rs;
>>  	int offset;
>>  	__be16 not_last_frag;
>>  	struct rtable *rt = skb_rtable(skb);
>> @@ -585,9 +585,7 @@ slow_path:
>>  	/* for bridged IP traffic encapsulated inside f.e. a vlan header,
>>  	 * we need to make room for the encapsulating header
>>  	 */
>> -	pad = nf_bridge_pad(skb);
>> -	ll_rs = LL_RESERVED_SPACE_EXTRA(rt->dst.dev, pad);
>> -	mtu -= pad;
>> +	ll_rs = LL_RESERVED_SPACE_EXTRA(rt->dst.dev, nf_bridge_pad(skb));
>>  
>>  	/*
>>  	 *	Fragment the datagram.
>>
>>     
>
>
>   


-- 
Bart De Schuymer
www.artinalgorithms.be

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ