From patchwork Wed Nov 24 19:47:53 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 72946 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 D3F29B6F14 for ; Thu, 25 Nov 2010 06:47:32 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756208Ab0KXTr2 (ORCPT ); Wed, 24 Nov 2010 14:47:28 -0500 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:46943 "EHLO sunset.davemloft.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755775Ab0KXTr1 (ORCPT ); Wed, 24 Nov 2010 14:47:27 -0500 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id 89D3524C089; Wed, 24 Nov 2010 11:47:53 -0800 (PST) Date: Wed, 24 Nov 2010 11:47:53 -0800 (PST) Message-Id: <20101124.114753.242145402.davem@davemloft.net> To: mzhang@mvista.com Cc: netdev@vger.kernel.org Subject: Re: possible kernel oops from user MSS From: David Miller In-Reply-To: <4CDDC6EE.2010005@mvista.com> References: <20101110.124119.102563803.davem@davemloft.net> <4CDDC6EE.2010005@mvista.com> X-Mailer: Mew version 6.3 on Emacs 23.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Min Zhang Date: Fri, 12 Nov 2010 14:59:58 -0800 > Regarding commit 7a1abd08d52fdeddb3e9a5a33f2f15cc6a5674d2 ("tcp: > Increase TCP_MAXSEG socket option minimum"). What is the reason > TCP_MAXSEG minimum be 64? Isn't the exact be 40 which is > TCPOLEN_MD5SIG_ALIGNED(20) + TCPOLEN_TSTAMP_ALIGNED(12) + 8? > > Or is it better to use TCP_MIN_MSS from tcp.h: > > /* Minimal accepted MSS. It is (60+60+8) - (20+20). */ > #define TCP_MIN_MSS 88U Committed to net-2.6: -------------------- From c39508d6f118308355468314ff414644115a07f3 Mon Sep 17 00:00:00 2001 From: David S. Miller Date: Wed, 24 Nov 2010 11:47:22 -0800 Subject: [PATCH] tcp: Make TCP_MAXSEG minimum more correct. Use TCP_MIN_MSS instead of constant 64. Reported-by: Min Zhang Signed-off-by: David S. Miller --- net/ipv4/tcp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 0814199..f15c36a 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -2246,7 +2246,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level, /* Values greater than interface MTU won't take effect. However * at the point when this call is done we typically don't yet * know which interface is going to be used */ - if (val < 64 || val > MAX_TCP_WINDOW) { + if (val < TCP_MIN_MSS || val > MAX_TCP_WINDOW) { err = -EINVAL; break; }