mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
fork: replace simple_strtoul with kstrtoul in coredump_filter_setup
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. Link: https://lkml.kernel.org/r/20251215142152.4082-2-thorsten.blum@linux.dev Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Ben Segall <bsegall@google.com> Cc: David Hildenbrand <david@kernel.org> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Kees Cook <kees@kernel.org> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes (Oracle) <ljs@kernel.org> Cc: Mel Gorman <mgorman@suse.de> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
162e4fd97d
commit
380369ea2e
|
|
@ -1014,13 +1014,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;
|
||||
}
|
||||
|
||||
|
|
@ -1106,7 +1107,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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user