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 639C1C5B549 for ; Fri, 30 May 2025 09:36:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0190A6B00CE; Fri, 30 May 2025 05:36:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F0A866B00CF; Fri, 30 May 2025 05:36:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D84206B00D0; Fri, 30 May 2025 05:36:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B60576B00CE for ; Fri, 30 May 2025 05:36:09 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7D7FBED3C4 for ; Fri, 30 May 2025 09:36:09 +0000 (UTC) X-FDA: 83499068058.09.FF66557 Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by imf15.hostedemail.com (Postfix) with ESMTP id A56A7A0008 for ; Fri, 30 May 2025 09:36:07 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b="lbn22/pi"; spf=pass (imf15.hostedemail.com: domain of libo.gcs85@bytedance.com designates 209.85.215.169 as permitted sender) smtp.mailfrom=libo.gcs85@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748597767; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JvVWemooqfdC/iIY99ZRbIRy8Qdtq9pGwXsG45AWib0=; b=EMt6qGTW3AdhBPq3m1sqQYzYAsxF1Idb34g4nsnCDKac8ogPduloLHI33145VhP1R+/S/h CCYl01EMPjg1DaIK0ohaJmTVI6BPoEoSb0wOaMEvPSC4lSqMVbKm8fzx+ma4H+Gvn1pSCQ NE9A5lywMS5742lLRv73oMK6QbcRsRo= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b="lbn22/pi"; spf=pass (imf15.hostedemail.com: domain of libo.gcs85@bytedance.com designates 209.85.215.169 as permitted sender) smtp.mailfrom=libo.gcs85@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748597767; a=rsa-sha256; cv=none; b=YmhFR0zH0rH+9lzT+NRP5usX/RVtatUDDxJlCEMUOCEEzrAk+2icdNOkgl9oRwT2U4z6JI a1yQa5sj4QvBbAEAUFCIy/hhvFJ6/Qu1V1NHYor8JmOiQILeai62TvGjqCSbq2wf4ykD+k 3ikuJJtkPf/rFzmVLKniB4fw25OXaSU= Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-b26df8f44e6so1846790a12.2 for ; Fri, 30 May 2025 02:36:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1748597766; x=1749202566; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JvVWemooqfdC/iIY99ZRbIRy8Qdtq9pGwXsG45AWib0=; b=lbn22/piK3O+DypVEKeVI2a17tXbv1OZVhFjxd2It8tmi4YBntmrUn9pg1N3tdppYo E9gMtcxNYs3kAh8Ei2e0Gt+Byz8SKzkuoZSktKn6zh0lKuK4nSGMKhoesxdr3l+kmMIs t/TaTYxEo71bvjC7kUO1KKnLaZEBxmSxB8CkwwoCDqL4a0rGpf+rUtCObmGXneeL01VJ 7IgVj3Q62AzmsewBd+cbBVe8RU/G6TLiSkFRgKubAj17FORZtQ88SkFWaMX6XTV582ST 0yS9b974MRXNk0lhpUy+Gh8nubrV2dmBah58pWFE+NGuWyxUPwF8AL8/w5coa74onys3 rJUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748597766; x=1749202566; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JvVWemooqfdC/iIY99ZRbIRy8Qdtq9pGwXsG45AWib0=; b=UI4Z5yZ0REw93KzF98NANtgMlDX7MkmP8Z6LWO9scoHDgaF6W6Le4UnxSFrOQkjDDu HqvdcGhcZOGQRvN8/4zCrpKXjBlA3WLJG4I/irHkKQUnjTXBnoOsq7M8bG1RqctaT1k8 VuLeCPjp/vicZaqM0ArBLAu/WFVKQq6Uylfiq5VIv9h+AfwTAgxFv1xz/4uryNBe6Id1 lRFuPqOYmUEu0qZRgCN4g3cGyqGdzueDl6iedL9cTse+3Ljne5+az9CbVk8w1lc/L08E +LpfwW3UtQF+Ts3+7rA2S3q6pZMNiJ+aD/qa+Eu+KWMQNWsDSKBrcRk8Iy0uoDpiXpAO 4CHg== X-Forwarded-Encrypted: i=1; AJvYcCVYmJZ0JMToBViVVNWO2bYeAzh2nsqHj639i3xmtPgluSY4/pZkR75ALwAEb4rA+lyk4eFbXp86Mg==@kvack.org X-Gm-Message-State: AOJu0YxRPlBQpMhKREf0Vh9uF/v5/Ia2zCp7cKTqXuJ7FGe+Ros9auUt sh6IqbWGuYHqbj/NS+so8J16N1BwbEPm5piOzQdJ+WgAhkrYlfZlE9gGyAW2WUWEsZU= X-Gm-Gg: ASbGncvOPkp9rjpOcK48HJ/7BpqwUDwE8A09U4+g77rCmqRq6fNaYxqidQvCWJy4PFq AXHidWcEDK+yFZcSSM3kwGc7W5M6VeeJQ/oSweLZOWYb7iOq5IeTMQXas/wBu4Qo83pY02t+6IT P6JrdsItCsvriU6SMa/b8C1iC924IhjXJdZ+GYY3e+0dGzGKhBoUj+LUNBNfjZHzMa8F8zuZ06g qpAxLtCNNrdTMPCdeJ/DjKn7R3z7do+ThNxYDsvATPv9wSjJR6xxerJdrQISJjj1H0SfM+uMyjA cXBD7lDqqw6UaeVjROqHZBzM8Y4Cde1YWD3fWJYjzWFXtdy+KA2CQ5dZnwOEA8aYeVxn1PqovkX o7q9UUfzIWWCsFaFcjjtA X-Google-Smtp-Source: AGHT+IFWmfD7z+IdT9GMiEVeQTlh62r7ag47hPnuBnpxyTEiSzaUyDKA69VQl5NNKF6zBMdalqyfiA== X-Received: by 2002:a17:90b:5387:b0:311:e605:f60e with SMTP id 98e67ed59e1d1-31241637ee5mr4240780a91.20.1748597766419; Fri, 30 May 2025 02:36:06 -0700 (PDT) Received: from FQ627FTG20.bytedance.net ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3124e29f7b8sm838724a91.2.2025.05.30.02.35.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 30 May 2025 02:36:06 -0700 (PDT) From: Bo Li To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, luto@kernel.org, kees@kernel.org, akpm@linux-foundation.org, david@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, peterz@infradead.org Cc: dietmar.eggemann@arm.com, hpa@zytor.com, acme@kernel.org, namhyung@kernel.org, mark.rutland@arm.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org, irogers@google.com, adrian.hunter@intel.com, kan.liang@linux.intel.com, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, jannh@google.com, pfalcato@suse.de, riel@surriel.com, harry.yoo@oracle.com, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, duanxiongchun@bytedance.com, yinhongbo@bytedance.com, dengliang.1214@bytedance.com, xieyongji@bytedance.com, chaiwen.cc@bytedance.com, songmuchun@bytedance.com, yuanzhu@bytedance.com, chengguozhu@bytedance.com, sunjiadong.lff@bytedance.com, Bo Li Subject: [RFC v2 30/35] RPAL: fix pkru setup when fork Date: Fri, 30 May 2025 17:27:58 +0800 Message-Id: X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: A56A7A0008 X-Stat-Signature: gmrbbjzqfyfz79nh8krzseomiujmyzxo X-Rspam-User: X-HE-Tag: 1748597767-87714 X-HE-Meta: U2FsdGVkX1/jJjeiDa2REztbpPxzJCJaqUh41WNeKjuMBJ4ABMVMA++kpVSBZltLkKVX6h4E7xRYVOqeS3Rs4yN+oevTquydrjD0/S1F6hHQNa6UcIPFzqrLmos/MEnAKonq+Z9p/NgKG12MQvjqISQEx1x9l8Ztt2t1j9OB3ErLHeoWNRzSheJRxnmIH1Z5pWjLDe4ChidAs/0SpdpRw4a5zRS4HomP4qNF6MwU3lN8MIvl7ZyxsrH6SxtIb5YPVVDU6Xus5NZlUd/ipnevXvZWEjYA7oUxEusBZSlnEbuoEG+kJFFTIQ6BdIjGQlbHLgts2t6zCNPLNZQOHJeT2zoO82CunLr6zOZe+e4GIuaeztZ55lcbnmRiG2giW4Fe1wVK6krO32dDuc7b4KWlVVBct6GcH/potf4oJuqQySA5A/bL/ETEOZvmv80OmY8bxoXU8WOtaAv+5j4CtQ5V3kpkyki54C0pwoDSKiwxEWJxJzdEAR0wP2klJDT0A7RWGVCK/kRSaQKb6R0SQs2U/imrLYYDzPSA8EcvNKMEmB29f9QDQpz0nSdwwGPc+4w2dQNxRH1Bkaz/69sO6JYxhNAoBPcj3OuPntvDMYWjdytTPBVNN/f99YINMFbCMH1BOMaBbVu5Kx7IIChDFTGrRRjCDwy6+rjtnOHjc5umpRsvp0rUBpIrKfFovWOru1YxggvEhQdfpv0nwEJ1cfQU7f+RXFXbezA+4Bgj630/DHdVbggtyt9JSpLaRwCgnyzZtt2bvC1TpYbj/N4Z4aRqbY5vw8RXcd/7lUG/WLM0xd4J2enGZCWR0/iI1MN/GBj1/iwHJ6MuktYHDveYM+T7mKNsBmO8hJdPsqdMXotsPYLX2nPxgd1mqbyDjCV6ugGQl70CbEXlgEkmnyczTEmFir+Lb/mdinf4IdASDbzGvEUOyYihfeZAdMhxOdZI8jaenwXO6uFPrdg1wP8Pa+8 tU7oWUfR G1IfnhFt9nIWoptXbERH9VvjFFDB5SUpUJSeJC9ICnMQpaDiw1t0qDatzxL/xdKWYpUiScZ8kAgBXRIvM85DNk10gjNWk8jjx4cFjLI38o/zHDeuTF/Z4pdKayM6B5M1PFSJHjNt1mPOuDQRIZkZIFqrM9dEsnv6LTHY8xmjcmookZ7PgptvE36AmYzKXAWGwTzuPrlA5kDVgf0QSytp4Y1V8p1xJX9GTp8+tToyXG6KeSNp5MwV56uqadXefAHz2DuFNwtkhXYvV0SuFlKaKnXLzKtQXn8FGQ8d0YHCjdbuZIGmSDCs4bMzBXQ== 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: List-Subscribe: List-Unsubscribe: When a task performs a fork operation, the PKRU value of the newly forked task is set to the value read from hardware. At this point, if the service is executing rpal_pkey_setup(), the newly forked task has not yet been added to the task list, so PKRU settings cannot be synchronized to the new task. This results in the new task's PKRU not being set to the correct value when it is woken up. This patch addresses this issue by: - After the newly forked task is added to the task list, further updating its PKRU value. - Acquiring a mutex lock to ensure that the PKRU update occurs either before or after the invocation of rpal_pkey_setup(). This avoids race conditions with rpal_pkey_setup() and guarantees that the re-updated PKRU value is always correct. Signed-off-by: Bo Li --- kernel/fork.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/kernel/fork.c b/kernel/fork.c index 01cd48eadf68..11cba74d07c8 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2683,6 +2683,19 @@ __latent_entropy struct task_struct *copy_process( syscall_tracepoint_update(p); write_unlock_irq(&tasklist_lock); +#ifdef CONFIG_RPAL_PKU + do { + struct rpal_service *cur = rpal_current_service(); + + if (cur) { + /* ensure we are not in rpal_enable_service() */ + mutex_lock(&cur->mutex); + p->thread.pkru = rdpkru(); + mutex_unlock(&cur->mutex); + } + } while (0); +#endif + if (pidfile) fd_install(pidfd, pidfile); -- 2.20.1