[{"id":1761179,"web_url":"http://patchwork.ozlabs.org/comment/1761179/","msgid":"<CAEA6p_Dwtt3+VGzsEJMof33EVDHXhZPnjqaY-7WG1X=vgRk=gg@mail.gmail.com>","list_archive_url":null,"date":"2017-08-31T16:39:31","subject":"Re: [PATCH net] ipv4: Don't override return code from\n\tip_route_input_noref()","submitter":{"id":68448,"url":"http://patchwork.ozlabs.org/api/people/68448/","name":"Wei Wang","email":"weiwan@google.com"},"content":"> After ip_route_input() calls ip_route_input_noref(), another\n> check on skb_dst() is done, but if this fails, we shouldn't\n> override the return code from ip_route_input_noref(), as it\n> could have been more specific (i.e. -EHOSTUNREACH).\n>\n> This also saves one call to skb_dst_force_safe() and one to\n> skb_dst() in case the ip_route_input_noref() check fails.\n>\n> Reported-by: Sabrina Dubroca <sdubroca@redhat.com>\n> Fixes: ad65a2f05695 (\"ipv4: call dst_hold_safe() properly\")\n> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>\n\nAcked-by: Wei Wang <weiwan@google.com>\n\n\nOn Thu, Aug 31, 2017 at 9:11 AM, Stefano Brivio <sbrivio@redhat.com> wrote:\n> After ip_route_input() calls ip_route_input_noref(), another\n> check on skb_dst() is done, but if this fails, we shouldn't\n> override the return code from ip_route_input_noref(), as it\n> could have been more specific (i.e. -EHOSTUNREACH).\n>\n> This also saves one call to skb_dst_force_safe() and one to\n> skb_dst() in case the ip_route_input_noref() check fails.\n>\n> Reported-by: Sabrina Dubroca <sdubroca@redhat.com>\n> Fixes: ad65a2f05695 (\"ipv4: call dst_hold_safe() properly\")\n> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>\n> ---\n>  include/net/route.h | 7 ++++---\n>  1 file changed, 4 insertions(+), 3 deletions(-)\n>\n> diff --git a/include/net/route.h b/include/net/route.h\n> index cb0a76d9dde1..1b09a9368c68 100644\n> --- a/include/net/route.h\n> +++ b/include/net/route.h\n> @@ -189,10 +189,11 @@ static inline int ip_route_input(struct sk_buff *skb, __be32 dst, __be32 src,\n>\n>         rcu_read_lock();\n>         err = ip_route_input_noref(skb, dst, src, tos, devin);\n> -       if (!err)\n> +       if (!err) {\n>                 skb_dst_force_safe(skb);\n> -       if (!skb_dst(skb))\n> -               err = -EINVAL;\n> +               if (!skb_dst(skb))\n> +                       err = -EINVAL;\n> +       }\n>         rcu_read_unlock();\n>\n>         return err;\n> --\n> 2.9.4\n>","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 (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"vh9LoYtd\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjp4S4Vt8z9s81\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  1 Sep 2017 02:39:36 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751867AbdHaQje (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 12:39:34 -0400","from mail-ua0-f173.google.com ([209.85.217.173]:34336 \"EHLO\n\tmail-ua0-f173.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751717AbdHaQjd (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 31 Aug 2017 12:39:33 -0400","by mail-ua0-f173.google.com with SMTP id l11so532318uaf.1\n\tfor <netdev@vger.kernel.org>; Thu, 31 Aug 2017 09:39:32 -0700 (PDT)","by 10.31.70.71 with HTTP; Thu, 31 Aug 2017 09:39:31 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=google.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=LprS3BHP5fuA/TswStrA4wobX3D6+WMtNs6s5T+ABm4=;\n\tb=vh9LoYtdYDl0YMOqV84MO84j4q9NtI9krc5X89wNRrMyuyLmjnvnprOaNlkoRjoBch\n\tARueF6Y3ZT3dG5KwIOXIIoww3Ks/Sfe/aVLD2tl0uxEQowZ6ZgrYd+GkCEaHNQK0sygx\n\t1ZJ7mmgKT/PvwShnURJAioO34BABVzNAuePmJjDOUajZ71bW9MFSNWUxU7kih4QRN9E/\n\tOWlOQNL4qz+7Qcz/9BMcmaFvZvjsflXnai7kEcUJgXAWXsWvAXtgG6LUicNnih+Wa0qw\n\toQpwY3o+8x15UdmPslKEEkVgHR20f7Y2nrJ5Wt8O7ZMWYgAeje2+1A5Yb9dXOMu8KVDZ\n\tMUxA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=LprS3BHP5fuA/TswStrA4wobX3D6+WMtNs6s5T+ABm4=;\n\tb=fqYx73knybTtqjyQ4TrOKAkQZJojwL69Az1dZNC4ta7WuFZhUcHFBDTChPIIPFZW3j\n\tGTUrC1S4RRmZJZzGylTtFietASIVoCZi7oPuOMwHWW3LK++WGVHxidX7dUVRubztZDZq\n\td1Y6XFZR7Sm2pNeRf8CTQqu5KFC4xhJBTSBbX1M7dmuhmXqgJhuqprlINDmA3gjSa7BO\n\tvaXZ/UgLNVypfu8xg4B/MWF+ryB3Kd8G1GRHO+vL6MszjAG/5VhdJT7W3Oz5k4u7F1jN\n\t/sbZvIAxFx1TmFOOYo5t94yKYPv2L8Ii5dmLD3I8HZvxctQtCrRrbLyqJNc4igGruUo+\n\t/nxw==","X-Gm-Message-State":"AHYfb5hRzuvtybcBp+t/awLJP6jElPydxjNJuPgE5cdU7gBKA+Ou2+5r\n\tKLAHCoHvuRzKA30j0N5U0sVbtztVY9at","X-Google-Smtp-Source":"ADKCNb4n1UQ2wIQXQ6NU/6hWKnNq4aezKIPC07eIDAbxHNbk0MSx+sLlIlY2hKypmUE53y5lwK68Z4UhdAaJKU9tgQE=","X-Received":"by 10.176.74.193 with SMTP id t1mr3974452uae.61.1504197572057;\n\tThu, 31 Aug 2017 09:39:32 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<c4d8970306e614ac139cf2f33ab5e6bb73b30154.1504194307.git.sbrivio@redhat.com>","References":"<c4d8970306e614ac139cf2f33ab5e6bb73b30154.1504194307.git.sbrivio@redhat.com>","From":"Wei Wang <weiwan@google.com>","Date":"Thu, 31 Aug 2017 09:39:31 -0700","Message-ID":"<CAEA6p_Dwtt3+VGzsEJMof33EVDHXhZPnjqaY-7WG1X=vgRk=gg@mail.gmail.com>","Subject":"Re: [PATCH net] ipv4: Don't override return code from\n\tip_route_input_noref()","To":"Stefano Brivio <sbrivio@redhat.com>","Cc":"\"David S . Miller\" <davem@davemloft.net>,\n\tLinux Kernel Network Developers <netdev@vger.kernel.org>,\n\tSabrina Dubroca <sdubroca@redhat.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1761381,"web_url":"http://patchwork.ozlabs.org/comment/1761381/","msgid":"<20170831234506.GA1838@bistromath.localdomain>","list_archive_url":null,"date":"2017-08-31T23:45:06","subject":"Re: [PATCH net] ipv4: Don't override return code from\n\tip_route_input_noref()","submitter":{"id":47767,"url":"http://patchwork.ozlabs.org/api/people/47767/","name":"Sabrina Dubroca","email":"sd@queasysnail.net"},"content":"2017-08-31, 18:11:41 +0200, Stefano Brivio wrote:\n> After ip_route_input() calls ip_route_input_noref(), another\n> check on skb_dst() is done, but if this fails, we shouldn't\n> override the return code from ip_route_input_noref(), as it\n> could have been more specific (i.e. -EHOSTUNREACH).\n> \n> This also saves one call to skb_dst_force_safe() and one to\n> skb_dst() in case the ip_route_input_noref() check fails.\n> \n> Reported-by: Sabrina Dubroca <sdubroca@redhat.com>\n> Fixes: ad65a2f05695 (\"ipv4: call dst_hold_safe() properly\")\n\nThat should be instead:\n\nFixes: 9df16efadd2a (\"ipv4: call dst_hold_safe() properly\")\n\nAcked-by: Sabrina Dubroca <sd@queasysnail.net>","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>)","ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none)\n\theader.from=queasysnail.net","ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tspf=none smtp.mailfrom=sd@queasysnail.net"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjzWY4KfRz9s7p\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  1 Sep 2017 09:45:13 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751848AbdHaXpL (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 19:45:11 -0400","from mx1.redhat.com ([209.132.183.28]:53406 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751618AbdHaXpK (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tThu, 31 Aug 2017 19:45:10 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id E56AE80099;\n\tThu, 31 Aug 2017 23:45:09 +0000 (UTC)","from bistromath.localdomain (ovpn-116-179.ams2.redhat.com\n\t[10.36.116.179])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id D6CC7A01E3;\n\tThu, 31 Aug 2017 23:45:08 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com E56AE80099","DKIM-Filter":"OpenDKIM Filter v2.11.0 mx1.redhat.com E56AE80099","Date":"Fri, 1 Sep 2017 01:45:06 +0200","From":"Sabrina Dubroca <sd@queasysnail.net>","To":"Stefano Brivio <sbrivio@redhat.com>","Cc":"\"David S . Miller\" <davem@davemloft.net>, netdev@vger.kernel.org,\n\tWei Wang <weiwan@google.com>","Subject":"Re: [PATCH net] ipv4: Don't override return code from\n\tip_route_input_noref()","Message-ID":"<20170831234506.GA1838@bistromath.localdomain>","References":"<c4d8970306e614ac139cf2f33ab5e6bb73b30154.1504194307.git.sbrivio@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<c4d8970306e614ac139cf2f33ab5e6bb73b30154.1504194307.git.sbrivio@redhat.com>","User-Agent":"Mutt/1.8.3 (2017-05-23)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.16","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.28]);\n\tThu, 31 Aug 2017 23:45:10 +0000 (UTC)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1762312,"web_url":"http://patchwork.ozlabs.org/comment/1762312/","msgid":"<20170903.105548.660408350943707381.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-03T17:55:48","subject":"Re: [PATCH net] ipv4: Don't override return code from\n\tip_route_input_noref()","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Sabrina Dubroca <sd@queasysnail.net>\nDate: Fri, 1 Sep 2017 01:45:06 +0200\n\n> 2017-08-31, 18:11:41 +0200, Stefano Brivio wrote:\n>> After ip_route_input() calls ip_route_input_noref(), another\n>> check on skb_dst() is done, but if this fails, we shouldn't\n>> override the return code from ip_route_input_noref(), as it\n>> could have been more specific (i.e. -EHOSTUNREACH).\n>> \n>> This also saves one call to skb_dst_force_safe() and one to\n>> skb_dst() in case the ip_route_input_noref() check fails.\n>> \n>> Reported-by: Sabrina Dubroca <sdubroca@redhat.com>\n>> Fixes: ad65a2f05695 (\"ipv4: call dst_hold_safe() properly\")\n> \n> That should be instead:\n> \n> Fixes: 9df16efadd2a (\"ipv4: call dst_hold_safe() properly\")\n> \n> Acked-by: Sabrina Dubroca <sd@queasysnail.net>\n\nApplied with fixed Fixes: tag, thanks.","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>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xlgd46DfLz9t3f\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon,  4 Sep 2017 03:55:52 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753129AbdICRzu (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSun, 3 Sep 2017 13:55:50 -0400","from shards.monkeyblade.net ([184.105.139.130]:56354 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753061AbdICRzt (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sun, 3 Sep 2017 13:55:49 -0400","from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net\n\t[74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id AC4D811D698A2;\n\tSun,  3 Sep 2017 10:55:48 -0700 (PDT)"],"Date":"Sun, 03 Sep 2017 10:55:48 -0700 (PDT)","Message-Id":"<20170903.105548.660408350943707381.davem@davemloft.net>","To":"sd@queasysnail.net","Cc":"sbrivio@redhat.com, netdev@vger.kernel.org, weiwan@google.com","Subject":"Re: [PATCH net] ipv4: Don't override return code from\n\tip_route_input_noref()","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<20170831234506.GA1838@bistromath.localdomain>","References":"<c4d8970306e614ac139cf2f33ab5e6bb73b30154.1504194307.git.sbrivio@redhat.com>\n\t<20170831234506.GA1838@bistromath.localdomain>","X-Mailer":"Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Sun, 03 Sep 2017 10:55:48 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]