From nobody Tue Jul 22 14:03:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bmf9j59CJz5pRVd; Tue, 22 Jul 2025 14:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bmf9j4FXHz414G; Tue, 22 Jul 2025 14:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753192985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4suZefUhUNFjJsUoPErxd44pAwrIyWko8Sp8lODWQEU=; b=IYFa8Bnq2Ttx65LmuKvaBva/23JQhrtl3qMAuGIXr1xHDZVK/z1nDKVR+kl71mVmXFbkTM hlHceW+XjkKRos1IZ4huocmK03pvmTls6ChIRr8G+3rhSZaavVLGb6tQPNAjyQlZrqQuz5 pLAGviQDbiosKI0FA+b6ikOvzji5kdHiwjtPDnDay5jhkgKh+IezOuoq+bMC0GCGSaDACZ 4XmNxLdhRH+RNO2TsPKfVX7IW2OjzdJ1kFagN0tJUCwvep3pKfXM8Fr62ISlh+xLdb9mXl JY75dRhK+UGGsGqgnJJ4eBidGoy4ohCWtDlGMepB94FkmyT/qBw4hg0Gl19Uqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1753192985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4suZefUhUNFjJsUoPErxd44pAwrIyWko8Sp8lODWQEU=; b=eK7Q0D9RruJNYdd9/m0LrmWAloPAxu0vTIh/tVVdEaOvB2dUJAw7uetyvaVZx4zppwTcjT D3KLqDJgQp/kqbajQzMMflsMLoBhsnGxeLz96pE6Rc5O9dK0WmrbYm1P/W3VvvPbmq35sv Al87JLQzluWsa+pzbOB0sbLuuDIgqxrEHdK6yePY7vSrqyZ0l0Bs1U1WRCc4if5Nc6Bx+j WV6L3zSbEtq22/oiTTgKhW1h1l+PkK9X99CwaqOd3f0XVjWicCSkoaa4CPKoIoyzgm6U9t 80ya3q3DeWmxjUyrvpQeth7d/Eda2AKty4bfDqX6/mwTSJvenZpYZ42xm+cvjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1753192985; a=rsa-sha256; cv=none; b=uISY8Xj7UhXgbMSRe3szKCWSAY2FfYYsBnX13V6g9hzRGtZSCjJ9h6R6Xfa1EELcilwmVZ 8/BBh9OQ7z5A6CuUvgpTGVU8EZWGC/SkFhkWjOaf6uy/bfeSGL7IOsHhaqVGYNLihhCbMk WRc6aElqz6eoAsr8cvPdqXi0fOI/+LKGnvtO4i+PldXMZfC7IiXBxKfF5UrsmADlndvFiV yMnqau5a7gL1xTEmcKVZuMbopbO6JZcD8829wsjt6YjFXe4bMifYIbXg/J45oyq0f/n3DO 51aRK2oBSJ6iJ21Q6MlGvF3QQioBnRWKPuYfq4pqxhQ+dALSx6SWbNcg2D3WGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bmf9j3s2MzVbK; Tue, 22 Jul 2025 14:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 56ME351J070999; Tue, 22 Jul 2025 14:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56ME35aQ070996; Tue, 22 Jul 2025 14:03:05 GMT (envelope-from git) Date: Tue, 22 Jul 2025 14:03:05 GMT Message-Id: <202507221403.56ME35aQ070996@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 28d43983f64d - main - amd64 K*SAN: add kva_layout members for K*SAN maps List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28d43983f64db4be241abb51d969a0f5fce997b0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=28d43983f64db4be241abb51d969a0f5fce997b0 commit 28d43983f64db4be241abb51d969a0f5fce997b0 Author: Konstantin Belousov AuthorDate: 2025-07-20 13:39:14 +0000 Commit: Konstantin Belousov CommitDate: 2025-07-22 13:58:47 +0000 amd64 K*SAN: add kva_layout members for K*SAN maps The members are added regardless of the kernel config. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D51453 --- sys/amd64/amd64/pmap.c | 16 ++++++++++++++++ sys/amd64/include/pmap.h | 6 ++++++ sys/amd64/include/vmparam.h | 14 ++++++-------- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index adcdd8608355..d8be68cb4f52 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -489,6 +489,14 @@ struct kva_layout_s kva_layout = { .km_high = KV4ADDR(KPML4BASE + NKPML4E - 1, NPDPEPG - 1, NPDEPG - 1, NPTEPG - 1), .rec_pt = KV4ADDR(PML4PML4I, 0, 0, 0), + .kasan_shadow_low = KV4ADDR(KASANPML4I, 0, 0, 0), + .kasan_shadow_high = KV4ADDR(KASANPML4I + NKASANPML4E, 0, 0, 0), + .kmsan_shadow_low = KV4ADDR(KMSANSHADPML4I, 0, 0, 0), + .kmsan_shadow_high = KV4ADDR(KMSANSHADPML4I + NKMSANSHADPML4E, + 0, 0, 0), + .kmsan_origin_low = KV4ADDR(KMSANORIGPML4I, 0, 0, 0), + .kmsan_origin_high = KV4ADDR(KMSANORIGPML4I + NKMSANORIGPML4E, + 0, 0, 0), }; struct kva_layout_s kva_layout_la57 = { @@ -501,6 +509,14 @@ struct kva_layout_s kva_layout_la57 = { .km_high = KV4ADDR(KPML4BASE + NKPML4E - 1, NPDPEPG - 1, NPDEPG - 1, NPTEPG - 1), .rec_pt = KV5ADDR(PML5PML5I, 0, 0, 0, 0), + .kasan_shadow_low = KV4ADDR(KASANPML4I, 0, 0, 0), + .kasan_shadow_high = KV4ADDR(KASANPML4I + NKASANPML4E, 0, 0, 0), + .kmsan_shadow_low = KV4ADDR(KMSANSHADPML4I, 0, 0, 0), + .kmsan_shadow_high = KV4ADDR(KMSANSHADPML4I + NKMSANSHADPML4E, + 0, 0, 0), + .kmsan_origin_low = KV4ADDR(KMSANORIGPML4I, 0, 0, 0), + .kmsan_origin_high = KV4ADDR(KMSANORIGPML4I + NKMSANORIGPML4E, + 0, 0, 0), }; /* diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h index a0ca97f2d5a0..6a4da294c9dc 100644 --- a/sys/amd64/include/pmap.h +++ b/sys/amd64/include/pmap.h @@ -564,6 +564,12 @@ struct kva_layout_s { vm_offset_t km_low; /* VM_MIN_KERNEL_ADDRESS */ vm_offset_t km_high; /* VM_MAX_KERNEL_ADDRESS */ vm_offset_t rec_pt; + vm_offset_t kasan_shadow_low; /* KASAN_MIN_ADDRESS */ + vm_offset_t kasan_shadow_high; /* KASAN_MAX_ADDRESS */ + vm_offset_t kmsan_shadow_low; /* KMSAN_SHAD_MIN_ADDRESS */ + vm_offset_t kmsan_shadow_high; /* KMSAN_SHAD_MAX_ADDRESS */ + vm_offset_t kmsan_origin_low; /* KMSAN_ORIG_MIN_ADDRESS */ + vm_offset_t kmsan_origin_high; /* KMSAN_ORIG_MAX_ADDRESS */ }; extern struct kva_layout_s kva_layout; diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h index ef352e776af6..d2ac3c6648b2 100644 --- a/sys/amd64/include/vmparam.h +++ b/sys/amd64/include/vmparam.h @@ -200,16 +200,14 @@ #define VM_MIN_KERNEL_ADDRESS kva_layout.km_low #define VM_MAX_KERNEL_ADDRESS kva_layout.km_high -#define KASAN_MIN_ADDRESS KV4ADDR(KASANPML4I, 0, 0, 0) -#define KASAN_MAX_ADDRESS KV4ADDR(KASANPML4I + NKASANPML4E, 0, 0, 0) +#define KASAN_MIN_ADDRESS (kva_layout.kasan_shadow_low) +#define KASAN_MAX_ADDRESS (kva_layout.kasan_shadow_high) -#define KMSAN_SHAD_MIN_ADDRESS KV4ADDR(KMSANSHADPML4I, 0, 0, 0) -#define KMSAN_SHAD_MAX_ADDRESS KV4ADDR(KMSANSHADPML4I + NKMSANSHADPML4E, \ - 0, 0, 0) +#define KMSAN_SHAD_MIN_ADDRESS (kva_layout.kmsan_shadow_low) +#define KMSAN_SHAD_MAX_ADDRESS (kva_layout.kmsan_shadow_high) -#define KMSAN_ORIG_MIN_ADDRESS KV4ADDR(KMSANORIGPML4I, 0, 0, 0) -#define KMSAN_ORIG_MAX_ADDRESS KV4ADDR(KMSANORIGPML4I + NKMSANORIGPML4E, \ - 0, 0, 0) +#define KMSAN_ORIG_MIN_ADDRESS (kva_layout.kmsan_origin_low) +#define KMSAN_ORIG_MAX_ADDRESS (kva_layout.kmsan_origin_high) /* * Formally kernel mapping starts at KERNBASE, but kernel linker