]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
um: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names
authorDave Martin <Dave.Martin@arm.com>
Tue, 1 Jul 2025 13:56:14 +0000 (14:56 +0100)
committerKees Cook <kees@kernel.org>
Tue, 15 Jul 2025 05:27:48 +0000 (22:27 -0700)
Instead of having the core code guess the note name for each regset,
use USER_REGSET_NOTE_TYPE() to pick the correct name from elf.h.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: linux-um@lists.infradead.org
Cc: x86@kernel.org
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Tested-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Link: https://lore.kernel.org/r/20250701135616.29630-22-Dave.Martin@arm.com
Signed-off-by: Kees Cook <kees@kernel.org>
arch/x86/um/ptrace.c

index 3275870330fe915e9d0322bf2bbc4f0883c62a4d..c982ab7103f17ba83ca0713cebe5f21e08032bbd 100644 (file)
@@ -236,7 +236,7 @@ static int generic_fpregs_set(struct task_struct *target,
 
 static struct user_regset uml_regsets[] __ro_after_init = {
        [REGSET_GENERAL] = {
-               .core_note_type = NT_PRSTATUS,
+               USER_REGSET_NOTE_TYPE(PRSTATUS),
                .n              = sizeof(struct user_regs_struct) / sizeof(long),
                .size           = sizeof(long),
                .align          = sizeof(long),
@@ -246,7 +246,7 @@ static struct user_regset uml_regsets[] __ro_after_init = {
 #ifdef CONFIG_X86_32
        /* Old FP registers, they are needed in signal frames */
        [REGSET_FP_LEGACY] = {
-               .core_note_type = NT_PRFPREG,
+               USER_REGSET_NOTE_TYPE(PRFPREG),
                .n              = sizeof(struct user_i387_ia32_struct) / sizeof(long),
                .size           = sizeof(long),
                .align          = sizeof(long),
@@ -257,10 +257,10 @@ static struct user_regset uml_regsets[] __ro_after_init = {
 #endif
        [REGSET_FP] = {
 #ifdef CONFIG_X86_32
-               .core_note_type = NT_PRXFPREG,
+               USER_REGSET_NOTE_TYPE(PRXFPREG),
                .n              = sizeof(struct user32_fxsr_struct) / sizeof(long),
 #else
-               .core_note_type = NT_PRFPREG,
+               USER_REGSET_NOTE_TYPE(PRFPREG),
                .n              = sizeof(struct user_i387_struct) / sizeof(long),
 #endif
                .size           = sizeof(long),
@@ -270,7 +270,7 @@ static struct user_regset uml_regsets[] __ro_after_init = {
                .set            = generic_fpregs_set,
        },
        [REGSET_XSTATE] = {
-               .core_note_type = NT_X86_XSTATE,
+               USER_REGSET_NOTE_TYPE(X86_XSTATE),
                .size           = sizeof(long),
                .align          = sizeof(long),
                .active         = generic_fpregs_active,