Re: [PATCH 5/6] ptrace: introduce PTRACE_SET_SYSCALL_INFO request
From: kernel test robot <hidden>
Date: 2025-01-09 02:22:33
Also in:
lkml, llvm, oe-kbuild-all
Hi Dmitry, kernel test robot noticed the following build errors: [auto build test ERROR on openrisc/for-next] [also build test ERROR on powerpc/next powerpc/fixes s390/features uml/next jcmvbkbc-xtensa/xtensa-for-next arnd-asm-generic/master vgupta-arc/for-curr arm64/for-next/core linus/master uml/fixes tip/x86/core vgupta-arc/for-next v6.13-rc6 next-20250108] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-V-Levin/Revert-arch-remove-unused-function-syscall_set_arguments/20250108-070658 base: https://github.com/openrisc/linux.git for-next patch link: https://lore.kernel.org/r/20250107230456.GE30633%40strace.io patch subject: [PATCH 5/6] ptrace: introduce PTRACE_SET_SYSCALL_INFO request config: hexagon-randconfig-001-20250109 (https://download.01.org/0day-ci/archive/20250109/202501090954.gYTxI9sY-lkp@intel.com/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250109/202501090954.gYTxI9sY-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot [off-list ref] | Closes: https://lore.kernel.org/oe-kbuild-all/202501090954.gYTxI9sY-lkp@intel.com/ (local) All errors (new ones prefixed by >>):
quoted
kernel/ptrace.c:1053:3: error: implicit declaration of function 'syscall_set_return_value' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
syscall_set_return_value(child, regs, -ENOSYS, 0);
^
kernel/ptrace.c:1053:3: note: did you mean 'syscall_get_return_value'?
arch/hexagon/include/asm/syscall.h:56:20: note: 'syscall_get_return_value' declared here
static inline long syscall_get_return_value(struct task_struct *task,
^
kernel/ptrace.c:1075:3: error: implicit declaration of function 'syscall_set_return_value' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
syscall_set_return_value(child, regs, info->exit.rval, 0);
^
2 errors generated.
vim +/syscall_set_return_value +1053 kernel/ptrace.c
1021
1022 static unsigned long
1023 ptrace_set_syscall_info_entry(struct task_struct *child, struct pt_regs *regs,
1024 struct ptrace_syscall_info *info)
1025 {
1026 unsigned long args[ARRAY_SIZE(info->entry.args)];
1027 int nr = info->entry.nr;
1028 int i;
1029
1030 if (nr != info->entry.nr)
1031 return -ERANGE;
1032
1033 for (i = 0; i < ARRAY_SIZE(args); i++) {
1034 args[i] = info->entry.args[i];
1035 if (args[i] != info->entry.args[i])
1036 return -ERANGE;
1037 }
1038
1039 syscall_set_nr(child, regs, nr);
1040 syscall_set_arguments(child, regs, args);
1041 if (nr == -1) {
1042 /*
1043 * When the syscall number is set to -1, the syscall will be
1044 * skipped. In this case also set the syscall return value to
1045 * -ENOSYS, otherwise on some architectures the corresponding
1046 * struct pt_regs field will remain unchanged.
1047 *
1048 * Note that on some architectures syscall_set_return_value()
1049 * modifies one of the struct pt_regs fields also modified by
1050 * syscall_set_arguments(), so the former should be called
1051 * after the latter.
1052 */1053 syscall_set_return_value(child, regs, -ENOSYS, 0);
1054 } 1055 1056 return 0; 1057 } 1058 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki