No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Alexei Starovoitov 17566cf0e3 Merge branch 'fix-sleepable-context-tracking-for-async-callbacks'
Kumar Kartikeya Dwivedi says:

====================
Fix sleepable context tracking for async callbacks

Currently, asynchronous execution primitives set up their callback
execution simulation using push_async_cb, which will end up inheriting
the sleepable or non-sleepable bit from the program triggering the
simulation of the callback. This is incorrect, as the actual execution
context of the asynchronous callback has nothing to do with the program
arming its execution.

This set fixes this oversight, and supplies a few test cases ensuring
the correct behavior is tested across different types of primitives
(i.e. timer, wq, task_work).

While looking at this bug, it was noticed that the GFP flag setting
logic for storage_get helpers is also broken, hence fix it while we
are at it.

PSA: These fixes and unit tests were primarily produced by prompting an
AI assistant (Claude), and then modified in minor ways, in an exercise
to understand how useful it can be at general kernel development tasks.

Changelog:
----------
v1 -> v2
v1: https://lore.kernel.org/bpf/20251007014310.2889183-1-memxor@gmail.com

 * Squash fix for GFP flags into 1st commit. (Eduard)
 * Add a commit refactoring func_atomic to non_sleepable, make it
   generic, also set for kfuncs in addition to helpers. (Eduard)
 * Leave selftest as-is, coverage for global subprogs calling sleepable
   kfuncs or helpers is provided in rcu_read_lock.c.
====================

Link: https://patch.msgid.link/20251007220349.3852807-1-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
History 2025-10-10 10:04:52 -07:00
arch IOMMU Updates for Linux v6.18: 2025-10-03 18:00:11 -07:00
block Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
Documentation soc: build fix for 6.18 2025-10-03 19:36:39 -07:00
drivers SCSI misc on 20251002 2025-10-03 19:17:48 -07:00
fs It has been a relatively busy cycle in docsland, with changes all over: 2025-10-03 17:16:13 -07:00
include bpf: Refactor storage_get_func_atomic to generic non_sleepable flag 2025-10-10 10:04:51 -07:00
init Patch series in this pull request: 2025-10-02 18:44:54 -07:00
io_uring Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
ipc namespace-6.18-rc1 2025-09-29 11:20:29 -07:00
kernel bpf: Refactor storage_get_func_atomic to generic non_sleepable flag 2025-10-10 10:04:51 -07:00
lib Patch series in this pull request: 2025-10-02 18:44:54 -07:00
LICENSES LICENSES: Replace the obsolete address of the FSF in the GFDL-1.2 2025-07-24 11:15:39 +02:00
mm dma-mapping updates for Linux 6.18: 2025-10-03 17:41:12 -07:00
net bpf: Use rcu_read_lock_dont_migrate in bpf_sk_storage.c 2025-10-07 11:53:29 -07:00
rust dma-mapping updates for Linux 6.18: 2025-10-03 17:41:12 -07:00
samples Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
scripts bpf: Finish constification of 1st parameter of bpf_d_path() 2025-10-04 09:05:23 -07:00
security file->f_path constification 2025-10-03 16:32:36 -07:00
sound sound updates for 6.18-rc1 2025-10-02 11:37:19 -07:00
tools selftests/bpf: Add tests for async cb context 2025-10-10 10:04:51 -07:00
usr gen_init_cpio: add -a <data_align> as reflink optimization 2025-08-20 16:02:56 -07:00
virt Merge tag 'kvm-x86-no_assignment-6.17' of https://github.com/kvm-x86/linux into HEAD 2025-07-29 08:36:42 -04:00
.clang-format Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
.clippy.toml rust: clean Rust 1.88.0's warning about clippy::disallowed_macros configuration 2025-05-07 00:11:47 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: remove Alyssa Rosenzweig 2025-09-18 21:17:31 +02:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore .gitignore: ignore compile_commands.json globally 2025-08-12 15:53:55 -07:00
.mailmap Patch series in this pull request: 2025-10-02 18:44:54 -07:00
.pylintrc tools: docs: parse-headers.py: move it from sphinx dir 2025-08-29 15:54:42 -06:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Delete inactive maintainers from AF_XDP 2025-09-25 13:18:22 +02:00
Kbuild sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS SCSI misc on 20251002 2025-10-03 19:17:48 -07:00
Makefile It has been a relatively busy cycle in docsland, with changes all over: 2025-10-03 17:16:13 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

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 reStructuredText 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.