| From foo@baz Sun Jun 17 12:07:33 CEST 2018 |
| From: Mark Rutland <mark.rutland@arm.com> |
| Date: Tue, 24 Apr 2018 13:11:22 +0100 |
| Subject: arm64: ptrace: remove addr_limit manipulation |
| |
| From: Mark Rutland <mark.rutland@arm.com> |
| |
| [ Upstream commit 59275a0c037ed6fabd6354730f1e3104264ab719 ] |
| |
| We transiently switch to KERNEL_DS in compat_ptrace_gethbpregs() and |
| compat_ptrace_sethbpregs(), but in either case this is pointless as we |
| don't perform any uaccess during this window. |
| |
| let's rip out the redundant addr_limit manipulation. |
| |
| Acked-by: Catalin Marinas <catalin.marinas@arm.com> |
| Signed-off-by: Mark Rutland <mark.rutland@arm.com> |
| Cc: Will Deacon <will.deacon@arm.com> |
| Signed-off-by: Will Deacon <will.deacon@arm.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/arm64/kernel/ptrace.c | 6 ------ |
| 1 file changed, 6 deletions(-) |
| |
| --- a/arch/arm64/kernel/ptrace.c |
| +++ b/arch/arm64/kernel/ptrace.c |
| @@ -1458,9 +1458,7 @@ static int compat_ptrace_gethbpregs(stru |
| { |
| int ret; |
| u32 kdata; |
| - mm_segment_t old_fs = get_fs(); |
| |
| - set_fs(KERNEL_DS); |
| /* Watchpoint */ |
| if (num < 0) { |
| ret = compat_ptrace_hbp_get(NT_ARM_HW_WATCH, tsk, num, &kdata); |
| @@ -1471,7 +1469,6 @@ static int compat_ptrace_gethbpregs(stru |
| } else { |
| ret = compat_ptrace_hbp_get(NT_ARM_HW_BREAK, tsk, num, &kdata); |
| } |
| - set_fs(old_fs); |
| |
| if (!ret) |
| ret = put_user(kdata, data); |
| @@ -1484,7 +1481,6 @@ static int compat_ptrace_sethbpregs(stru |
| { |
| int ret; |
| u32 kdata = 0; |
| - mm_segment_t old_fs = get_fs(); |
| |
| if (num == 0) |
| return 0; |
| @@ -1493,12 +1489,10 @@ static int compat_ptrace_sethbpregs(stru |
| if (ret) |
| return ret; |
| |
| - set_fs(KERNEL_DS); |
| if (num < 0) |
| ret = compat_ptrace_hbp_set(NT_ARM_HW_WATCH, tsk, num, &kdata); |
| else |
| ret = compat_ptrace_hbp_set(NT_ARM_HW_BREAK, tsk, num, &kdata); |
| - set_fs(old_fs); |
| |
| return ret; |
| } |