Re: [CFT][PATCH] ptrace: Properly initialize ptracer_cred on fork
From: kbuild test robot
Date: Tue May 23 2017 - 04:49:59 EST
Hi Eric,
[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc2 next-20170523]
[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/Eric-W-Biederman/ptrace-Properly-initialize-ptracer_cred-on-fork/20170523-143551
config: ia64-allnoconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=ia64
All warnings (new ones prefixed by >>):
In file included from arch/ia64/include/asm/ptrace.h:44:0,
from arch/ia64/include/asm/processor.h:19,
from arch/ia64/include/asm/thread_info.h:11,
from include/linux/thread_info.h:37,
from include/asm-generic/preempt.h:4,
from ./arch/ia64/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:80,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/linux/stat.h:18,
from include/linux/module.h:10,
from init/main.c:16:
include/linux/ptrace.h: In function 'ptrace_init_task':
>> arch/ia64/include/asm/current.h:15:17: warning: passing argument 3 of '__ptrace_link' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^
include/linux/ptrace.h:210:41: note: in expansion of macro 'current'
__ptrace_link(child, current->parent, current->ptracer_cred);
^~~~~~~
In file included from include/linux/ftrace.h:13:0,
from include/linux/perf_event.h:47,
from include/linux/trace_events.h:9,
from include/trace/syscall.h:6,
from include/linux/syscalls.h:82,
from init/main.c:20:
include/linux/ptrace.h:56:13: note: expected 'struct cred *' but argument is of type 'const struct cred *'
extern void __ptrace_link(struct task_struct *child,
^~~~~~~~~~~~~
--
In file included from arch/ia64/include/asm/ptrace.h:44:0,
from arch/ia64/include/asm/processor.h:19,
from arch/ia64/include/asm/thread_info.h:11,
from include/linux/thread_info.h:37,
from include/asm-generic/preempt.h:4,
from ./arch/ia64/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:80,
from include/linux/spinlock.h:50,
from include/linux/wait.h:8,
from include/linux/fs.h:5,
from arch/ia64/kernel/sys_ia64.c:9:
include/linux/ptrace.h: In function 'ptrace_init_task':
>> arch/ia64/include/asm/current.h:15:17: warning: passing argument 3 of '__ptrace_link' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^
include/linux/ptrace.h:210:41: note: in expansion of macro 'current'
__ptrace_link(child, current->parent, current->ptracer_cred);
^~~~~~~
In file included from include/linux/ftrace.h:13:0,
from include/linux/perf_event.h:47,
from include/linux/trace_events.h:9,
from include/trace/syscall.h:6,
from include/linux/syscalls.h:82,
from arch/ia64/kernel/sys_ia64.c:18:
include/linux/ptrace.h:56:13: note: expected 'struct cred *' but argument is of type 'const struct cred *'
extern void __ptrace_link(struct task_struct *child,
^~~~~~~~~~~~~
arch/ia64/kernel/sys_ia64.c: In function 'arch_get_unmapped_area':
arch/ia64/kernel/sys_ia64.c:31:20: warning: unused variable 'mm' [-Wunused-variable]
struct mm_struct *mm = current->mm;
^~
--
In file included from include/linux/sched.h:11:0,
from kernel/ptrace.c:12:
include/linux/ptrace.h: In function 'ptrace_init_task':
>> arch/ia64/include/asm/current.h:15:17: warning: passing argument 3 of '__ptrace_link' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^
include/linux/ptrace.h:210:41: note: in expansion of macro 'current'
__ptrace_link(child, current->parent, current->ptracer_cred);
^~~~~~~
In file included from kernel/ptrace.c:20:0:
include/linux/ptrace.h:56:13: note: expected 'struct cred *' but argument is of type 'const struct cred *'
extern void __ptrace_link(struct task_struct *child,
^~~~~~~~~~~~~
In file included from include/linux/rculist.h:10:0,
from include/linux/pid.h:4,
from include/linux/sched.h:13,
from kernel/ptrace.c:12:
kernel/ptrace.c: In function 'ptrace_link':
include/linux/rcupdate.h:578:1: warning: passing argument 3 of '__ptrace_link' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
({ \
^
include/linux/rcupdate.h:701:2: note: in expansion of macro '__rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:760:28: note: in expansion of macro 'rcu_dereference_check'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~
include/linux/cred.h:297:2: note: in expansion of macro 'rcu_dereference'
rcu_dereference((task)->real_cred)
^~~~~~~~~~~~~~~
kernel/ptrace.c:81:35: note: in expansion of macro '__task_cred'
__ptrace_link(child, new_parent, __task_cred(new_parent));
^~~~~~~~~~~
kernel/ptrace.c:63:6: note: expected 'struct cred *' but argument is of type 'const struct cred *'
void __ptrace_link(struct task_struct *child, struct task_struct *new_parent,
^~~~~~~~~~~~~
vim +15 arch/ia64/include/asm/current.h
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 1 #ifndef _ASM_IA64_CURRENT_H
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 2 #define _ASM_IA64_CURRENT_H
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 3
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 4 /*
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 5 * Modified 1998-2000
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 6 * David Mosberger-Tang <davidm@xxxxxxxxxx>, Hewlett-Packard Co
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 7 */
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 8
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 9 #include <asm/intrinsics.h>
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 10
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 11 /*
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 12 * In kernel mode, thread pointer (r13) is used to point to the current task
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 13 * structure.
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 14 */
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 @15 #define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 16
^1da177e include/asm-ia64/current.h Linus Torvalds 2005-04-16 17 #endif /* _ASM_IA64_CURRENT_H */
:::::: The code at line 15 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip