* [PATCH] [v2] x86: coco: replace static const cc_mask with a function
@ 2025-03-10 13:10 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
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Arnd Bergmann @ 2025-03-10 13:10 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
Tom Lendacky, Kirill A. Shutemov, Rick Edgecombe,
Kuppuswamy Sathyanarayanan
Cc: Arnd Bergmann, H. Peter Anvin, Elena Reshetova,
Jason A. Donenfeld, Yue Haibing, Juergen Gross, David Woodhouse,
linux-kernel
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>
--
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)
--
2.39.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [tip: x86/cleanups] x86/coco: Replace 'static const cc_mask' with the newly introduced cc_get_mask() function
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-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
2 siblings, 0 replies; 4+ messages in thread
From: tip-bot2 for Arnd Bergmann @ 2025-03-10 19:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: Arnd Bergmann, Ingo Molnar, Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/cleanups branch of tip:
Commit-ID: ec73859d76db768da97ee799a91eb9c7d28974fe
Gitweb: https://git.kernel.org/tip/ec73859d76db768da97ee799a91eb9c7d28974fe
Author: Arnd Bergmann <arnd@arndb.de>
AuthorDate: Mon, 10 Mar 2025 14:10:59 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Mon, 10 Mar 2025 20:06:47 +01:00
x86/coco: Replace 'static const cc_mask' with the newly introduced cc_get_mask() function
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>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250310131114.2635497-1-arnd@kernel.org
--
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 aa6c8f8..e722545 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 4b80453..9c4d9fa 100644
--- a/arch/x86/include/asm/pgtable_types.h
+++ b/arch/x86/include/asm/pgtable_types.h
@@ -177,7 +177,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)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] [v2] x86: coco: replace static const cc_mask with a function
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 ` Kirill A. Shutemov
2025-03-11 13:53 ` Sathyanarayanan Kuppuswamy
2 siblings, 0 replies; 4+ messages in thread
From: Kirill A. Shutemov @ 2025-03-11 10:55 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
Tom Lendacky, Rick Edgecombe, Kuppuswamy Sathyanarayanan,
Arnd Bergmann, H. Peter Anvin, Elena Reshetova,
Jason A. Donenfeld, Yue Haibing, Juergen Gross, David Woodhouse,
linux-kernel
On Mon, Mar 10, 2025 at 02:10:59PM +0100, 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>
> --
> v2: use an inline helper instead of a __maybe_unused annotaiton.
Reviewed-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
--
Kiryl Shutsemau / Kirill A. Shutemov
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [v2] x86: coco: replace static const cc_mask with a function
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
2 siblings, 0 replies; 4+ messages in thread
From: Sathyanarayanan Kuppuswamy @ 2025-03-11 13:53 UTC (permalink / raw)
To: Arnd Bergmann, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86, Tom Lendacky, Kirill A. Shutemov,
Rick Edgecombe
Cc: Arnd Bergmann, H. Peter Anvin, Elena Reshetova,
Jason A. Donenfeld, Yue Haibing, Juergen Gross, David Woodhouse,
linux-kernel
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-03-11 13:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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.