Skip to content

Commit 2e05544

Browse files
committed
Merge tag 'mm-nonmm-stable-2026-06-21-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull non-MM updates from Andrew Morton: - "taskstats: fix TGID dead-thread stat retention" (Yiyang Chen) Fix a taskstats TGID aggregation bug where fields added in the TGID query path were not preserved after thread exit, and adds a kselftest covering the regression. - "lib/tests: string_helpers: Slight improvements" (Andy Shevchenko) Improve lib/tests/string_helpers_kunit.c a little - "lib/base64: decode fixes" (Josh Law) Address minor issues in lib/base64.c - "selftests/filelock: Make output more kselftestish" (Mark Brown) Make the output from the ofdlocks test a bit easier for tooling to work with. Also ignore the generated file - "uaccess: unify inline vs outline copy_{from,to}_user() selection" (Yury Norov) Simplify the usercopy code by removing the selectability of inlining copy_{from,to}_user(). - "ocfs2: validate inline xattr header consumers" (ZhengYuan Huang) Fix a number of possible issues in the ocfs2 xattr code - "lib and lib/cmdline enhancements" (Dmitry Antipov) Provide additional robustness checking in the cmdline handling code and its in-kernel testing and selftests - "cleanup the RAID6 P/Q library" (Christoph Hellwig) Clean up the RAID6 P/Q library to match the recent updates to the RAID 5 XOR library and other CRC/crypto libraries - "ocfs2: harden inode validators against forged metadata" (Michael Bommarito) Add three structural checks to OCFS2 dinode validation so malformed on-disk fields are rejected before ocfs2_populate_inode() copies them into the in-core inode - "lib/raid: replace __get_free_pages() call with kmalloc()" (Mike Rapoport) Clean up the lib/raid code by using kmalloc() in more places * tag 'mm-nonmm-stable-2026-06-21-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (108 commits) ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits lib: interval_tree_test: validate benchmark parameters ocfs2: avoid moving extents to occupied clusters treewide: fix transposed "sign" typos and update spelling.txt ocfs2: fix UBSAN array-index-out-of-bounds in ocfs2_sum_rightmost_rec fat: reject BPB volumes whose data area starts beyond total sectors selftests/uevent: increase __UEVENT_BUFFER_SIZE to avoid ENOBUFS on busy systems lib/test_firmware: allocate the configured into_buf size fs: efs: remove unneeded debug prints checkpatch: cuppress warnings when Reported-by: is followed by Link: MAINTAINERS: add Alexander as a kcov reviewer mailmap: update Alexander Sverdlin's Email addresses fs: fat: inode: replace sprintf() with scnprintf() ocfs2: fix out-of-bounds write in ocfs2_remove_refcount_extent ocfs2: fix race between ocfs2_control_install_private() and ocfs2_control_release() ocfs2/dlm: require a ref for locking_state debugfs open ocfs2: reject FITRIM ranges shorter than a cluster ocfs2: validate fast symlink target during inode read ocfs2: add journal NULL check in ocfs2_checkpoint_inode() ...
2 parents 09e3b4a + ff6f26c commit 2e05544

174 files changed

Lines changed: 3219 additions & 2198 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@ ForEachMacros:
481481
- 'genradix_for_each'
482482
- 'genradix_for_each_from'
483483
- 'genradix_for_each_reverse'
484+
- 'guard'
484485
- 'hash_for_each'
485486
- 'hash_for_each_possible'
486487
- 'hash_for_each_possible_rcu'
@@ -674,6 +675,7 @@ ForEachMacros:
674675
- 'rq_list_for_each'
675676
- 'rq_list_for_each_safe'
676677
- 'sample_read_group__for_each'
678+
- 'scoped_guard'
677679
- 'scsi_for_each_prot_sg'
678680
- 'scsi_for_each_sg'
679681
- 'sctp_for_each_hentry'

.mailmap

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,14 @@ Alexander Lobakin <alobakin@pm.me> <bloodyreaper@yandex.ru>
3636
Alexander Mikhalitsyn <alexander@mihalicyn.com> <alexander.mikhalitsyn@virtuozzo.com>
3737
Alexander Mikhalitsyn <alexander@mihalicyn.com> <aleksandr.mikhalitsyn@canonical.com>
3838
Alexander Mikhalitsyn <alexander@mihalicyn.com> <aleksandr.mikhalitsyn@futurfusion.io>
39-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin.ext@nsn.com>
40-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@gmx.de>
41-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@nokia.com>
42-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@nsn.com>
43-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@siemens.com>
44-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <alexander.sverdlin@sysgo.com>
45-
Alexander Sverdlin <alexander.sverdlin@gmail.com> <subaparts@yandex.ru>
39+
Alexander Sverdlin <alex@sverdlin.org> <alexander.sverdlin.ext@nsn.com>
40+
Alexander Sverdlin <alex@sverdlin.org> <alexander.sverdlin@gmail.com>
41+
Alexander Sverdlin <alex@sverdlin.org> <alexander.sverdlin@gmx.de>
42+
Alexander Sverdlin <alex@sverdlin.org> <alexander.sverdlin@nokia.com>
43+
Alexander Sverdlin <alex@sverdlin.org> <alexander.sverdlin@nsn.com>
44+
Alexander Sverdlin <alex@sverdlin.org> <alexander.sverdlin@sysgo.com>
45+
Alexander Sverdlin <alex@sverdlin.org> <asv@kernel.org>
46+
Alexander Sverdlin <alex@sverdlin.org> <subaparts@yandex.ru>
4647
Alexandre Belloni <alexandre.belloni@bootlin.com> <alexandre.belloni@free-electrons.com>
4748
Alexandre Ghiti <alex@ghiti.fr> <alexandre.ghiti@canonical.com>
4849
Alexei Avshalom Lazar <quic_ailizaro@quicinc.com> <ailizaro@codeaurora.org>
@@ -438,6 +439,7 @@ John Stultz <johnstul@us.ibm.com>
438439
Jonas Gorski <jonas.gorski@gmail.com> <jogo@openwrt.org>
439440
Jonathan Cameron <jic23@kernel.org> <jonathan.cameron@huawei.com>
440441
Jordan Crouse <jordan@cosmicpenguin.net> <jcrouse@codeaurora.org>
442+
Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com> <jorge.ramirez-ortiz@linaro.org>
441443
<josh@joshtriplett.org> <josh@freedesktop.org>
442444
<josh@joshtriplett.org> <josh@kernel.org>
443445
<josh@joshtriplett.org> <josht@linux.vnet.ibm.com>

CREDITS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3373,6 +3373,10 @@ N: Anil Ravindranath
33733373
E: anil_ravindranath@pmc-sierra.com
33743374
D: PMC-Sierra MaxRAID driver
33753375

3376+
N: Dwaipayan Ray
3377+
E: dwaipayanray1@gmail.com
3378+
D: checkpatch improvements
3379+
33763380
N: Eric S. Raymond
33773381
E: esr@thyrsus.com
33783382
W: http://www.tuxedo.org/~esr/

Documentation/crypto/async-tx-api.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ xor_val xor a series of source buffers and set a flag if the
8282
pq generate the p+q (raid6 syndrome) from a series of source buffers
8383
pq_val validate that a p and or q buffer are in sync with a given series of
8484
sources
85-
datap (raid6_datap_recov) recover a raid6 data block and the p block
85+
datap (raid6_recov_datap) recover a raid6 data block and the p block
8686
from the given sources
87-
2data (raid6_2data_recov) recover 2 raid6 data blocks from the given
87+
2data (raid6_recov_2data) recover 2 raid6 data blocks from the given
8888
sources
8989
======== ====================================================================
9090

Documentation/dev-tools/checkpatch.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,13 @@ Available options:
184184
Override checking of perl version. Runtime errors may be encountered after
185185
enabling this flag if the perl version does not meet the minimum specified.
186186

187+
- --spdx-cxx-comments
188+
189+
Don't force C comments ``/* */`` for SPDX license (required by old
190+
toolchains), allow also C++ comments ``//``.
191+
192+
NOTE: it should *not* be used for Linux mainline.
193+
187194
- --codespell
188195

189196
Use the codespell dictionary for checking spelling errors.
@@ -210,6 +217,13 @@ Available options:
210217

211218
Display the help text.
212219

220+
Configuration file
221+
==================
222+
223+
Default configuration options can be stored in ``.checkpatch.conf``, search
224+
path: ``.:$HOME:.scripts`` or in a directory specified by ``$CHECKPATCH_CONFIG_DIR``
225+
environment variable (falling back to the default search path).
226+
213227
Message Levels
214228
==============
215229

Documentation/dev-tools/kcov.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,9 @@ Both ``kcov_remote_start`` and ``kcov_remote_stop`` annotations and the
237237
collection sections. The way a handle is used depends on the context where the
238238
matching code section executes.
239239

240+
A thread can use two separate KCOV instances to collect remote coverage and
241+
normal coverage at the same time.
242+
240243
KCOV supports collecting remote coverage from the following contexts:
241244

242245
1. Global kernel background tasks. These are the tasks that are spawned during
@@ -262,6 +265,9 @@ gets saved to the ``kcov_handle`` field in the current ``task_struct`` and
262265
needs to be passed to the newly spawned local tasks via custom kernel code
263266
modifications. Those tasks should in turn use the passed handle in their
264267
``kcov_remote_start`` and ``kcov_remote_stop`` annotations.
268+
In the kernel, common handles are wrapped in a ``kcov_common_handle_id``, which
269+
consumes no space in builds without ``CONFIG_KCOV``; subsystems that integrate
270+
with this mechanism should not need to use any ``#ifdef CONFIG_KCOV`` or such.
265271

266272
KCOV follows a predefined format for both global and common handles. Each
267273
handle is a ``u64`` integer. Currently, only the one top and the lower 4 bytes

MAINTAINERS

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6020,8 +6020,6 @@ F: drivers/input/keyboard/charlieplex_keypad.c
60206020
CHECKPATCH
60216021
M: Andy Whitcroft <apw@canonical.com>
60226022
M: Joe Perches <joe@perches.com>
6023-
R: Dwaipayan Ray <dwaipayanray1@gmail.com>
6024-
R: Lukas Bulwahn <lukas.bulwahn@gmail.com>
60256023
S: Maintained
60266024
F: scripts/checkpatch.pl
60276025

@@ -13933,8 +13931,9 @@ F: fs/proc/kcore.c
1393313931
F: include/linux/kcore.h
1393413932

1393513933
KCOV
13936-
R: Dmitry Vyukov <dvyukov@google.com>
1393713934
R: Andrey Konovalov <andreyknvl@gmail.com>
13935+
R: Alexander Potapenko <glider@google.com>
13936+
R: Dmitry Vyukov <dvyukov@google.com>
1393813937
L: kasan-dev@googlegroups.com
1393913938
S: Maintained
1394013939
B: https://bugzilla.kernel.org/buglist.cgi?component=Sanitizers&product=Memory%20Management
@@ -25051,7 +25050,7 @@ F: drivers/md/md*
2505125050
F: drivers/md/raid*
2505225051
F: include/linux/raid/
2505325052
F: include/uapi/linux/raid/
25054-
F: lib/raid6/
25053+
F: lib/raid/raid6/
2505525054

2505625055
SOLIDRUN CLEARFOG SUPPORT
2505725056
M: Russell King <linux@armlinux.org.uk>

Makefile

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -829,12 +829,6 @@ endif # KBUILD_EXTMOD
829829
# Defaults to vmlinux, but the arch makefile usually adds further targets
830830
all: vmlinux
831831

832-
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage
833-
ifdef CONFIG_CC_IS_GCC
834-
CFLAGS_GCOV += -fno-tree-loop-im
835-
endif
836-
export CFLAGS_GCOV
837-
838832
# The arch Makefiles can override CC_FLAGS_FTRACE. We may also append it later.
839833
ifdef CONFIG_FUNCTION_TRACER
840834
CC_FLAGS_FTRACE := -pg
@@ -1162,6 +1156,27 @@ endif
11621156
# Ensure compilers do not transform certain loops into calls to wcslen()
11631157
KBUILD_CFLAGS += -fno-builtin-wcslen
11641158

1159+
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage
1160+
ifdef CONFIG_CC_IS_GCC
1161+
CFLAGS_GCOV += -fno-tree-loop-im
1162+
# Use atomic counter updates to avoid concurrent-access crashes in GCOV.
1163+
# Only enable if -fprofile-update=prefer-atomic does not introduce new
1164+
# undefined symbols (e.g. libatomic calls that the kernel cannot link).
1165+
CFLAGS_GCOV += $(call try-run,\
1166+
echo 'long long x; void f(void){x++;}' | \
1167+
$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -w -fprofile-arcs \
1168+
-ftest-coverage -x c - -c -o "$$TMP.base" && \
1169+
echo 'long long x; void f(void){x++;}' | \
1170+
$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -w -fprofile-arcs \
1171+
-ftest-coverage -fprofile-update=prefer-atomic \
1172+
-x c - -c -o "$$TMP" && \
1173+
$(NM) "$$TMP.base" | grep ' U ' > "$$TMP.ubase" || true ; \
1174+
$(NM) "$$TMP" | grep ' U ' > "$$TMP.utest" || true ; \
1175+
cmp -s "$$TMP.ubase" "$$TMP.utest",\
1176+
-fprofile-update=prefer-atomic)
1177+
endif
1178+
export CFLAGS_GCOV
1179+
11651180
# change __FILE__ to the relative path to the source directory
11661181
ifdef building_out_of_srctree
11671182
KBUILD_CPPFLAGS += -fmacro-prefix-map=$(srcroot)/=

arch/arc/include/asm/uaccess.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -628,8 +628,7 @@ static inline unsigned long __clear_user(void __user *to, unsigned long n)
628628
return res;
629629
}
630630

631-
#define INLINE_COPY_TO_USER
632-
#define INLINE_COPY_FROM_USER
631+
#define INLINE_COPY_USER
633632

634633
#define __clear_user __clear_user
635634

arch/arm/include/asm/uaccess.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -616,8 +616,7 @@ raw_copy_to_user(void __user *to, const void *from, unsigned long n)
616616
}
617617
#define __clear_user(addr, n) (memset((void __force *)addr, 0, n), 0)
618618
#endif
619-
#define INLINE_COPY_TO_USER
620-
#define INLINE_COPY_FROM_USER
619+
#define INLINE_COPY_USER
621620

622621
static inline unsigned long __must_check clear_user(void __user *to, unsigned long n)
623622
{

0 commit comments

Comments
 (0)