Received: by 2002:ac0:e350:0:0:0:0:0 with SMTP id g16csp2648689imn; Tue, 2 Aug 2022 10:37:43 -0700 (PDT) X-Google-Smtp-Source: AA6agR7jRQY9vCD146rgK0p2B15TSkZFSBaJYFuv0gjI0nNT0E2rNSwZAwQgzLcOoO7HyyJGEloP X-Received: by 2002:a17:902:c94a:b0:16d:8fc0:f52b with SMTP id i10-20020a170902c94a00b0016d8fc0f52bmr22196446pla.80.1659461862857; Tue, 02 Aug 2022 10:37:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1659461862; cv=none; d=google.com; s=arc-20160816; b=YDns9gaQnQVuNW5/0Fv/kfrgz3oSG1+nW8Uy0LPkLRgc1bImWNqnVmO0OVi0BYU43E 65qTeo1OANOmQgtx+uIAW5n+x5jnQuOKbquhOHToALMbM6gAvSR42Jn0ZoHA3yeAreuG OoOiJXG/16NOYn6WkFcWwPVzxJADDARWHFztERpsL6juN9hizF1rJJCMK+lyPIKBeRWT cZLI8SUF3896WuqPgdqgtnSV7WCklnRKGsaR5EO7xgT2kRaKfB8bYVSgeuHhjBD7/hZb hUAjIPbV2H+DBK7Og181+/kVS1VsqHMlegplTqqPSKy+w0aWijso8OhfhH94OtmkwTdh BVLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=UD93ulFy/PKutUGbZePPGVNtMYIWBzezAUK0opMtBAw=; b=0sU/Ce8nU11nDb4x7SV5H9wYvbM+bpa9QCrPQMc7gFoIOhYWwqVOK8C4GIITAOEyZU nfxPnboeIMTQ7l90DL+LZo7YDFBfrtnPGlO1Zg7rGCFcEw/6CHSE+713RgZYhy5eyttx qt++iYmpmSylJs3HrMLPDk77nk1JGAvjYFZqbcnRgXbWxtv9u1JF4sdsqelug2DSGYxr Y4BZ605WlyhDxP811j+PVpPjxi6iKBwJGIjZiVHCs1m3QCo4bVs6BhXy5iPXZEAJz25v rDokMPK0dh+aRHgA18QUhzFf6f1Mgr1YxhaYB2+NFJ2iI6sb0FJjPMabAYMEtUNm1ycH 4SZw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=auristor.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z10-20020a170902834a00b0016ef08bddc9si5578586pln.170.2022.08.02.10.37.27; Tue, 02 Aug 2022 10:37:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=auristor.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234462AbiHBR1m (ORCPT + 99 others); Tue, 2 Aug 2022 13:27:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53750 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229804AbiHBR1k (ORCPT ); Tue, 2 Aug 2022 13:27:40 -0400 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB63E2C663; Tue, 2 Aug 2022 10:27:37 -0700 (PDT) Received: by mail-pj1-f44.google.com with SMTP id x2-20020a17090ab00200b001f4da5cdc9cso9046241pjq.0; Tue, 02 Aug 2022 10:27:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UD93ulFy/PKutUGbZePPGVNtMYIWBzezAUK0opMtBAw=; b=QiUCagWtS+9yqh3/BOzkkI+NOueNq1AqmpiCzRh8ovLUOX8FKRTYohlUNAm/zebf1T NCXX3MX7EDY2286Mk0anhHfkiMbrB0CPJiK1LQckVTsOdRaZZlBI0/3TjOTvfnLtlQzz sKmgYhzmvZYopBLcoqldpFVZbLy8CMz/tB3zQCxem9M/aL3kfraI4RIpWW5JHbzej/iG SlLr0ACrzCFEVMpjjpq842aV0dm+ZCYEcfE2Y7Qc38Xmgd39jPJNfzr7r2ebpree/M2e m1Te+Yptwq/LxkWniCJnTehTmn3OkmNdzp3OjrOe+pjeiamQxBXyPqKA7Hx2NmfuwDe1 shoQ== X-Gm-Message-State: ACgBeo0pBPddVdGEC3vFN6CGbE7tr3rWDetTG2K8VzLQIZDcdpbh0/+t WDYBfWTi9ShhJQ0oGU2Yt5gx+jdLPiivYg== X-Received: by 2002:a17:903:18a:b0:16f:e43:efdf with SMTP id z10-20020a170903018a00b0016f0e43efdfmr1611125plg.157.1659461257160; Tue, 02 Aug 2022 10:27:37 -0700 (PDT) Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com. [209.85.215.177]) by smtp.gmail.com with ESMTPSA id x190-20020a6263c7000000b0052ac99c2c1csm11075105pfb.83.2022.08.02.10.27.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 02 Aug 2022 10:27:36 -0700 (PDT) Received: by mail-pg1-f177.google.com with SMTP id bh13so12914340pgb.4; Tue, 02 Aug 2022 10:27:36 -0700 (PDT) X-Received: by 2002:a62:7bd6:0:b0:52d:4773:a3de with SMTP id w205-20020a627bd6000000b0052d4773a3demr12785774pfc.70.1659461251723; Tue, 02 Aug 2022 10:27:31 -0700 (PDT) MIME-Version: 1.0 References: <165911277121.3745403.18238096564862303683.stgit@warthog.procyon.org.uk> <165911278430.3745403.16526310736054780645.stgit@warthog.procyon.org.uk> <3733972.1659460456@warthog.procyon.org.uk> In-Reply-To: <3733972.1659460456@warthog.procyon.org.uk> From: Marc Dionne Date: Tue, 2 Aug 2022 14:27:20 -0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 2/2] afs: Fix access after dec in put functions To: David Howells Cc: linux-afs@lists.infradead.org, linux-fsdevel@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 2, 2022 at 2:15 PM David Howells wrote: > > Marc Dionne wrote: > > > > - trace_afs_server(server, r - 1, atomic_read(&server->active), reason); > > > + trace_afs_server(server->debug_id, r - 1, a, reason); > > > > Don't you also want to copy server->debug_id into a local variable here? > > Okay, how about the attached change? > > David > --- > diff --git a/fs/afs/server.c b/fs/afs/server.c > index bca4b4c55c14..4981baf97835 100644 > --- a/fs/afs/server.c > +++ b/fs/afs/server.c > @@ -399,7 +399,7 @@ struct afs_server *afs_use_server(struct afs_server *server, enum afs_server_tra > void afs_put_server(struct afs_net *net, struct afs_server *server, > enum afs_server_trace reason) > { > - unsigned int a; > + unsigned int a, debug_id = server->debug_id; > bool zero; > int r; > > @@ -408,7 +408,7 @@ void afs_put_server(struct afs_net *net, struct afs_server *server, > > a = atomic_inc_return(&server->active); > zero = __refcount_dec_and_test(&server->ref, &r); > - trace_afs_server(server->debug_id, r - 1, a, reason); > + trace_afs_server(debug_id, r - 1, a, reason); > if (unlikely(zero)) > __afs_put_server(net, server); > } Looks fine with that change. Marc