Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

LoongArch: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names

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: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: loongarch@lists.linux.dev
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Link: https://lore.kernel.org/r/20250701135616.29630-10-Dave.Martin@arm.com
Signed-off-by: Kees Cook <kees@kernel.org>

authored by

Dave Martin and committed by
Kees Cook
1260e3b1 55821111

+8 -8
+8 -8
arch/loongarch/kernel/ptrace.c
··· 864 864 865 865 static const struct user_regset loongarch64_regsets[] = { 866 866 [REGSET_GPR] = { 867 - .core_note_type = NT_PRSTATUS, 867 + USER_REGSET_NOTE_TYPE(PRSTATUS), 868 868 .n = ELF_NGREG, 869 869 .size = sizeof(elf_greg_t), 870 870 .align = sizeof(elf_greg_t), ··· 872 872 .set = gpr_set, 873 873 }, 874 874 [REGSET_FPR] = { 875 - .core_note_type = NT_PRFPREG, 875 + USER_REGSET_NOTE_TYPE(PRFPREG), 876 876 .n = ELF_NFPREG, 877 877 .size = sizeof(elf_fpreg_t), 878 878 .align = sizeof(elf_fpreg_t), ··· 880 880 .set = fpr_set, 881 881 }, 882 882 [REGSET_CPUCFG] = { 883 - .core_note_type = NT_LOONGARCH_CPUCFG, 883 + USER_REGSET_NOTE_TYPE(LOONGARCH_CPUCFG), 884 884 .n = 64, 885 885 .size = sizeof(u32), 886 886 .align = sizeof(u32), ··· 889 889 }, 890 890 #ifdef CONFIG_CPU_HAS_LSX 891 891 [REGSET_LSX] = { 892 - .core_note_type = NT_LOONGARCH_LSX, 892 + USER_REGSET_NOTE_TYPE(LOONGARCH_LSX), 893 893 .n = NUM_FPU_REGS, 894 894 .size = 16, 895 895 .align = 16, ··· 899 899 #endif 900 900 #ifdef CONFIG_CPU_HAS_LASX 901 901 [REGSET_LASX] = { 902 - .core_note_type = NT_LOONGARCH_LASX, 902 + USER_REGSET_NOTE_TYPE(LOONGARCH_LASX), 903 903 .n = NUM_FPU_REGS, 904 904 .size = 32, 905 905 .align = 32, ··· 909 909 #endif 910 910 #ifdef CONFIG_CPU_HAS_LBT 911 911 [REGSET_LBT] = { 912 - .core_note_type = NT_LOONGARCH_LBT, 912 + USER_REGSET_NOTE_TYPE(LOONGARCH_LBT), 913 913 .n = 5, 914 914 .size = sizeof(u64), 915 915 .align = sizeof(u64), ··· 919 919 #endif 920 920 #ifdef CONFIG_HAVE_HW_BREAKPOINT 921 921 [REGSET_HW_BREAK] = { 922 - .core_note_type = NT_LOONGARCH_HW_BREAK, 922 + USER_REGSET_NOTE_TYPE(LOONGARCH_HW_BREAK), 923 923 .n = sizeof(struct user_watch_state_v2) / sizeof(u32), 924 924 .size = sizeof(u32), 925 925 .align = sizeof(u32), ··· 927 927 .set = hw_break_set, 928 928 }, 929 929 [REGSET_HW_WATCH] = { 930 - .core_note_type = NT_LOONGARCH_HW_WATCH, 930 + USER_REGSET_NOTE_TYPE(LOONGARCH_HW_WATCH), 931 931 .n = sizeof(struct user_watch_state_v2) / sizeof(u32), 932 932 .size = sizeof(u32), 933 933 .align = sizeof(u32),