summaryrefslogtreecommitdiff
path: root/include/linux/ptrace.h
diff options
context:
space:
mode:
authorSumit Semwal <sumit.semwal@linaro.org>2017-06-12 23:18:55 +0530
committerSumit Semwal <sumit.semwal@linaro.org>2017-06-12 23:18:55 +0530
commit8cee66e33cf2e740a18c23a785694c7f83e24ee3 (patch)
treef9ac8294378b518b5bb214ccd955f3fbf0763524 /include/linux/ptrace.h
parent611a390fbe4eb5e1ec2a7d535343c676c79fe292 (diff)
parent01f99201744662692ca6888ee9aeee36776f47fb (diff)
Merge remote-tracking branch 'stable-rc/linux-4.4.y' into 4.4.72-rc-hikey4.4-72-rc-hikey-201706124.4.y-rc-hikey
Resolved conficts: Makefile fs/xfs/xfs_xattr.c net/bridge/br_stp_if.c net/ipv6/ip6_offload.c Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Diffstat (limited to 'include/linux/ptrace.h')
-rw-r--r--include/linux/ptrace.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
index e13bfdf7f314..81fdf4b8aba4 100644
--- a/include/linux/ptrace.h
+++ b/include/linux/ptrace.h
@@ -50,7 +50,8 @@ extern int ptrace_request(struct task_struct *child, long request,
unsigned long addr, unsigned long data);
extern void ptrace_notify(int exit_code);
extern void __ptrace_link(struct task_struct *child,
- struct task_struct *new_parent);
+ struct task_struct *new_parent,
+ const struct cred *ptracer_cred);
extern void __ptrace_unlink(struct task_struct *child);
extern void exit_ptrace(struct task_struct *tracer, struct list_head *dead);
#define PTRACE_MODE_READ 0x01
@@ -202,7 +203,7 @@ static inline void ptrace_init_task(struct task_struct *child, bool ptrace)
if (unlikely(ptrace) && current->ptrace) {
child->ptrace = current->ptrace;
- __ptrace_link(child, current->parent);
+ __ptrace_link(child, current->parent, current->ptracer_cred);
if (child->ptrace & PT_SEIZED)
task_set_jobctl_pending(child, JOBCTL_TRAP_STOP);
@@ -211,6 +212,8 @@ static inline void ptrace_init_task(struct task_struct *child, bool ptrace)
set_tsk_thread_flag(child, TIF_SIGPENDING);
}
+ else
+ child->ptracer_cred = NULL;
}
/**