Messages in this thread Patch in this message | | | Date | Tue, 08 Oct 2019 09:59:02 -0000 | From | "tip-bot2 for Sami Tolvanen" <> | Subject | [tip: x86/urgent] x86/cpu/vmware: Use the full form of inl in VMWARE_PORT |
| |
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: b547c1fa97b030ac50586e8b187571b4a83d154c Gitweb: https://git.kernel.org/tip/b547c1fa97b030ac50586e8b187571b4a83d154c Author: Sami Tolvanen <samitolvanen@google.com> AuthorDate: Mon, 07 Oct 2019 12:21:29 -07:00 Committer: Borislav Petkov <bp@suse.de> CommitterDate: Tue, 08 Oct 2019 11:52:35 +02:00
x86/cpu/vmware: Use the full form of inl in VMWARE_PORT
LLVM's assembler doesn't accept the short form
inl (%%dx)
instruction, but instead insists on the output register to be explicitly specified:
<inline asm>:1:7: error: invalid operand for instruction inl (%dx) ^ LLVM ERROR: Error parsing inline asm
Use the full form of the instruction to fix the build.
Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Thomas Hellstrom <thellstrom@vmware.com> Cc: clang-built-linux@googlegroups.com Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: virtualization@lists.linux-foundation.org Cc: "VMware, Inc." <pv-drivers@vmware.com> Cc: x86-ml <x86@kernel.org> Link: https://github.com/ClangBuiltLinux/linux/issues/734 Link: https://lkml.kernel.org/r/20191007192129.104336-1-samitolvanen@google.com --- arch/x86/kernel/cpu/vmware.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c index 9735139..46d7326 100644 --- a/arch/x86/kernel/cpu/vmware.c +++ b/arch/x86/kernel/cpu/vmware.c @@ -49,7 +49,7 @@ #define VMWARE_CMD_VCPU_RESERVED 31 #define VMWARE_PORT(cmd, eax, ebx, ecx, edx) \ - __asm__("inl (%%dx)" : \ + __asm__("inl (%%dx), %%eax" : \ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) : \ "a"(VMWARE_HYPERVISOR_MAGIC), \ "c"(VMWARE_CMD_##cmd), \
| |