No description
Find a file
Linus Torvalds d5ed10bb80 Merge branch 'x86-uaccess-cleanup': x86 uaccess header cleanups
Merge my x86 uaccess updates branch.

The LAM ("Linear Address Masking") updates in this release made me
unhappy about how "access_ok()" was done, and it actually turned out to
have a couple of small bugs in it too.  This is my cleanup of the code:

 - use the sign bit of the __user pointer rather than masking the
   address and checking it against the TASK_SIZE range.

   We already did this part for the get/put_user() side, but
   'access_ok()' did the naïve "mask and range check" thing, which not
   only generates nasty code, but also ended up meaning that __access_ok
   itself didn't do a good job, and so copy_from_user_nmi() didn't get
   the check right.

 - move all the code that is 64-bit only into the 64-bit version of the
   header file, so that we don't unnecessarily pollute the shared x86
   code and make it look like LAM might work in 32-bit too.

 - fix a bug in the address masking (that doesn't end up mattering: in
   this case the fix was to just remove the buggy code entirely).

 - a couple of trivial cleanups and added commentary about the
   access_ok() rules.

* x86-uaccess-cleanup:
  x86-64: mm: clarify the 'positive addresses' user address rules
  x86: mm: remove 'sign' games from LAM untagged_addr*() macros
  x86: uaccess: move 32-bit and 64-bit parts into proper <asm/uaccess_N.h> header
  x86: mm: remove architecture-specific 'access_ok()' define
  x86-64: make access_ok() independent of LAM
2023-05-05 12:29:57 -07:00
arch Merge branch 'x86-uaccess-cleanup': x86 uaccess header cleanups 2023-05-05 12:29:57 -07:00
block
certs
crypto LoongArch changes for v6.4 2023-05-04 12:40:16 -07:00
Documentation RISC-V Patches for the 6.4 Merge Window, Part 2 2023-05-05 12:23:33 -07:00
drivers RISC-V Patches for the 6.4 Merge Window, Part 2 2023-05-05 12:23:33 -07:00
fs A few filesystem improvements, with a rather nasty use-after-free fix 2023-05-04 14:48:02 -07:00
include linux-watchdog 6.4-rc1 tag 2023-05-04 18:33:56 -07:00
init
io_uring
ipc
kernel Five hotfixes. Three are cc:stable, two for this -rc cycle. 2023-05-04 13:21:16 -07:00
lib - Some DAMON cleanups from Kefeng Wang 2023-05-04 13:09:43 -07:00
LICENSES
mm Merge branch 'x86-uaccess-cleanup': x86 uaccess header cleanups 2023-05-05 12:29:57 -07:00
net 9p patches for 6.4 merge window 2023-05-04 14:37:53 -07:00
rust
samples LoongArch changes for v6.4 2023-05-04 12:40:16 -07:00
scripts sysctl: remove register_sysctl_paths() 2023-05-02 19:24:16 -07:00
security
sound
tools - Some DAMON cleanups from Kefeng Wang 2023-05-04 13:09:43 -07:00
usr
virt s390: 2023-05-01 12:06:20 -07:00
.clang-format cxl for v6.4 2023-04-30 11:51:51 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap MAINTAINERS: update Michal Simek's email 2023-05-02 17:23:28 -07:00
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Thermal control fixes for 6.4-rc1 2023-05-05 12:05:00 -07:00
Makefile
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.