mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
ptrace: Use copy_siginfo in setsiginfo and getsiginfo
Now that copy_siginfo copies all of the fields this is safe, safer (as all of the bits are guaranteed to be copied), clearer, and less error prone than using a structure copy. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
parent
ea64d5acc8
commit
0752d7bf62
@ -659,7 +659,7 @@ static int ptrace_getsiginfo(struct task_struct *child, siginfo_t *info)
|
||||
if (lock_task_sighand(child, &flags)) {
|
||||
error = -EINVAL;
|
||||
if (likely(child->last_siginfo != NULL)) {
|
||||
*info = *child->last_siginfo;
|
||||
copy_siginfo(info, child->last_siginfo);
|
||||
error = 0;
|
||||
}
|
||||
unlock_task_sighand(child, &flags);
|
||||
@ -675,7 +675,7 @@ static int ptrace_setsiginfo(struct task_struct *child, const siginfo_t *info)
|
||||
if (lock_task_sighand(child, &flags)) {
|
||||
error = -EINVAL;
|
||||
if (likely(child->last_siginfo != NULL)) {
|
||||
*child->last_siginfo = *info;
|
||||
copy_siginfo(child->last_siginfo, info);
|
||||
error = 0;
|
||||
}
|
||||
unlock_task_sighand(child, &flags);
|
||||
|
Loading…
Reference in New Issue
Block a user