* [PATCH] fork: Replace simple_strtoul with kstrtoul in coredump_filter_setup
@ 2025-12-15 14:21 Thorsten Blum
0 siblings, 0 replies; only message in thread
From: Thorsten Blum @ 2025-12-15 14:21 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra, Juri Lelli, Vincent Guittot,
Dietmar Eggemann, Steven Rostedt, Ben Segall, Mel Gorman,
Valentin Schneider, Andrew Morton, David Hildenbrand,
Lorenzo Stoakes, Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Kees Cook
Cc: Thorsten Blum, linux-mm, linux-kernel
Replace simple_strtoul() with the recommended kstrtoul() for parsing the
'coredump_filter=' boot parameter.
Check the return value of kstrtoul() and reject invalid values. This
adds error handling while preserving behavior for existing values, and
removes use of the deprecated simple_strtoul() helper. The current code
silently sets 'default_dump_filter = 0' if parsing fails, instead of
leaving the default value (MMF_DUMP_FILTER_DEFAULT) unchanged.
Rename the static variable 'default_dump_filter' to 'coredump_filter'
since it does not necessarily contain the default value and the current
name can be misleading.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
kernel/fork.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/kernel/fork.c b/kernel/fork.c
index b1f3915d5f8e..f33ee7fe53ad 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1012,13 +1012,14 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
__cacheline_aligned_in_smp DEFINE_SPINLOCK(mmlist_lock);
-static unsigned long default_dump_filter = MMF_DUMP_FILTER_DEFAULT;
+static unsigned long coredump_filter = MMF_DUMP_FILTER_DEFAULT;
static int __init coredump_filter_setup(char *s)
{
- default_dump_filter =
- (simple_strtoul(s, NULL, 0) << MMF_DUMP_FILTER_SHIFT) &
- MMF_DUMP_FILTER_MASK;
+ if (kstrtoul(s, 0, &coredump_filter))
+ return 0;
+ coredump_filter <<= MMF_DUMP_FILTER_SHIFT;
+ coredump_filter &= MMF_DUMP_FILTER_MASK;
return 1;
}
@@ -1104,7 +1105,7 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p,
__mm_flags_overwrite_word(mm, mmf_init_legacy_flags(flags));
mm->def_flags = current->mm->def_flags & VM_INIT_DEF_MASK;
} else {
- __mm_flags_overwrite_word(mm, default_dump_filter);
+ __mm_flags_overwrite_word(mm, coredump_filter);
mm->def_flags = 0;
}
--
Thorsten Blum <thorsten.blum@linux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-12-15 14:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-15 14:21 [PATCH] fork: Replace simple_strtoul with kstrtoul in coredump_filter_setup Thorsten Blum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).