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 00684C02194 for ; Thu, 6 Feb 2025 19:01:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 43D9728001C; Thu, 6 Feb 2025 14:01:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3EE86280005; Thu, 6 Feb 2025 14:01:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2685E28001C; Thu, 6 Feb 2025 14:01:51 -0500 (EST) 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 03E1F280005 for ; Thu, 6 Feb 2025 14:01:50 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id ABDEB161403 for ; Thu, 6 Feb 2025 19:01:50 +0000 (UTC) X-FDA: 83090439180.09.123C882 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by imf10.hostedemail.com (Postfix) with ESMTP id A95E8C001B for ; Thu, 6 Feb 2025 19:01:48 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=xUb6NLir; spf=pass (imf10.hostedemail.com: domain of linus.walleij@linaro.org designates 209.85.167.54 as permitted sender) smtp.mailfrom=linus.walleij@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738868508; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=H26hCa0BkZ3dMHTQ+5j05dxgsk8Xe5RdYR/UT/6FR1s=; b=Zx5QflZvnHX27Rkb/vo/3ni7RmFITfuIWyT81G79OEvEeShagCA77rY1lq7pyouxiO61wY H6xVfvE58dRdmM7N4GEQmfEynrKFjxCLiZigUknwIy4iBX5+uvBj/xfiYreGfzXg709tqg IWDBFAEJEfUr+WMpkVSd4UVCfV7op3k= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=xUb6NLir; spf=pass (imf10.hostedemail.com: domain of linus.walleij@linaro.org designates 209.85.167.54 as permitted sender) smtp.mailfrom=linus.walleij@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738868508; a=rsa-sha256; cv=none; b=n/KirptZrPgDQlfqNTaiLNvtUd3JlGYTBiJ+CHoK/ldUIDVYrNKbQnQ17n33uLHnyXWjOx 7qLLpLesVJ8gCUv8lkw4ebDv/OcI+loDQP16gTIVWhwZG4juAEU4Zjuv6OZqEW1So82pRm EBxkR82xJAO9Ag5i+SsK6kt0bgAhKus= Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-54410d769f7so952250e87.3 for ; Thu, 06 Feb 2025 11:01:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1738868507; x=1739473307; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=H26hCa0BkZ3dMHTQ+5j05dxgsk8Xe5RdYR/UT/6FR1s=; b=xUb6NLirrnk3bZ4E1ewP79noVp0Gotw7nVCby8kjiB4sz2qvlT/CMG9WpvX7Y+3Ksq lVu5iWJHYrGbgLGwWfXkF31wqxDo3sT8JK4X+G5WLFUqLimuFHGe1NEWIJ71uQx5FfAK 27NYE2lQ/4wb4UCaWDnCcFES6vlYYkofrmX6byA4g6S0zrwRkRkiNLwvQ0QE6iTDD22B TxGvTT3Dzz+0HPlsZEmJPVyruYmBYBikn/JRmOWJ0eqkjz8a0guVzXgAQSdBfuVCkqkv /DGCseHs4CDAInHAUZ9jNPVJLIBvHnY5FNYRpzTQDpHr0Gk/+EYo6RwgSLS8AmIQgjZ6 auyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738868507; x=1739473307; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H26hCa0BkZ3dMHTQ+5j05dxgsk8Xe5RdYR/UT/6FR1s=; b=xAz4h3zGb8r92v96qkDFH9zJhl/+brk1nC2g1fdAvCxYqoLEEQIb5NBv+dgcEqXJlM PQt8gjBKd+B9+sqd9AliRrueFQ6TY2ZJ6TJeDy6KesWTU+60TtEm0Rl8wVdPPdyayigM Fbf5wpPF6bSdXmjvFvg32fDT4cnjwSM84bDAZmEPf3fYEUTpilPkx5EMrvu9ncJB3Fg0 e65CirdMbUxMqvO5BzhU41tCpTbN6yHPDknr1Vh07+NkciC7a0H4Bk4vG7QmUsfbfiSl FgGx2EYiBEThkZBPiV2GeoDWrRAORIGilJpSbPDlt2e07bVN9BUKGOWljQ78SSqx1zx4 lTPg== X-Forwarded-Encrypted: i=1; AJvYcCURyqHRGaNXs68Ye0cYLMBbMPe3Y+KUgVmSifkG5Zl5F2dOuH+azy4uBQocLfBGrEbZJ5w75QM8fA==@kvack.org X-Gm-Message-State: AOJu0YzDMHPxc0x9cYULGYh6QqNr6M7fscRMy0Wn0A3XhLgzjaR6mv/l QvMD1ZA5gEvi6HqG94YiDlL5VfvlF5zmmrSoTWKorAaQC0QtoqYPtVt0xaKD80vAlZlP4VUzefb 5yyfqiRrHElP45cHVqdHR8eR1xt1P1BmItQnSmg== X-Gm-Gg: ASbGncsKDfnkVT7X/9fqkGLk9tGd79YJw8Amh0xY+/6M2AcA9fEcZ3Ym0MaPYPkeJZd j/pvnpsT5zGt8H+LZCrP9eew9KC1sjV2a69PBKcpHPRJBSkDcCXMiEgvw+PMJe/HQFlsP67M= X-Google-Smtp-Source: AGHT+IGYbTW64WX7v4eRIud9aI7sO+r6eN6uxSXvFM2flvdaMCaTnXZkw1PV8dpsvo+PKiCDP3tZfZA6qctV7ZLyAak= X-Received: by 2002:a2e:a10c:0:b0:302:3de5:b039 with SMTP id 38308e7fff4ca-307e57bc6b9mr333711fa.8.1738868506188; Thu, 06 Feb 2025 11:01:46 -0800 (PST) MIME-Version: 1.0 References: <20250203101839.1223008-1-kevin.brodsky@arm.com> <20250203101839.1223008-9-kevin.brodsky@arm.com> In-Reply-To: <20250203101839.1223008-9-kevin.brodsky@arm.com> From: Linus Walleij Date: Thu, 6 Feb 2025 20:01:34 +0100 X-Gm-Features: AWEUYZkf3utqCGGAYFw3Wd0K9HPUGk1pvzmcRu62yuHXXkM5758Qny3DAHNgUk4 Message-ID: Subject: Re: [RFC PATCH v3 08/15] mm: Introduce kernel_pgtables_set_pkey() To: Kevin Brodsky Cc: linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Morton , Mark Brown , Catalin Marinas , Dave Hansen , Jann Horn , Jeff Xu , Joey Gouly , Kees Cook , Andy Lutomirski , Marc Zyngier , Peter Zijlstra , Pierre Langlois , Quentin Perret , "Mike Rapoport (IBM)" , Ryan Roberts , Thomas Gleixner , Will Deacon , Matthew Wilcox , Qi Zheng , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, x86@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: A95E8C001B X-Stat-Signature: eysgmem8f4mye1mjri3hfz5sjghj3n9h X-HE-Tag: 1738868508-68230 X-HE-Meta: U2FsdGVkX18S0d8hHbKJzsAa2Zwb8x7bqNrZpwH2SvLxeQY4EVnHjAq+TkY88crdpjgxxrESiOpixGHMCD/XIsr+SVWwG0c9lCGNqZfdyejb/OlHE56VZtK1CxKnLWHehlWcAM49ez38hxO/GcLXJm6/6mbH0d5sr8/Yul3ixSeBKEJIlQjJbJCvCK5zF7l7Z7eY0fX4yfQpA+lcarwZMjkTlW5+4CaE5J3gXRzKfaKLr+5c3K8oLL/UnEFL8QCjy17PGI/7JgIgWe/iDSO1DtDHv5j7+jF6XBxTi3Kj4YHyAHHccsZbXBs4jb71S3ZOYp6iOdY9/GV/WdqY5vmr6/fZf24Vw/rYFeXzwa/8QOV9MY3JwilxSdPGKmRtQ6hNRPcq0AEhCkIK+fKk6sl7/fqXysBc4lsBkBl7puh3Jm8/OYfjlSB/kPv7jarkcaVsVCGatmq9TqI8jTQX9ejCMIAvh9mt3vOh1jU8DzSJhIaIg54eo8O+xNtoomPd/78IwUK25s1GJ42GC1hYXfMFjeMKkkaFRCOKdJFzJ6IQLcHRyXkrc1XbN8+QLE3WQy+IooBx9Yc3fHr1jkNyuKB49fzVi2oFFVic5jyj0xy9l3OcQDOF1k3GgMP8w4optxyz3+NCtKgvHIhsIiiXRydFOBOEnHDepeWpqKW8Gvmfbq4Rq5oZAOxv72VYWE3ayorSbSaU7vfzy0mpdcWdEjfhc/IafNnLLChQ1E7nVmHrDRLYP+DZjlNmqSroUlwvnLEqtbMSkX+kUuVK7GcbEYXGdoC7f1Pg9g/pHQyjZRoMRSfUbMi92ij3ojtysVQ4bsmcnrZiijr1BtU7ul3nLAeUFyf5Don2cy+QfnboDPvL84CPWSPkbpOs/Um+K0MqCjEtXKZjLnwHH/TNKV2z6g/E3kKpxRND70FS8tOWNdP5CnWvSnzDO+s10IXs7gwpC6FvV132WMHcOwGUKGg4ROC 9DhNwn74 wlbo0bXIfOEjD2aMqC9un2+vt1AePqc6Drn9KCZkGBIpuADHygSekNoH3lCu0k7WqCvxqm9H5lPJKwdM+z/FHKWQKa9vM7m9BqbiYLgOYiSlXbFtTuolqWwRVYTTwkOmlfICRstcTOThqd84/QzLPha8FqNz6imHCEc6JH9g9kG/IaTNo42MBr72/kPF2dIXrWBLNwmSXpyy3bY8L0zKrerOg6AweYBRKIIhTqCgZzN0pwxgBmhfbzEkDN3mkvlEokeq/wB67p4W80Hj/r1raM0cThUOI0OAR0fGcYTSwCtMyA6Y= 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: Hi Kevin, thanks for your patch! On Mon, Feb 3, 2025 at 11:20=E2=80=AFAM Kevin Brodsky wrote: > kernel_pgtables_set_pkey() allows setting the pkey of all page table > pages in swapper_pg_dir, recursively. This will be needed by > kpkeys_hardened_pgtables, as it relies on all PTPs being mapped with > a non-default pkey. Those initial kernel page tables cannot > practically be assigned a non-default pkey right when they are > allocated, so mutating them during (early) boot is required. > > Signed-off-by: Kevin Brodsky (...) > +static int set_page_pkey(void *p, int pkey) > +static int set_pkey_pte(pmd_t *pmd, int pkey) > +static int set_pkey_pmd(pud_t *pud, int pkey) > +static int set_pkey_pud(p4d_t *p4d, int pkey) > +static int set_pkey_p4d(pgd_t *pgd, int pkey) > +int kernel_pgtables_set_pkey(int pkey) Aren't these all discardable after boot, so the whole set should be tagged with __init? Other than that it LGTM. Yours, Linus Walleij