No description
Find a file
Vlastimil Babka 69e4bfba09 mm, slub: restore the original intention of prefetch_freepointer()
commit 0882ff9190 upstream.

In SLUB, prefetch_freepointer() is used when allocating an object from
cache's freelist, to make sure the next object in the list is cache-hot,
since it's probable it will be allocated soon.

Commit 2482ddec67 ("mm: add SLUB free list pointer obfuscation") has
unintentionally changed the prefetch in a way where the prefetch is
turned to a real fetch, and only the next->next pointer is prefetched.
In case there is not a stream of allocations that would benefit from
prefetching, the extra real fetch might add a useless cache miss to the
allocation.  Restore the previous behavior.

Link: http://lkml.kernel.org/r/20180809085245.22448-1-vbabka@suse.cz
Fixes: 2482ddec67 ("mm: add SLUB free list pointer obfuscation")
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Daniel Micay <danielmicay@gmail.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-02 17:24:16 +02:00
arch x86: ACPI: fix CPU hotplug deadlock 2020-04-24 08:01:20 +02:00
block block, bfq: fix use-after-free in bfq_idle_slice_timer_body 2020-04-24 08:00:30 +02:00
certs Replace magic for trusting the secondary keyring with #define 2018-09-09 19:55:54 +02:00
crypto crypto: api - Fix race condition in crypto_spawn_alg 2020-02-14 16:32:14 -05:00
Documentation ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 2020-04-24 08:00:35 +02:00
drivers PCI/ASPM: Allow re-enabling Clock PM 2020-05-02 17:24:15 +02:00
firmware Fix built-in early-load Intel microcode alignment 2020-01-23 08:20:30 +01:00
fs ceph: don't skip updating wanted caps when cap is stale 2020-05-02 17:24:13 +02:00
include keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h 2020-05-02 17:24:11 +02:00
init fork: fix some -Wmissing-prototypes warnings 2019-12-05 15:37:52 +01:00
ipc ipc/util.c: sysvipc_find_ipc() should increase position index 2020-05-02 17:24:14 +02:00
kernel perf/core: Disable page faults when getting phys address 2020-05-02 17:24:15 +02:00
lib lib/raid6: use vdupq_n_u8 to avoid endianness warnings 2020-04-24 08:01:01 +02:00
mm mm, slub: restore the original intention of prefetch_freepointer() 2020-05-02 17:24:16 +02:00
net vti4: removed duplicate log message. 2020-05-02 17:24:12 +02:00
samples samples/bpf: Don't try to remove user's homedir on clean 2020-02-14 16:32:13 -05:00
scripts scripts/dtc: Remove redundant YYLOC global declaration 2020-04-02 16:34:30 +02:00
security KEYS: Don't write out to userspace while holding key semaphore 2020-04-24 08:01:25 +02:00
sound ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map() 2020-05-02 17:24:14 +02:00
tools selftests: kmod: fix handling test numbers above 9 2020-05-02 17:24:14 +02:00
usr initramfs: restore default compression behavior 2020-04-13 10:34:19 +02:00
virt KVM: Check for a bad hva before dropping into the ghc slow path 2020-03-11 18:02:53 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes .gitattributes: set git diff driver for C source code files 2016-10-07 18:46:30 -07:00
.gitignore kbuild: rpm-pkg: keep spec file until make mrproper 2018-02-13 10:19:46 +01:00
.mailmap .mailmap: Add Maciej W. Rozycki's Imagination e-mail address 2017-11-10 12:16:15 -08:00
COPYING
CREDITS MAINTAINERS: update TPM driver infrastructure changes 2017-11-09 17:58:40 -08:00
Kbuild License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
MAINTAINERS MAINTAINERS: Update drm/i915 bug filing URL 2020-02-28 16:36:12 +01:00
Makefile Linux 4.14.177 2020-04-24 08:01:25 +02:00
README README: add a new README file, pointing to the Documentation/ 2016-10-24 08:12:35 -02:00

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.