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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2B73C7EE21 for ; Wed, 3 May 2023 17:06:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 400EE6B0078; Wed, 3 May 2023 13:06:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B0496B007B; Wed, 3 May 2023 13:06:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A0376B007D; Wed, 3 May 2023 13:06:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f202.google.com (mail-pg1-f202.google.com [209.85.215.202]) by kanga.kvack.org (Postfix) with ESMTP id F1F966B0078 for ; Wed, 3 May 2023 13:06:53 -0400 (EDT) Received: by mail-pg1-f202.google.com with SMTP id 41be03b00d2f7-5287c9b01fdso4871760a12.2 for ; Wed, 03 May 2023 10:06:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1683133613; x=1685725613; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=WDoI23BY5xrud/SA1nFxDTQ7jEhWWSx2h+6na99FhRk=; b=adfD6lZbeMzlxiHHteeYiJRSnsfUj++6CQgcJDVTWq4FBex4VY3jYCmIZdBElKeeWv gvgvS6m7jdv/c4Usm9E6TOL3GDCMVzfkry7Eo50UZiPdXAZ/sNAfwFQgN7znxwtlvFDL e3ybYuak3yZ0V4PBhJa9izBB0RX1b+HwkIGop3QwRfyeAoT1ZABJN+ezMmf3K55GGD0h cWYjrqD6JSH3NH7yoRlfuTEPlyNc0pi2szAJLzTl/NsX9eqJe0cZw5dBef4wt67PFWfU jp8wDrNkh9Zs26GpaBgBpUuRCFyiGJeDVmI06LAhu7oIjq3NkfbMccsJHs9s1DJPljpM KiYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683133613; x=1685725613; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WDoI23BY5xrud/SA1nFxDTQ7jEhWWSx2h+6na99FhRk=; b=czys3yY7oydZFVrd/CnkvI/PYUbTtme8kBFeJmTSgaVpkNHZ9G8K2xgTAqUU7UmsZE VBrxloHzGYTMVQssuRzsNEYAOmQYNxIrfrHp1o6QxMbf8hytiEIlYwIiH/Hg080DLFsI ErGKwf8xmv9mLVaFjVhBvf7gyynrEXgOiq8bavyUqXOM7jsXx5p6SY/UDfuC82GQ6ypH /Ibcgnvg4OYOBlZt3U8V3LxsFFPHd6S0jf4Mb2nEkz/aMJUrsaAIhNje9pRbNy1mrceR hcZmGrdaonBMJvhUl15ndNoSz6w8ZEoAU7J7POpZJ8ZsxUXOL+Sm6nz0f9gnW2EWkCjS /7/g== X-Gm-Message-State: AC+VfDw4RLaiNQerPUb7tfChaWenSmY361wnpANx0PDcR3CTzyrBovrF v4EZAR2Yxoh90gGKTGIac/SX3zgAaE5bYw== X-Google-Smtp-Source: ACHHUZ5eLvo9p9gkPoiGzNaTncBZwyV1ILFr1Jfusyuq5i5KqidoIiAoy2ayVD9+qMvlof/GwYtfvRllNBeGBg== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a63:2b09:0:b0:52c:63a3:9f23 with SMTP id r9-20020a632b09000000b0052c63a39f23mr606175pgr.0.1683133613387; Wed, 03 May 2023 10:06:53 -0700 (PDT) Date: Wed, 3 May 2023 17:06:51 +0000 In-Reply-To: <20230502160839.361544-2-roman.gushchin@linux.dev> Mime-Version: 1.0 References: <20230502160839.361544-1-roman.gushchin@linux.dev> <20230502160839.361544-2-roman.gushchin@linux.dev> Message-ID: <20230503170651.cw5omegmm3piumxf@google.com> Subject: Re: [PATCH v2 2/2] mm: memcg: use READ_ONCE()/WRITE_ONCE() to access stock->cached From: Shakeel Butt To: Roman Gushchin Cc: linux-mm@kvack.org, Andrew Morton , Johannes Weiner , Michal Hocko , Muchun Song , linux-kernel@vger.kernel.org, Dmitry Vyukov , Yosry Ahmed Content-Type: text/plain; charset="us-ascii" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000159, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, May 02, 2023 at 09:08:39AM -0700, Roman Gushchin wrote: > A memcg pointer in the percpu stock can be accessed by drain_all_stock() > from another cpu in a lockless way. > In theory it might lead to an issue, similar to the one which has been > discovered with stock->cached_objcg, where the pointer was zeroed > between the check for being NULL and dereferencing. > In this case the issue is unlikely a real problem, but to make it > bulletproof and similar to stock->cached_objcg, let's annotate all > accesses to stock->cached with READ_ONCE()/WTRITE_ONCE(). > > Signed-off-by: Roman Gushchin > Cc: Dmitry Vyukov > Cc: Yosry Ahmed > Cc: Shakeel Butt Acked-by: Shakeel Butt