{"id":832942,"url":"http://patchwork.ozlabs.org/api/1.2/patches/832942/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/150954313588.153848.10192893966808917578.stgit@buzz/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.2/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<150954313588.153848.10192893966808917578.stgit@buzz>","list_archive_url":null,"date":"2017-11-01T13:32:15","name":"tcp_nv: fix division by zero in tcpnv_acked()","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"c16a6335844cc2f2ff4872e6eca1e6d3e754aa58","submitter":{"id":65606,"url":"http://patchwork.ozlabs.org/api/1.2/people/65606/?format=json","name":"Konstantin Khlebnikov","email":"khlebnikov@yandex-team.ru"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.2/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/150954313588.153848.10192893966808917578.stgit@buzz/mbox/","series":[{"id":11326,"url":"http://patchwork.ozlabs.org/api/1.2/series/11326/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=11326","date":"2017-11-01T13:32:15","name":"tcp_nv: fix division by zero in tcpnv_acked()","version":1,"mbox":"http://patchwork.ozlabs.org/series/11326/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/832942/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/832942/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=yandex-team.ru header.i=@yandex-team.ru\n\theader.b=\"dk/S909q\"; dkim-atps=neutral","smtpcorp1p.mail.yandex.net;\n\tdkim=pass header.i=@yandex-team.ru"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yRq014XjZz9sRn\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu,  2 Nov 2017 00:32:33 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754547AbdKANcW (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 1 Nov 2017 09:32:22 -0400","from forwardcorp1j.cmail.yandex.net ([5.255.227.106]:37915 \"EHLO\n\tforwardcorp1j.cmail.yandex.net\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1752019AbdKANcV (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 1 Nov 2017 09:32:21 -0400","from smtpcorp1p.mail.yandex.net (smtpcorp1p.mail.yandex.net\n\t[IPv6:2a02:6b8:0:1472:2741:0:8b6:10])\n\tby forwardcorp1j.cmail.yandex.net (Yandex) with ESMTP id 3408A20D15; \n\tWed,  1 Nov 2017 16:32:19 +0300 (MSK)","from smtpcorp1p.mail.yandex.net (localhost.localdomain [127.0.0.1])\n\tby smtpcorp1p.mail.yandex.net (Yandex) with ESMTP id 30D276E40DB2;\n\tWed,  1 Nov 2017 16:32:19 +0300 (MSK)","from unknown (unknown [2a02:6b8:0:460:c5ab:eccf:e6e6:3148])\n\tby smtpcorp1p.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id\n\tAxtHTNLD6Q-WJECFLbD; Wed, 01 Nov 2017 16:32:19 +0300\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (Client certificate not present)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru;\n\ts=default; \n\tt=1509543139; bh=87lt1oKUo8JP6AvwovZ0zi+3PVdDmJbia3jO4sW4TGo=;\n\th=Subject:From:To:Cc:Date:Message-ID;\n\tb=dk/S909qz9E981TbUdwf5chZNpeOoBlgbNh+vQvDbgENOQ/xEjpcis1fwBzfpVnuB\n\tUo06GFuPBThCIGLW25p5FOlqB3MAIcBNKrgHkyEasIu4pUx9hgogWmk6/A6UK7wshM\n\t6xingYxDrKPXKRq1Gno82u6QkMtOidQ9ZE4I2XHg=","Subject":"[PATCH] tcp_nv: fix division by zero in tcpnv_acked()","From":"Konstantin Khlebnikov <khlebnikov@yandex-team.ru>","To":"netdev@vger.kernel.org, \"David S. Miller\" <davem@davemloft.net>","Cc":"Lawrence Brakmo <brakmo@fb.com>, Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,\n\tHideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>, linux-kernel@vger.kernel.org","Date":"Wed, 01 Nov 2017 16:32:15 +0300","Message-ID":"<150954313588.153848.10192893966808917578.stgit@buzz>","User-Agent":"StGit/0.17.1-dirty","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"Average RTT could become zero. This happened in real life at least twice.\nThis patch treats zero as 1us.\n\nSigned-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>\n---\n net/ipv4/tcp_nv.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/net/ipv4/tcp_nv.c b/net/ipv4/tcp_nv.c\nindex 1ff73982e28c..125fc1450b01 100644\n--- a/net/ipv4/tcp_nv.c\n+++ b/net/ipv4/tcp_nv.c\n@@ -252,7 +252,7 @@ static void tcpnv_acked(struct sock *sk, const struct ack_sample *sample)\n \n \t/* rate in 100's bits per second */\n \trate64 = ((u64)sample->in_flight) * 8000000;\n-\trate = (u32)div64_u64(rate64, (u64)(avg_rtt * 100));\n+\trate = (u32)div64_u64(rate64, (u64)(avg_rtt ?: 1) * 100);\n \n \t/* Remember the maximum rate seen during this RTT\n \t * Note: It may be more than one RTT. This function should be\n","prefixes":[]}