Go to file
Josh Poimboeuf 7b6c7a877c x86/ftrace: Remove OBJECT_FILES_NON_STANDARD usage
The file-wide OBJECT_FILES_NON_STANDARD annotation is used with
CONFIG_FRAME_POINTER to tell objtool to skip the entire file when frame
pointers are enabled.  However that annotation is now deprecated because
it doesn't work with IBT, where objtool runs on vmlinux.o instead of
individual translation units.

Instead, use more fine-grained function-specific annotations:

- The 'save_mcount_regs' macro does funny things with the frame pointer.
  Use STACK_FRAME_NON_STANDARD_FP to tell objtool to ignore the
  functions using it.

- The return_to_handler() "function" isn't actually a callable function.
  Instead of being called, it's returned to.  The real return address
  isn't on the stack, so unwinding is already doomed no matter which
  unwinder is used.  So just remove the STT_FUNC annotation, telling
  objtool to ignore it.  That also removes the implicit
  ANNOTATE_NOENDBR, which now needs to be made explicit.

Fixes the following warning:

  vmlinux.o: warning: objtool: __fentry__+0x16: return with modified stack frame

Fixes: ed53a0d971 ("x86/alternative: Use .ibt_endbr_seal to seal indirect calls")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/b7a7a42fe306aca37826043dac89e113a1acdbac.1654268610.git.jpoimboe@kernel.org
2022-06-06 11:50:22 -07:00
Documentation A single featurelet for delay accounting. Delayed a bit 2022-06-05 16:58:27 -07:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
arch x86/ftrace: Remove OBJECT_FILES_NON_STANDARD usage 2022-06-06 11:50:22 -07:00
block for-5.19/drivers-2022-06-02 2022-06-03 10:25:56 -07:00
certs Kbuild updates for v5.19 2022-05-26 12:09:50 -07:00
crypto This update includes the following changes: 2022-05-27 18:06:49 -07:00
drivers fix for breakage in #work.fd this window 2022-06-05 17:14:03 -07:00
fs fix for breakage in #work.fd this window 2022-06-05 17:14:03 -07:00
include x86/ftrace: Remove OBJECT_FILES_NON_STANDARD usage 2022-06-06 11:50:22 -07:00
init This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
ipc These changes update the ipc sysctls so that they are fundamentally 2022-06-03 15:54:57 -07:00
kernel A single featurelet for delay accounting. Delayed a bit 2022-06-05 16:58:27 -07:00
lib objtool: Fix obsolete reference to CONFIG_X86_SMAP 2022-06-06 11:49:55 -07:00
mm Hot fixes for 5.19-rc1. 2022-06-05 17:05:38 -07:00
net bluetooth: don't use bitmaps for random flag accesses 2022-06-05 16:28:41 -07:00
samples drm for 5.19-rc1 2022-05-25 16:18:27 -07:00
scripts faddr2line: Fix overlapping text section failures, the sequel 2022-06-06 11:50:11 -07:00
security Cleanups (and one fix) around struct mount handling. 2022-06-04 19:00:05 -07:00
sound USB / Thunderbolt changes for 5.19-rc1 2022-06-03 11:17:49 -07:00
tools x86/ftrace: Remove OBJECT_FILES_NON_STANDARD usage 2022-06-06 11:50:22 -07:00
usr Not a lot of material this cycle. Many singleton patches against various 2022-05-27 11:22:03 -07:00
virt VFIO updates for v5.19-rc1 2022-06-01 13:49:15 -07:00
.clang-format clang-format: Fix space after for_each macros 2022-05-20 19:27:16 +02:00
.cocciconfig
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore kbuild: split the second line of *.mod into *.usyms 2022-05-08 03:16:59 +09:00
.mailmap Hot fixes for 5.19-rc1. 2022-06-05 17:05:38 -07:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: replace a Microchip AT91 maintainer 2022-02-09 11:30:01 +01:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS Hot fixes for 5.19-rc1. 2022-06-05 17:05:38 -07:00
Makefile Linux 5.19-rc1 2022-06-05 17:18:54 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06: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.