x86/vm86/32: Remove VM86_SCREEN_BITMAP support
authorAndy Lutomirski <luto@kernel.org>
Tue, 19 Jan 2021 17:40:55 +0000 (09:40 -0800)
committerBorislav Petkov <bp@suse.de>
Thu, 21 Jan 2021 19:08:53 +0000 (20:08 +0100)
commit8ece53ef7f428ee3f8eab936268b1a3fe2725e6b
treed301122cac7f7b02c221441b4824b91144b0ec80
parentb86cb29287be07041b81f5611e37ae9ffabff876
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
arch/x86/include/asm/vm86.h
arch/x86/include/uapi/asm/vm86.h
arch/x86/kernel/vm86_32.c
arch/x86/mm/fault.c