lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 2 Jul 2019 22:18:53 -0400 From: Sasha Levin <sashal@...nel.org> To: linux-kernel@...r.kernel.org, stable@...r.kernel.org Cc: Peter Zijlstra <peterz@...radead.org>, Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>, Young Xiao <92siuyang@...il.com>, Will Deacon <will.deacon@....com>, Arnaldo Carvalho de Melo <acme@...hat.com>, Frederic Weisbecker <fweisbec@...il.com>, Jiri Olsa <jolsa@...hat.com>, Linus Torvalds <torvalds@...ux-foundation.org>, Michael Ellerman <mpe@...erman.id.au>, "Naveen N . Rao" <naveen.n.rao@...ux.vnet.ibm.com>, Stephane Eranian <eranian@...gle.com>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...nel.org>, Sasha Levin <sashal@...nel.org> Subject: [PATCH AUTOSEL 4.4 1/6] perf/core: Fix perf_sample_regs_user() mm check From: Peter Zijlstra <peterz@...radead.org> [ Upstream commit 085ebfe937d7a7a5df1729f35a12d6d655fea68c ] perf_sample_regs_user() uses 'current->mm' to test for the presence of userspace, but this is insufficient, consider use_mm(). A better test is: '!(current->flags & PF_KTHREAD)', exec() clears PF_KTHREAD after it sets the new ->mm but before it drops to userspace for the first time. Possibly obsoletes: bf05fc25f268 ("powerpc/perf: Fix oops when kthread execs user process") Reported-by: Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com> Reported-by: Young Xiao <92siuyang@...il.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org> Acked-by: Will Deacon <will.deacon@....com> Cc: Arnaldo Carvalho de Melo <acme@...hat.com> Cc: Frederic Weisbecker <fweisbec@...il.com> Cc: Jiri Olsa <jolsa@...hat.com> Cc: Linus Torvalds <torvalds@...ux-foundation.org> Cc: Michael Ellerman <mpe@...erman.id.au> Cc: Naveen N. Rao <naveen.n.rao@...ux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@...radead.org> Cc: Stephane Eranian <eranian@...gle.com> Cc: Thomas Gleixner <tglx@...utronix.de> Fixes: 4018994f3d87 ("perf: Add ability to attach user level registers dump to sample") Signed-off-by: Ingo Molnar <mingo@...nel.org> Signed-off-by: Sasha Levin <sashal@...nel.org> --- kernel/events/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index 17230ca00bd4..41fe80e3380f 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5078,7 +5078,7 @@ static void perf_sample_regs_user(struct perf_regs *regs_user, if (user_mode(regs)) { regs_user->abi = perf_reg_abi(current); regs_user->regs = regs; - } else if (current->mm) { + } else if (!(current->flags & PF_KTHREAD)) { perf_get_regs_user(regs_user, regs, regs_user_copy); } else { regs_user->abi = PERF_SAMPLE_REGS_ABI_NONE; -- 2.20.1
Powered by blists - more mailing lists