From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2F88C43381 for ; Fri, 15 Feb 2019 22:13:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9E174222DD for ; Fri, 15 Feb 2019 22:13:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hMqkuMUZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727762AbfBOWNO (ORCPT ); Fri, 15 Feb 2019 17:13:14 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:44195 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726113AbfBOWNO (ORCPT ); Fri, 15 Feb 2019 17:13:14 -0500 Received: by mail-pg1-f195.google.com with SMTP id y1so5409557pgk.11 for ; Fri, 15 Feb 2019 14:13:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=ZXdIxsn83Qw/aKJkNgz6BG4eZVBlE7KCrQEabZum3Ds=; b=hMqkuMUZTmB65X5rS0tW0A/Qzd4O1uj/VXeYd4DBxbnjfJT6NdkVeO1qpkuGp/++1N xZUYQbW8XMoo+TNaDBQcO8iNM2aiyeOfgCZ4qnjQlG40xV/CjecS+kvRUcteepa4AqLP HBvV5N4Viu283AcdlYVdcCyJkLzFRk5/wv3ELqW4qWp9yMEqvG3+8zG1VPWiPvrLE0Z7 KEi+PBmOvUnkKiMos5uTD4npUHnibX+OJ0dakd6/+5q8VKjZrJwI+RTmbux+Q4Hv0SbR TNN8f5SB6/bnsXpQ+EpkmWrYOj5SRV9KdA8aLcYn/gKBoC8OlvWVeLKXTesE0TWflySR NK8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ZXdIxsn83Qw/aKJkNgz6BG4eZVBlE7KCrQEabZum3Ds=; b=QII1YzAyFtiV7LSvLd7v25QLVOqYzJxRKqQw9dZpcV4jd7c5U4mgeG5hrQKnCsqmUc 1jmdISGSiMAGevszNNI0lliWZAd5HxODPH/lavZY9MImWAVkGGcoeONWWOUTUgx3ZaC+ pScl3fybran29oMKqUVLfkQVIg1TSJzVXa9Jb8ssow7z33q4uRCFw48q5gxlGU36ZPZY bA9NoEYXL0hfNjXELIUxZa6KhVWqj8THHMtYRgKhCEO7Qm4KflhtsKNnhabI+ZJgcqS/ SiWhZWwuU28abzwpMWf7UjOF7W+b81a8RIBkrqOpmdDU9a0VHvqnUgyqWVCm4HAq7+Zf eWoQ== X-Gm-Message-State: AHQUAuabRdQpzr9OqkNKfArZG4dj0BSbUqFWlDPVt2SYxJB0Pj1dffWz JA+Tjspc592dQxkH6XDySGY= X-Google-Smtp-Source: AHgI3IZ+EDAf34lyICzrNjwQvf2F8tdBrKfZV9V18X8kFUq9usogCF9N8daYQ5uL24hwebzGArXOlA== X-Received: by 2002:a63:5402:: with SMTP id i2mr7251528pgb.79.1550268793156; Fri, 15 Feb 2019 14:13:13 -0800 (PST) Received: from ?IPv6:2601:282:800:fd80:7cf3:155:e168:2730? ([2601:282:800:fd80:7cf3:155:e168:2730]) by smtp.googlemail.com with ESMTPSA id 186sm25228082pga.36.2019.02.15.14.13.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 Feb 2019 14:13:12 -0800 (PST) Subject: Re: [PATCH net-next] net/ipv6: prefer rcu_access_pointer() over rcu_dereference() To: Paolo Abeni , netdev@vger.kernel.org Cc: "David S. Miller" References: <52d4aee68b816ce36c0d4f4398ae143a2ebbdba4.1550249827.git.pabeni@redhat.com> From: David Ahern Message-ID: <2e26b615-65e9-96b3-d1fa-e72116320030@gmail.com> Date: Fri, 15 Feb 2019 15:13:06 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <52d4aee68b816ce36c0d4f4398ae143a2ebbdba4.1550249827.git.pabeni@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 2/15/19 10:15 AM, Paolo Abeni wrote: > rt6_cache_allowed_for_pmtu() checks for rt->from presence, but > it does not access the RCU protected pointer. We can use > rcu_access_pointer() and clean-up the code a bit. No functional > changes intended. > > Signed-off-by: Paolo Abeni > --- > net/ipv6/route.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index dc066fdf7e46..87a0561136dd 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -2277,14 +2277,8 @@ static void rt6_do_update_pmtu(struct rt6_info *rt, u32 mtu) > > static bool rt6_cache_allowed_for_pmtu(const struct rt6_info *rt) > { > - bool from_set; > - > - rcu_read_lock(); > - from_set = !!rcu_dereference(rt->from); > - rcu_read_unlock(); > - > return !(rt->rt6i_flags & RTF_CACHE) && > - (rt->rt6i_flags & RTF_PCPU || from_set); > + (rt->rt6i_flags & RTF_PCPU || rcu_access_pointer(rt->from)); > } > > static void __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk, > good cleanup Reviewed-by: David Ahern