From: Ingo Molnar <mingo@kernel.org>
To: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org, bp@alien8.de,
dan.j.williams@intel.com, dave.hansen@linux.intel.com,
david@redhat.com, jane.chu@oracle.com, osalvador@suse.de,
tglx@linutronix.de
Subject: Re: [PATCH v2 2/2] x86/mm: Remove unnecessary include in set_memory.h
Date: Thu, 27 Feb 2025 14:03:41 +0100 [thread overview]
Message-ID: <Z8BirVtqibWY6zaT@gmail.com> (raw)
In-Reply-To: <Z8BiUnkPnvrx06vp@gmail.com>
* Ingo Molnar <mingo@kernel.org> wrote:
> So I tried to pick up this patch belatedly, but there's more places
> that mistakenly learned to rely on the stray <linux/mm.h> inclusion,
> for example on x86 defconfig-ish kernels:
>
>
> In file included from drivers/gpu/drm/i915/gt/intel_ggtt.c:6:
> ./arch/x86/include/asm/set_memory.h:40:57: error: unknown type name ‘pgprot_t’
> 40 | int __set_memory_prot(unsigned long addr, int numpages, pgprot_t prot);
> | ^~~~~~~~
BTW., I did a few touchups to the changelog (see below) - mind picking
that up once you submit -v2?
Thanks,
Ingo
======================>
From: Kevin Brodsky <kevin.brodsky@arm.com>
Date: Thu, 12 Dec 2024 08:09:04 +0000
Subject: [PATCH] x86/mm: Reduce header dependencies in <asm/set_memory.h>
Commit:
03b122da74b2 ("x86/sgx: Hook arch_memory_failure() into mainline code")
... added <linux/mm.h> to <asm/set_memory.h> to provide some helpers.
However the following commit:
b3fdf9398a16 ("x86/mce: relocate set{clear}_mce_nospec() functions")
... moved the inline definitions someplace else, and now <asm/set_memory.h>
just declares a bunch of mostly self-contained functions.
No need for the whole <linux/mm.h> inclusion to declare functions; just
remove that include. This helps avoid circular dependency headaches
(e.g. if <linux/mm.h> ends up including <linux/set_memory.h>).
This change requires a couple of include fixups not to break the
build:
* <asm/smp.h>: including <asm/thread_info.h> directly relies on
<linux/thread_info.h> having already been included, because the
former needs the BAD_STACK/NOT_STACK constants defined in the
latter. This is no longer the case when <asm/smp.h> is included from
some driver file - just include <linux/thread_info.h> to stay out
of trouble.
* sev-guest.c relies on <asm/set_memory.h> including <linux/mm.h>,
so we just need to make that include explicit.
[ mingo: Cleaned up the changelog ]
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20241212080904.2089632-3-kevin.brodsky@arm.com
---
arch/x86/include/asm/set_memory.h | 1 -
arch/x86/include/asm/smp.h | 2 +-
drivers/virt/coco/sev-guest/sev-guest.c | 1 +
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm/set_memory.h b/arch/x86/include/asm/set_memory.h
index cc62ef70ccc0..023994fe6115 100644
--- a/arch/x86/include/asm/set_memory.h
+++ b/arch/x86/include/asm/set_memory.h
@@ -2,7 +2,6 @@
#ifndef _ASM_X86_SET_MEMORY_H
#define _ASM_X86_SET_MEMORY_H
-#include <linux/mm.h>
#include <asm/page.h>
#include <asm-generic/set_memory.h>
diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h
index ca073f40698f..2ca1da5f16d9 100644
--- a/arch/x86/include/asm/smp.h
+++ b/arch/x86/include/asm/smp.h
@@ -3,10 +3,10 @@
#define _ASM_X86_SMP_H
#ifndef __ASSEMBLY__
#include <linux/cpumask.h>
+#include <linux/thread_info.h>
#include <asm/cpumask.h>
#include <asm/current.h>
-#include <asm/thread_info.h>
DECLARE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_map);
DECLARE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_map);
diff --git a/drivers/virt/coco/sev-guest/sev-guest.c b/drivers/virt/coco/sev-guest/sev-guest.c
index 264b6523fe52..ddec5677e247 100644
--- a/drivers/virt/coco/sev-guest/sev-guest.c
+++ b/drivers/virt/coco/sev-guest/sev-guest.c
@@ -23,6 +23,7 @@
#include <linux/cleanup.h>
#include <linux/uuid.h>
#include <linux/configfs.h>
+#include <linux/mm.h>
#include <uapi/linux/sev-guest.h>
#include <uapi/linux/psp-sev.h>
next prev parent reply other threads:[~2025-02-27 13:03 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-12 8:09 [PATCH v2 0/2] Remove problematic include in <asm/set_memory.h> Kevin Brodsky
2024-12-12 8:09 ` [PATCH v2 1/2] x86/mm: Remove unused __set_memory_prot() Kevin Brodsky
2025-02-28 17:03 ` [tip: x86/headers] " tip-bot2 for Kevin Brodsky
2024-12-12 8:09 ` [PATCH v2 2/2] x86/mm: Remove unnecessary include in set_memory.h Kevin Brodsky
2025-02-27 13:02 ` Ingo Molnar
2025-02-27 13:03 ` Ingo Molnar [this message]
2025-02-28 10:56 ` Kevin Brodsky
2025-02-28 17:14 ` Ingo Molnar
2025-02-28 17:43 ` Kevin Brodsky
2025-02-28 17:03 ` [tip: x86/headers] x86/mm: Reduce header dependencies in <asm/set_memory.h> tip-bot2 for Kevin Brodsky
2024-12-20 10:28 ` [PATCH v2 0/2] Remove problematic include " David Hildenbrand
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=Z8BirVtqibWY6zaT@gmail.com \
--to=mingo@kernel.org \
--cc=bp@alien8.de \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=jane.chu@oracle.com \
--cc=kevin.brodsky@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=osalvador@suse.de \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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.