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: Mon, 6 May 2019 11:39:23 -0400 From: Steven Rostedt <rostedt@...dmis.org> To: Masami Hiramatsu <mhiramat@...nel.org> Cc: Linus Torvalds <torvalds@...ux-foundation.org>, Shuah Khan <shuah@...nel.org>, Arnaldo Carvalho de Melo <acme@...nel.org>, Peter Zijlstra <peterz@...radead.org>, linux-kernel@...r.kernel.org, Andy Lutomirski <luto@...capital.net>, Ingo Molnar <mingo@...nel.org>, Andrew Morton <akpm@...ux-foundation.org>, Changbin Du <changbin.du@...il.com>, Jann Horn <jannh@...gle.com>, Kees Cook <keescook@...omium.org>, Andy Lutomirski <luto@...nel.org>, Alexei Starovoitov <alexei.starovoitov@...il.com>, Nadav Amit <namit@...are.com>, Joel Fernandes <joel@...lfernandes.org>, yhs@...com Subject: Re: [RFC PATCH v6 1/6] x86/uaccess: Allow access_ok() in irq context if pagefault_disabled On Tue, 7 May 2019 00:22:03 +0900 Masami Hiramatsu <mhiramat@...nel.org> wrote: > Hi Steve, > > It seems I missed this message... No problem. The number of times I missed messages... ugh. > > > > > I'm curious, what interrupt handler are kprobes executing in that needs > > random user space addresses? > > Sorry for confusion. Kprobes is using an exception (of course!). So the > title can mislead, it should be "in exception" instead of "in irq context", > However, current code checks it by "!in_task()", which includes both of > IRQ and exception. A better solution might change it to "in_irq()". That makes sense. > > However, I could not find a way to distinguish the "exception" and > "external IRQ" by the execution context (based on the preempt count) > because exception is treated as a kind of IRQ. > Thus, in this patch, I changed it as not only checking what the context > is, but also whether it is appropriately called. > As exceptions typically disable interrupts, we treat them as their own context. Especially for looking at recursion detection algorithms, which allow for different contexts to recurse. Normal-context -> softirq -> exception / IRQ -> NMI Anyway, that WARN_ON_IN_IRQ() should come with a big comment about why we allow it if we have pagefault_disable() set. This will need to go through the x86 maintainers. I'll go and review the tracing patches of this series and give an ack / reviewed-by if there's no issues. -- Steve
Powered by blists - more mailing lists