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=-8.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 47647C4338F for ; Sat, 14 Aug 2021 02:38:03 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id A3A9560E93 for ; Sat, 14 Aug 2021 02:38:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A3A9560E93 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 3F7936B006C; Fri, 13 Aug 2021 22:38:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A7118D0001; Fri, 13 Aug 2021 22:38:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2955E6B0072; Fri, 13 Aug 2021 22:38:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0042.hostedemail.com [216.40.44.42]) by kanga.kvack.org (Postfix) with ESMTP id 128D36B006C for ; Fri, 13 Aug 2021 22:38:02 -0400 (EDT) Received: from smtpin35.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 920DB182945CC for ; Sat, 14 Aug 2021 02:38:01 +0000 (UTC) X-FDA: 78472126362.35.7C87A1E Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf26.hostedemail.com (Postfix) with ESMTP id 93DF3200173F for ; Sat, 14 Aug 2021 02:38:00 +0000 (UTC) Received: by mail-pj1-f49.google.com with SMTP id bo18so18149210pjb.0 for ; Fri, 13 Aug 2021 19:38:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qr19XxhpOdWWikj6f/16JpctKy7U1Tuzg8uHG2JOddM=; b=vqaspV4sjJFM/1EaFpe9mMhJbK7Bxi0QqdvjWnp5Rlp79qL1tkYPaw/u6kgQlbiMts X0Qt2QoD4yWjq/gZByqbj2L5mRc7E7lWyR4K8Xw2avnzuurpmdSdRS9JxAfdgUWdOBjh OPj7XQu9Qxu5esavi6dMQk36ZmY/hSnWfjYVsc64NpIcLSEYI/6urG2TgNruc63ZgVev AZl/worvQD7iP4bpTvlRr73SIKCUtUjAhRoqJ06we5h0Af4jk0sc5ESDPB3ogVIXDSxr k8YkAlvwK3K18sDrqoYtUZPhMZQTw34FCMRODZj5tpm58jUsUHxz5ReLeT5nzhdlvDHG 2QQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qr19XxhpOdWWikj6f/16JpctKy7U1Tuzg8uHG2JOddM=; b=sVD3KTDRh7qJkSfd2vNLnq6I7xFDoflFtXs7GAa3TMCB7Eh7eKi7mpyW7KTxgKHQWV Tyqn/mNGmTYVgvubB9R9jt/GjspLIsCHC5ZjL56DYl68JfKWSSqlbO6j+pBkyGlmw4JP DRKCyJIU2k282bmjjAIPjkt2fJCqDecgZhlriDo4Y7ClHv9skXpPG0QJkInvD9Xfb99v KJyOeaAv8WRNx8bVPLJumjt0kFLo5GtLrlbJZV6JoruAWmvkX6rHVFzExn7T7idb3CPn uutiKMT/sYHUDe6XTQRQbJJEJNZp4ts/i7Z6InWtJG+ONUS2ll6vbmQ2RtALPCHruSRk V57g== X-Gm-Message-State: AOAM530Gfcqgl7wOXZ5YT2zKDQiTJPGQsuclSR86O9DrNsQW8yJAbSd8 /SjL1YAg2/lIFqZ+aYov0XjIrrGUbVcBaep9lcCk9A== X-Google-Smtp-Source: ABdhPJyrHcHp+JuQWtV5vzvbMVhEILy4uTFBlL0WeBSufdElc94Y1wxEg3qVuEQdYOHpG9qqghAWLZu4Ao51ot0eSTs= X-Received: by 2002:a17:902:c405:b029:12d:757d:9509 with SMTP id k5-20020a170902c405b029012d757d9509mr4286157plk.24.1628908679220; Fri, 13 Aug 2021 19:37:59 -0700 (PDT) MIME-Version: 1.0 References: <20210813164053.51481-1-yanghui.def@bytedance.com> In-Reply-To: From: Muchun Song Date: Sat, 14 Aug 2021 10:37:23 +0800 Message-ID: Subject: Re: [PATCH] mm/mempolicy: fix a race between offset_il_node and mpol_rebind_task To: Matthew Wilcox Cc: yanghui , Andrew Morton , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=vqaspV4s; spf=pass (imf26.hostedemail.com: domain of songmuchun@bytedance.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=songmuchun@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 93DF3200173F X-Stat-Signature: g16p13m56co9qhfk5ak14s1i6xwbipus X-HE-Tag: 1628908680-965649 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Aug 14, 2021 at 12:58 AM Matthew Wilcox wrote: > > On Sat, Aug 14, 2021 at 12:40:53AM +0800, yanghui wrote: > > +++ b/mm/mempolicy.c > > @@ -193,7 +193,7 @@ static int mpol_new_interleave(struct mempolicy *pol, const nodemask_t *nodes) > > { > > if (nodes_empty(*nodes)) > > return -EINVAL; > > - pol->nodes = *nodes; > > + WRITE_ONCE(pol->nodes, *nodes); > > typedef struct { DECLARE_BITMAP(bits, MAX_NUMNODES); } nodemask_t; > > If MAX_NUMNODES is large enough, is WRITE_ONCE going to work? It could > be 128 bits, and few architectures have an atomic 128-bit store > instruction. > Hi Matthew, In my memory, the WRITE_ONCE will become memcpy if the size is greater than sizeof(long). But I found that it didn't support the size over sizeof(long) nowadays. So you are right. It doesn't work when MAX_NUMNODES is large enough. If we don't use WRITE_ONCE/READ_ONCE here, it seems like no problem. At least we can sure offset_il_node returns a valid node id. What is your opinion about this fix? Thanks, Muchun