[PATCH v7 21/22] ptrace: add PTRACE_GET_SYSCALL_INFO request

kbuild test robot lkp at intel.com
Mon Jan 7 07:05:23 UTC 2019


Hi Elvira,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0-rc1]
[cannot apply to next-20190103]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Dmitry-V-Levin/asm-generic-syscall-h-prepare-for-inclusion-by-other-files/20190107-115241
config: alpha-allmodconfig (attached as .config)
compiler: alpha-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=alpha 

All errors (new ones prefixed by >>):

   kernel/ptrace.c: In function 'ptrace_get_syscall_info':
>> kernel/ptrace.c:944:20: error: implicit declaration of function 'user_stack_pointer'; did you mean 'xa_tag_pointer'? [-Werror=implicit-function-declaration]
      .stack_pointer = user_stack_pointer(regs),
                       ^~~~~~~~~~~~~~~~~~
                       xa_tag_pointer
   In file included from arch/alpha/include/asm/syscall.h:6:0,
                    from include/linux/audit.h:214,
                    from kernel/ptrace.c:24:
   kernel/ptrace.c: At top level:
   include/asm-generic/syscall.h:61:1: warning: 'syscall_rollback' declared 'static' but never defined [-Wunused-function]
    syscall_rollback(struct task_struct *task, struct pt_regs *regs);
    ^~~~~~~~~~~~~~~~
   include/asm-generic/syscall.h:106:1: warning: 'syscall_set_return_value' declared 'static' but never defined [-Wunused-function]
    syscall_set_return_value(struct task_struct *task, struct pt_regs *regs,
    ^~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/syscall.h:174:1: warning: '__syscall_set_arguments' used but never defined
    __syscall_set_arguments(struct task_struct *task, struct pt_regs *regs,
    ^~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +944 kernel/ptrace.c

   934	
   935	static int
   936	ptrace_get_syscall_info(struct task_struct *child, unsigned long user_size,
   937				void __user *datavp)
   938	{
   939		struct pt_regs *regs = task_pt_regs(child);
   940		struct ptrace_syscall_info info = {
   941			.op = PTRACE_SYSCALL_INFO_NONE,
   942			.arch = syscall_get_arch(child),
   943			.instruction_pointer = instruction_pointer(regs),
 > 944			.stack_pointer = user_stack_pointer(regs),
   945		};
   946		unsigned long actual_size = offsetof(struct ptrace_syscall_info, entry);
   947		unsigned long write_size;
   948	
   949		/*
   950		 * This does not need lock_task_sighand() to access
   951		 * child->last_siginfo because ptrace_freeze_traced()
   952		 * called earlier by ptrace_check_attach() ensures that
   953		 * the tracee cannot go away and clear its last_siginfo.
   954		 */
   955		switch (child->last_siginfo ? child->last_siginfo->si_code : 0) {
   956		case SIGTRAP | 0x80:
   957			switch (child->ptrace_message) {
   958			case PTRACE_EVENTMSG_SYSCALL_ENTRY:
   959				actual_size = ptrace_get_syscall_info_entry(child, regs,
   960									    &info);
   961				break;
   962			case PTRACE_EVENTMSG_SYSCALL_EXIT:
   963				actual_size = ptrace_get_syscall_info_exit(child, regs,
   964									   &info);
   965				break;
   966			}
   967			break;
   968		case SIGTRAP | (PTRACE_EVENT_SECCOMP << 8):
   969			actual_size = ptrace_get_syscall_info_seccomp(child, regs,
   970								      &info);
   971			break;
   972		}
   973	
   974		write_size = min(actual_size, user_size);
   975		return copy_to_user(datavp, &info, write_size) ? -EFAULT : actual_size;
   976	}
   977	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 55458 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20190107/62fa6432/attachment.bin>


More information about the Strace-devel mailing list