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, 7 Apr 2020 16:51:54 -0700 From: Nadav Amit <nadav.amit@...il.com> To: Paolo Bonzini <pbonzini@...hat.com> Cc: Peter Zijlstra <peterz@...radead.org>, Thomas Gleixner <tglx@...utronix.de>, LKML <linux-kernel@...r.kernel.org>, hch@...radead.org, Sean Christopherson <sean.j.christopherson@...el.com>, mingo <mingo@...hat.com>, bp <bp@...en8.de>, hpa@...or.com, x86 <x86@...nel.org>, "Kenneth R. Crudup" <kenny@...ix.com>, Jessica Yu <jeyu@...nel.org>, Rasmus Villemoes <rasmus.villemoes@...vas.dk>, Fenghua Yu <fenghua.yu@...el.com>, Xiaoyao Li <xiaoyao.li@...el.com>, Thomas Hellstrom <thellstrom@...are.com>, Tony Luck <tony.luck@...el.com>, Steven Rostedt <rostedt@...dmis.org>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, jannh@...gle.com, keescook@...omium.org, David.Laight@...lab.com, Doug Covelli <dcovelli@...are.com>, mhiramat@...nel.org Subject: Re: [PATCH 4/4] x86,module: Detect CRn and DRn manipulation > On Apr 7, 2020, at 3:12 PM, Paolo Bonzini <pbonzini@...hat.com> wrote: > > On 07/04/20 23:27, Peter Zijlstra wrote: >> On Tue, Apr 07, 2020 at 02:22:11PM -0700, Nadav Amit wrote: >>> Anyhow, I do not think it is the only use-case which is not covered by your >>> patches (even considering CRs/DRs alone). For example, there is no kernel >>> function to turn on CR4.VMXE, which is required to run hypervisors on x86. >> That needs an exported function; there is no way we'll allow random >> writes to CR4, there's too much dodgy stuff in there. > > native_write_cr4 and pv_ops (through which you can do write_cr4) are > both exported, and so is cpu_tlbstate which is used by __cr4_set_bits > and friends. Am I missing something glaringly obvious? No, I was the one who missed the obvious thing. Having said that, I still think there are additional cases that need to be handled. For instance, I see that is_erratum_383() in KVM (AMD) flushes the local TLB by writing to CR3 the previous value. I am not familiar with the erratum. Maybe I am missing something again, but I do not see an appropriate exported alternative in the kernel.
Powered by blists - more mailing lists