Performance oriented customized Linux kernel based on the mainline kernel.
Find a file
Dave Hansen 3e844d842d x86/mm: Ensure forced page table splitting
There are a few kernel users like kfence that require 4k pages to work
correctly and do not support large mappings.  They use set_memory_4k()
to break down those large mappings.

That, in turn relies on cpa_data->force_split option to indicate to
set_memory code that it should split page tables regardless of whether
the need to be.

But, a recent change added an optimization which would return early
if a set_memory request came in that did not change permissions.  It
did not consult ->force_split and would mistakenly optimize away the
splitting that set_memory_4k() needs.  This broke kfence.

Skip the same-permission optimization when ->force_split is set.

Fixes: 127960a05548 ("x86/mm: Inhibit _PAGE_NX changes from cpa_process_alias()")
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Tested-by: Marco Elver <elver@google.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/all/CA+G9fYuFxZTxkeS35VTZMXwQvohu73W3xbZ5NtjebsVvH6hCuA@mail.gmail.com/
2022-12-15 10:37:28 -08:00
arch x86/mm: Ensure forced page table splitting 2022-12-15 10:37:28 -08:00
block block-6.1-2022-10-28 2022-10-29 18:06:52 -07:00
certs
crypto
Documentation 23 hotfixes. 2022-10-29 17:49:33 -07:00
drivers x86_64: Remove pointless set_64bit() usage 2022-12-15 10:37:27 -08:00
fs 3 cifs/smb3 fixes (also for stable) 2022-10-30 09:40:04 -07:00
include mm: Convert __HAVE_ARCH_P..P_GET to the new style 2022-12-15 10:37:27 -08:00
init x86/mm: Initialize text poking earlier 2022-12-15 10:37:26 -08:00
io_uring io_uring: unlock if __io_run_local_work locked inside 2022-10-27 09:52:12 -06:00
ipc ipc/msg.c: fix percpu_counter use after free 2022-10-28 13:37:22 -07:00
kernel mm/gup: Fix the lockless PMD access 2022-12-15 10:37:27 -08:00
lib 23 hotfixes. 2022-10-29 17:49:33 -07:00
LICENSES
mm mm: Remove pointless barrier() after pmdp_get_lockless() 2022-12-15 10:37:27 -08:00
net mm: Introduce set_memory_rox() 2022-12-15 10:37:26 -08:00
rust
samples
scripts
security
sound ALSA: aoa: Fix I2S device accounting 2022-10-27 08:53:08 +02:00
tools Char/Misc fixes for 6.1-rc3 2022-10-30 11:22:33 -07:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS USB fixes for 6.1-rc3 2022-10-30 10:35:07 -07:00
Makefile Linux 6.1-rc3 2022-10-30 15:19:28 -07:00
README

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

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

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.