summaryrefslogtreecommitdiff
path: root/arch/x86/include/uapi/asm/vm86.h
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2021-01-19 20:40:55 +0300
committerBorislav Petkov <bp@suse.de>2021-01-21 22:08:53 +0300
commit8ece53ef7f428ee3f8eab936268b1a3fe2725e6b (patch)
treed301122cac7f7b02c221441b4824b91144b0ec80 /arch/x86/include/uapi/asm/vm86.h
parentb86cb29287be07041b81f5611e37ae9ffabff876 (diff)
downloadlinux-8ece53ef7f428ee3f8eab936268b1a3fe2725e6b.tar.xz
x86/vm86/32: Remove VM86_SCREEN_BITMAP support
The implementation was rather buggy. It unconditionally marked PTEs read-only, even for VM_SHARED mappings. I'm not sure whether this is actually a problem, but it certainly seems unwise. More importantly, it released the mmap lock before flushing the TLB, which could allow a racing CoW operation to falsely believe that the underlying memory was not writable. I can't find any users at all of this mechanism, so just remove it. Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Stas Sergeev <stsp2@yandex.ru> Link: https://lkml.kernel.org/r/f3086de0babcab36f69949b5780bde851f719bc8.1611078018.git.luto@kernel.org
Diffstat (limited to 'arch/x86/include/uapi/asm/vm86.h')
-rw-r--r--arch/x86/include/uapi/asm/vm86.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/include/uapi/asm/vm86.h b/arch/x86/include/uapi/asm/vm86.h
index d2ee4e307ef8..18909b8050bc 100644
--- a/arch/x86/include/uapi/asm/vm86.h
+++ b/arch/x86/include/uapi/asm/vm86.h
@@ -97,7 +97,7 @@ struct revectored_struct {
struct vm86_struct {
struct vm86_regs regs;
unsigned long flags;
- unsigned long screen_bitmap;
+ unsigned long screen_bitmap; /* unused, preserved by vm86() */
unsigned long cpu_type;
struct revectored_struct int_revectored;
struct revectored_struct int21_revectored;
@@ -106,7 +106,7 @@ struct vm86_struct {
/*
* flags masks
*/
-#define VM86_SCREEN_BITMAP 0x0001
+#define VM86_SCREEN_BITMAP 0x0001 /* no longer supported */
struct vm86plus_info_struct {
unsigned long force_return_for_pic:1;