From: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Arnd Bergmann <arnd@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, Tom Lendacky <thomas.lendacky@amd.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>, "H. Peter Anvin" <hpa@zytor.com>,
Elena Reshetova <elena.reshetova@intel.com>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Yue Haibing <yuehaibing@huawei.com>,
Juergen Gross <jgross@suse.com>,
David Woodhouse <dwmw@amazon.co.uk>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] [v2] x86: coco: replace static const cc_mask with a function
Date: Tue, 11 Mar 2025 06:53:08 -0700 [thread overview]
Message-ID: <49a6a810-e793-443e-8bb9-a14b2ef6d676@linux.intel.com> (raw)
In-Reply-To: <20250310131114.2635497-1-arnd@kernel.org>
On 3/10/25 6:10 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> When extra warnings are enabled, the cc_mask definition in asm/coco.h
> causes a build failure with gcc:
>
> arch/x86/include/asm/coco.h:28:18: error: 'cc_mask' defined but not used [-Werror=unused-const-variable=]
> 28 | static const u64 cc_mask = 0;
>
> Add a cc_get_mask() function mirroring cc_set_mask() for the one
> user of the variable outside of the coco implementation.
>
> Fixes: a0a8d15a798b ("x86/tdx: Preserve shared bit on mprotect()")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> --
Reviewed-by: Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>
> v2: use an inline helper instead of a __maybe_unused annotaiton.
> ---
> arch/x86/include/asm/coco.h | 10 +++++++++-
> arch/x86/include/asm/pgtable_types.h | 2 +-
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/coco.h b/arch/x86/include/asm/coco.h
> index aa6c8f8ca958..e7225452963f 100644
> --- a/arch/x86/include/asm/coco.h
> +++ b/arch/x86/include/asm/coco.h
> @@ -15,6 +15,11 @@ enum cc_vendor {
> extern enum cc_vendor cc_vendor;
> extern u64 cc_mask;
>
> +static inline u64 cc_get_mask(void)
> +{
> + return cc_mask;
> +}
> +
> static inline void cc_set_mask(u64 mask)
> {
> RIP_REL_REF(cc_mask) = mask;
> @@ -25,7 +30,10 @@ u64 cc_mkdec(u64 val);
> void cc_random_init(void);
> #else
> #define cc_vendor (CC_VENDOR_NONE)
> -static const u64 cc_mask = 0;
> +static inline u64 cc_get_mask(void)
> +{
> + return 0;
> +}
>
> static inline u64 cc_mkenc(u64 val)
> {
> diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
> index c90e9c51edb7..74d461cc8e20 100644
> --- a/arch/x86/include/asm/pgtable_types.h
> +++ b/arch/x86/include/asm/pgtable_types.h
> @@ -179,7 +179,7 @@ enum page_cache_mode {
> };
> #endif
>
> -#define _PAGE_CC (_AT(pteval_t, cc_mask))
> +#define _PAGE_CC (_AT(pteval_t, cc_get_mask()))
> #define _PAGE_ENC (_AT(pteval_t, sme_me_mask))
>
> #define _PAGE_CACHE_MASK (_PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
prev parent reply other threads:[~2025-03-11 13:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-10 13:10 [PATCH] [v2] x86: coco: replace static const cc_mask with a function Arnd Bergmann
2025-03-10 19:21 ` [tip: x86/cleanups] x86/coco: Replace 'static const cc_mask' with the newly introduced cc_get_mask() function tip-bot2 for Arnd Bergmann
2025-03-11 10:55 ` [PATCH] [v2] x86: coco: replace static const cc_mask with a function Kirill A. Shutemov
2025-03-11 13:53 ` Sathyanarayanan Kuppuswamy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49a6a810-e793-443e-8bb9-a14b2ef6d676@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=Jason@zx2c4.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dwmw@amazon.co.uk \
--cc=elena.reshetova@intel.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rick.p.edgecombe@intel.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=x86@kernel.org \
--cc=yuehaibing@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.