From patchwork Tue May 16 21:39:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soheil Hassas Yeganeh X-Patchwork-Id: 763207 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 3wS9nV6GBBz9s7w for ; Wed, 17 May 2017 07:39:10 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rKd37rk4"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752853AbdEPVjI (ORCPT ); Tue, 16 May 2017 17:39:08 -0400 Received: from mail-qt0-f196.google.com ([209.85.216.196]:34754 "EHLO mail-qt0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750932AbdEPVjH (ORCPT ); Tue, 16 May 2017 17:39:07 -0400 Received: by mail-qt0-f196.google.com with SMTP id l39so22582654qtb.1 for ; Tue, 16 May 2017 14:39:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=1i7zoMTqx4x8bUCS94wPKnkaldk0rjshWjQmTeRjYwM=; b=rKd37rk4rzxZ6IMdI9agEv/nOMVCQNU3SoxO7zhr3n4H+V/cGpgWql+RpOKapmPcD0 9ZEmqBPeHs2qo5pkibGaVNqrdjiyRr7DG3ZvHF9BPk8DcWCeu/4O4rR0CJrUjsrz4oEO 2iJf5LNILsIbqN627aPJcqjTvhw9wKkrHxHpavEASEHxNsNB3UQ8ETn2JMSF54qyUL3P KwCw/nD7jtiaEjmJWJztMyzh3PVjSNWHx7DcF/l0ebibi/2EoZ5LWL5QDUbiknzcdo0P e4+U3HNu6zskRFCuOyFaLdqDgYmI++94DRZ6BGnZqWtOEUd5NmKInvIvYHJO7xUa6Eac nDtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=1i7zoMTqx4x8bUCS94wPKnkaldk0rjshWjQmTeRjYwM=; b=kLsNfmFYMXeX/TDaGegmWeIzOFJBI9bA3PBcweJTgT6nXkJ25MdUmKbczmAl7fywmV 0gwh5o9ybJqXyLKGD5i+W5czNZyzmHpWeQCfXo+gx+3/1QfIWVIFN2OlB5hfCHfceM2Q CSicMwFPQ097+jp3Yrdt8LE/ibFfHaWSfb+Zu1scUoUuQg9xRxopQ4YsMvloefR9/oTy LoYM0dLfqrdDW2ga8ubQVMyXUoIluMc/FDIaf02vvek4GGcJlilC4f4ZC83U1tdGsr8v 8iDhtliB4z2CNHTuoeiTimOzd/1qh8n4IiQDZ3PaasKPSzEhXfDqlARdnq5xMvwWSmu5 Wcxw== X-Gm-Message-State: AODbwcBpZvnHIbG57IHPsAIWrtC+lroVCSu1aZQtJOYllLvfh4k65C8O bl52RALJyg/vZg== X-Received: by 10.200.35.110 with SMTP id b43mr117094qtb.24.1494970746343; Tue, 16 May 2017 14:39:06 -0700 (PDT) Received: from z.nyc.corp.google.com ([172.26.104.94]) by smtp.gmail.com with ESMTPSA id x139sm48351qkx.20.2017.05.16.14.39.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 16 May 2017 14:39:05 -0700 (PDT) From: Soheil Hassas Yeganeh To: davem@davemloft.net, netdev@vger.kernel.org Cc: Soheil Hassas Yeganeh , Neal Cardwell , Yuchung Cheng , Eric Dumazet Subject: [PATCH net-next] tcp: warn on negative reordering values Date: Tue, 16 May 2017 17:39:02 -0400 Message-Id: <20170516213903.78909-1-soheil.kdev@gmail.com> X-Mailer: git-send-email 2.13.0.303.g4ebf302169-goog Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Soheil Hassas Yeganeh Commit bafbb9c73241 ("tcp: eliminate negative reordering in tcp_clean_rtx_queue") fixes an issue for negative reordering metrics. To be resilient to such errors, warn and return when a negative metric is passed to tcp_update_reordering(). Signed-off-by: Soheil Hassas Yeganeh Signed-off-by: Neal Cardwell Signed-off-by: Yuchung Cheng Signed-off-by: Eric Dumazet --- net/ipv4/tcp_input.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index f27dff64e59e..eb5eb87060a2 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -886,6 +886,9 @@ static void tcp_update_reordering(struct sock *sk, const int metric, struct tcp_sock *tp = tcp_sk(sk); int mib_idx; + if (WARN_ON_ONCE(metric < 0)) + return; + if (metric > tp->reordering) { tp->reordering = min(sysctl_tcp_max_reordering, metric);