From patchwork Thu Dec 29 14:35:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Tikhomirov X-Patchwork-Id: 709511 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 3tqCJn1dk9z9sR9 for ; Fri, 30 Dec 2016 01:53:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752805AbcL2Owy (ORCPT ); Thu, 29 Dec 2016 09:52:54 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:6222 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752739AbcL2Owx (ORCPT ); Thu, 29 Dec 2016 09:52:53 -0500 X-Greylist: delayed 1011 seconds by postgrey-1.27 at vger.kernel.org; Thu, 29 Dec 2016 09:52:52 EST Received: from snorch.sw.ru (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id uBT8VmBK003471; Thu, 29 Dec 2016 11:31:49 +0300 (MSK) From: Pavel Tikhomirov To: "David S . Miller" Cc: Eric Dumazet , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Konstantin Khorenko , Pavel Tikhomirov Subject: [PATCH] ipv4: make tcp_notsent_lowat sysctl knob behave as true unsigned int Date: Thu, 29 Dec 2016 17:35:07 +0300 Message-Id: <20161229143507.4934-1-ptikhomirov@virtuozzo.com> X-Mailer: git-send-email 2.9.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org > cat /proc/sys/net/ipv4/tcp_notsent_lowat -1 > echo 4294967295 > /proc/sys/net/ipv4/tcp_notsent_lowat -bash: echo: write error: Invalid argument > echo -2147483648 > /proc/sys/net/ipv4/tcp_notsent_lowat > cat /proc/sys/net/ipv4/tcp_notsent_lowat -2147483648 but in documentation we have "tcp_notsent_lowat - UNSIGNED INTEGER" Signed-off-by: Pavel Tikhomirov --- net/ipv4/sysctl_net_ipv4.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 80bc36b..5361373 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -41,6 +41,7 @@ static int tcp_syn_retries_min = 1; static int tcp_syn_retries_max = MAX_TCP_SYNCNT; static int ip_ping_group_range_min[] = { 0, 0 }; static int ip_ping_group_range_max[] = { GID_T_MAX, GID_T_MAX }; +static unsigned int uint_max = UINT_MAX; /* Update system visible IP port range */ static void set_local_port_range(struct net *net, int range[2]) @@ -958,7 +959,9 @@ static struct ctl_table ipv4_net_table[] = { .data = &init_net.ipv4.sysctl_tcp_notsent_lowat, .maxlen = sizeof(unsigned int), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_doulongvec_minmax, + .extra1 = &zero, + .extra2 = &uint_max, }, #ifdef CONFIG_IP_ROUTE_MULTIPATH {