All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Kellermann <max.kellermann@ionos.com>
To: linux-kernel@vger.kernel.org
Cc: Max Kellermann <max.kellermann@ionos.com>
Subject: [PATCH 10/28] uprobes.h: move declarations to uprobes_types.h
Date: Wed, 31 Jan 2024 15:49:50 +0100	[thread overview]
Message-ID: <20240131145008.1345531-11-max.kellermann@ionos.com> (raw)
In-Reply-To: <20240131145008.1345531-1-max.kellermann@ionos.com>

By providing declarations in a lean header, we can reduce header
dependencies.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
---
 arch/arm64/kernel/signal.c    |  1 +
 include/linux/mm_types.h      |  2 +-
 include/linux/uprobes.h       | 10 +---------
 include/linux/uprobes_types.h | 25 +++++++++++++++++++++++++
 kernel/entry/common.c         |  1 +
 kernel/trace/bpf_trace.c      |  1 +
 mm/memory.c                   |  1 +
 7 files changed, 31 insertions(+), 10 deletions(-)
 create mode 100644 include/linux/uprobes_types.h

diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
index 0e8beb3349ea..8990975d0c37 100644
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -14,6 +14,7 @@
 #include <linux/freezer.h>
 #include <linux/stddef.h>
 #include <linux/uaccess.h>
+#include <linux/uprobes.h>
 #include <linux/sizes.h>
 #include <linux/string.h>
 #include <linux/resume_user_mode.h>
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 6ee90f81e01d..88bbb724080f 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -12,7 +12,7 @@
 #include <linux/maple_tree_types.h>
 #include <linux/rwsem_types.h>
 #include <linux/cpumask.h>
-#include <linux/uprobes.h>
+#include <linux/uprobes_types.h>
 #include <linux/rcupdate.h>
 #include <linux/page-flags-layout.h>
 #include <linux/workqueue_types.h>
diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h
index a76155cf8ceb..6ab950cce8a9 100644
--- a/include/linux/uprobes.h
+++ b/include/linux/uprobes.h
@@ -11,6 +11,7 @@
  * Copyright (C) 2011-2012 Red Hat, Inc., Peter Zijlstra
  */
 
+#include <linux/uprobes_types.h>
 #include <linux/errno.h>
 #include <linux/types.h>
 
@@ -94,12 +95,6 @@ enum rp_check {
 	RP_CHECK_RET,
 };
 
-struct xol_area;
-
-struct uprobes_state {
-	struct xol_area		*xol_area;
-};
-
 extern void __init uprobes_init(void);
 extern int set_swbp(struct arch_uprobe *aup, struct mm_struct *mm, unsigned long vaddr);
 extern int set_orig_insn(struct arch_uprobe *aup, struct mm_struct *mm, unsigned long vaddr);
@@ -137,9 +132,6 @@ extern bool arch_uprobe_ignore(struct arch_uprobe *aup, struct pt_regs *regs);
 extern void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr,
 					 void *src, unsigned long len);
 #else /* !CONFIG_UPROBES */
-struct uprobes_state {
-};
-
 static inline void uprobes_init(void)
 {
 }
diff --git a/include/linux/uprobes_types.h b/include/linux/uprobes_types.h
new file mode 100644
index 000000000000..0ce0fe3801ea
--- /dev/null
+++ b/include/linux/uprobes_types.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef _LINUX_UPROBES_TYPES_H
+#define _LINUX_UPROBES_TYPES_H
+/*
+ * User-space Probes (UProbes)
+ *
+ * Copyright (C) IBM Corporation, 2008-2012
+ * Authors:
+ *	Srikar Dronamraju
+ *	Jim Keniston
+ * Copyright (C) 2011-2012 Red Hat, Inc., Peter Zijlstra
+ */
+
+#ifdef CONFIG_UPROBES
+
+struct xol_area;
+
+struct uprobes_state {
+	struct xol_area		*xol_area;
+};
+#else /* !CONFIG_UPROBES */
+struct uprobes_state {
+};
+#endif /* !CONFIG_UPROBES */
+#endif	/* _LINUX_UPROBES_TYPES_H */
diff --git a/kernel/entry/common.c b/kernel/entry/common.c
index 88cb3c88aaa5..364ea38c868e 100644
--- a/kernel/entry/common.c
+++ b/kernel/entry/common.c
@@ -9,6 +9,7 @@
 #include <linux/livepatch.h>
 #include <linux/audit.h>
 #include <linux/tick.h>
+#include <linux/uprobes.h>
 
 #include "common.h"
 
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 64fdaf79d113..1f314e6461e5 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -11,6 +11,7 @@
 #include <linux/btf.h>
 #include <linux/filter.h>
 #include <linux/uaccess.h>
+#include <linux/uprobes.h>
 #include <linux/ctype.h>
 #include <linux/kprobes.h>
 #include <linux/spinlock.h>
diff --git a/mm/memory.c b/mm/memory.c
index 8d14ba440929..909a98b3d142 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -70,6 +70,7 @@
 #include <linux/string.h>
 #include <linux/memory-tiers.h>
 #include <linux/debugfs.h>
+#include <linux/uprobes.h>
 #include <linux/userfaultfd_k.h>
 #include <linux/dax.h>
 #include <linux/oom.h>
-- 
2.39.2


  parent reply	other threads:[~2024-01-31 14:50 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-31 14:49 [PATCH 00/28] Fast kernel headers: reduce header dependencies Max Kellermann
2024-01-31 14:49 ` [PATCH 01/28] include: add missing includes Max Kellermann
2024-01-31 14:49 ` [PATCH 02/28] include: remove unnecessary #include directives Max Kellermann
2024-02-02 23:58   ` kernel test robot
2024-01-31 14:49 ` [PATCH 03/28] include: reduce header dependencies by using "*_types.h" Max Kellermann
2024-01-31 14:49 ` [PATCH 04/28] workqueue.h: move struct delayed_work to workqueue_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 05/28] kref.h: move declarations to kref_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 06/28] kobject.h: move declarations to kobject_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 07/28] sysfs.h: move declarations to sysfs_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 08/28] maple_tree.h: move declarations to maple_tree_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 09/28] rwsem.h: move declarations to rwsem_types.h Max Kellermann
2024-01-31 14:49 ` Max Kellermann [this message]
2024-02-03  0:41   ` [PATCH 10/28] uprobes.h: move declarations to uprobes_types.h kernel test robot
2024-01-31 14:49 ` [PATCH 11/28] percpu_counter.h: move declarations to percpu_counter_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 12/28] bvec.h: move declarations to bvec_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 13/28] wait.h: move declarations to wait_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 14/28] swait.h: move declarations to swait_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 15/28] completion.h: move declarations to completion_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 16/28] device.h: move declarations to device_types.h Max Kellermann
2024-02-02 23:58   ` kernel test robot
2024-01-31 14:49 ` [PATCH 17/28] xarray.h: move declarations to xarray_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 18/28] blkdev.h: move blk_op_is_passthrough() to blk_types.h Max Kellermann
2024-01-31 14:49 ` [PATCH 19/28] bio.h: move bio_has_data() and bio_no_advance_iter() " Max Kellermann
2024-01-31 14:50 ` [PATCH 20/28] bio.h: move declarations to bio_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 21/28] percpu-refcount.h: move declarations to percpu-refcount_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 22/28] blkdev.h: move declarations to blkdev_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 23/28] sbitmap.h: move declarations to sbitmap_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 24/28] list_lru.h: move declarations to list_lru_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 25/28] list_bl.h: move declarations to list_bl_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 26/28] percpu-rwsem.h: move declarations to percpu-rwsem_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 27/28] quota.h: move declarations to quota_types.h Max Kellermann
2024-01-31 14:50 ` [PATCH 28/28] radix-tree.h: move declarations to radix-tree_types.h Max Kellermann
2024-01-31 21:44 ` [PATCH 00/28] Fast kernel headers: reduce header dependencies Randy Dunlap
2024-01-31 22:00   ` Max Kellermann
2024-02-01 18:08     ` Nick Desaulniers

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=20240131145008.1345531-11-max.kellermann@ionos.com \
    --to=max.kellermann@ionos.com \
    --cc=linux-kernel@vger.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.