Mikulas Patocka
a88cda149c
arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
...
commit a1cd6c2ae47ee10ff21e62475685d5b399e2ed4a upstream.
If we copy less than 8 bytes and if the destination crosses a cache
line, __copy_user_flushcache would invalidate only the first cache line.
This patch makes it invalidate the second cache line as well.
Fixes: 0aed55af88 ("x86, uaccess: introduce copy_from_iter_flushcache for pmem / cache-bypass operations")
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Dan Williams <dan.j.wiilliams@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/alpine.LRH.2.02.2009161451140.21915@file01.intranet.prod.int.rdu2.redhat.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-10-01 13:14:25 +02:00
..
.gitignore
x86: Gitignore: arch/x86/lib/inat-tables.c
2009-11-04 13:11:28 +01:00
atomic64_32.c
x86: Adjust asm constraints in atomic64 wrappers
2012-01-20 17:29:31 -08:00
atomic64_386_32.S
x86/debug: Remove perpetually broken, unmaintainable dwarf annotations
2015-06-02 07:57:48 +02:00
atomic64_cx8_32.S
x86/debug: Remove perpetually broken, unmaintainable dwarf annotations
2015-06-02 07:57:48 +02:00
cache-smp.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
checksum_32.S
x86/retpoline/checksum32: Convert assembler indirect jumps
2018-01-12 00:14:31 +01:00
clear_page_64.S
x86/asm: Trim clear_page.S includes
2018-02-13 17:37:07 +01:00
cmdline.c
x86/boot: Add early cmdline parsing for options with arguments
2017-07-18 11:38:06 +02:00
cmpxchg8b_emu.S
x86: move exports to actual definitions
2016-08-07 23:47:15 -04:00
cmpxchg16b_emu.S
x86/debug: Remove perpetually broken, unmaintainable dwarf annotations
2015-06-02 07:57:48 +02:00
copy_page_64.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
copy_user_64.S
x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings
2017-06-30 09:52:51 +02:00
cpu.c
x86/lib/cpu: Address missing prototypes warning
2019-08-29 08:28:45 +02:00
csum-copy_64.S
x86/asm: Don't use RBP as a temporary register in csum_partial_copy_generic()
2017-05-05 07:59:24 +02:00
csum-partial_64.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
csum-wrappers_64.c
Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-08-01 14:23:42 -04:00
delay.c
x86/asm: Fix MWAITX C-state hint value
2019-10-17 13:45:43 -07:00
error-inject.c
x86/error_inject: Make just_return_func() globally visible
2018-02-13 14:33:35 +01:00
getuser.S
x86/get_user: Use pointer masking to limit speculation
2018-01-30 21:54:31 +01:00
hweight.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
inat.c
x86: Fix to decode grouped AVX with VEX pp bits
2012-02-11 15:11:35 +01:00
insn-eval.c
x86/insn-eval: Fix use-after-free access to LDT entry
2019-06-11 12:20:52 +02:00
insn.c
x86/insn: Add AVX-512 support to the instruction decoder
2016-07-21 09:37:11 -03:00
iomap_copy_64.S
x86/debug: Remove perpetually broken, unmaintainable dwarf annotations
2015-06-02 07:57:48 +02:00
kaslr.c
x86/kaslr: Fix incorrect i8254 outb() parameters
2019-01-31 08:14:39 +01:00
Makefile
x86/mm/mem_encrypt: Disable all instrumentation for early SME setup
2019-05-25 18:23:45 +02:00
memcpy_32.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
memcpy_64.S
x86/uaccess: Fix up the fixup
2019-05-31 06:46:27 -07:00
memmove_64.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
memset_64.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
misc.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
mmx_32.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
msr-reg-export.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
msr-reg.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
msr-smp.c
x86/msr: Make rdmsrl_safe_on_cpu() scheduling safe as well
2018-03-28 10:34:13 +02:00
msr.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
putuser.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
retpoline.S
Revert "x86/retpoline: Simplify vmexit_fill_RSB()"
2018-02-20 09:38:26 +01:00
rwsem.S
locking/arch, x86: Add __down_read_killable()
2017-10-10 11:50:15 +02:00
string_32.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
strstr_32.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
usercopy.c
x86/nmi: Fix NMI uaccess race against CR3 switching
2018-08-31 17:08:22 +02:00
usercopy_32.c
x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec
2018-01-30 21:54:31 +01:00
usercopy_64.c
arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
2020-10-01 13:14:25 +02:00
x86-opcode-map.txt
x86/decoder: Add TEST opcode to Group3-2
2020-02-24 08:34:50 +01:00