[PATCH v6 6/9] coredump: show supported coredump modes

Christian Brauner
2025-05-12T08:56:12Z

Allow userspace to discover what coredump modes are supported.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
fs/coredump.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/fs/coredump.c b/fs/coredump.c
index 5ea0c93dd5ac..deee52bff6bc 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -1254,6 +1254,12 @@ static int proc_dostring_coredump(const struct ctl_table *table, int write,

static const unsigned int core_file_note_size_min = CORE_FILE_NOTE_SIZE_DEFAULT;
static const unsigned int core_file_note_size_max = CORE_FILE_NOTE_SIZE_MAX;
+static char core_modes[] = {
+ "file\npipe"
+#ifdef CONFIG_UNIX
+ "\nsocket"
+#endif
+};

static const struct ctl_table coredump_sysctls[] = {
{
@@ -1297,6 +1303,13 @@ static const struct ctl_table coredump_sysctls[] = {
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
},
+ {
+ .procname = "core_modes",
+ .data = core_modes,
+ .maxlen = sizeof(core_modes) - 1,
+ .mode = 0444,
+ .proc_handler = proc_dostring,
+ },
};

static int __init init_fs_coredump_sysctls(void)

--
2.47.2