Skip to content

Commit e5eb28f

Browse files
committed
Merge tag 'mm-nonmm-stable-2024-03-14-09-36' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull non-MM updates from Andrew Morton: - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min heap optimizations". - Kuan-Wei Chiu has also sped up the library sorting code in the series "lib/sort: Optimize the number of swaps and comparisons". - Alexey Gladkov has added the ability for code running within an IPC namespace to alter its IPC and MQ limits. The series is "Allow to change ipc/mq sysctls inside ipc namespace". - Geert Uytterhoeven has contributed some dhrystone maintenance work in the series "lib: dhry: miscellaneous cleanups". - Ryusuke Konishi continues nilfs2 maintenance work in the series "nilfs2: eliminate kmap and kmap_atomic calls" "nilfs2: fix kernel bug at submit_bh_wbc()" - Nathan Chancellor has updated our build tools requirements in the series "Bump the minimum supported version of LLVM to 13.0.1". - Muhammad Usama Anjum continues with the selftests maintenance work in the series "selftests/mm: Improve run_vmtests.sh". - Oleg Nesterov has done some maintenance work against the signal code in the series "get_signal: minor cleanups and fix". Plus the usual shower of singleton patches in various parts of the tree. Please see the individual changelogs for details. * tag 'mm-nonmm-stable-2024-03-14-09-36' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (77 commits) nilfs2: prevent kernel bug at submit_bh_wbc() nilfs2: fix failure to detect DAT corruption in btree and direct mappings ocfs2: enable ocfs2_listxattr for special files ocfs2: remove SLAB_MEM_SPREAD flag usage assoc_array: fix the return value in assoc_array_insert_mid_shortcut() buildid: use kmap_local_page() watchdog/core: remove sysctl handlers from public header nilfs2: use div64_ul() instead of do_div() mul_u64_u64_div_u64: increase precision by conditionally swapping a and b kexec: copy only happens before uchunk goes to zero get_signal: don't initialize ksig->info if SIGNAL_GROUP_EXIT/group_exec_task get_signal: hide_si_addr_tag_bits: fix the usage of uninitialized ksig get_signal: don't abuse ksig->info.si_signo and ksig->sig const_structs.checkpatch: add device_type Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" dyndbg: replace kstrdup() + strchr() with kstrdup_and_replace() list: leverage list_is_head() for list_entry_is_head() nilfs2: MAINTAINERS: drop unreachable project mirror site smp: make __smp_processor_id() 0-argument macro fat: fix uninitialized field in nostale filehandles ...
2 parents 902861e + 269cdf3 commit e5eb28f

File tree

139 files changed

+1052
-766
lines changed

Some content is hidden

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

139 files changed

+1052
-766
lines changed

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4211,6 +4211,7 @@
42114211
bit 4: print ftrace buffer
42124212
bit 5: print all printk messages in buffer
42134213
bit 6: print all CPUs backtrace (if available in the arch)
4214+
bit 7: print only tasks in uninterruptible (blocked) state
42144215
*Be aware* that this option may print a _lot_ of lines,
42154216
so there are risks of losing older messages in the log.
42164217
Use this option carefully, maybe worth to setup a

Documentation/admin-guide/sysctl/kernel.rst

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,9 @@ default (``MSGMNB``).
594594
``msgmni`` is the maximum number of IPC queues. 32000 by default
595595
(``MSGMNI``).
596596

597+
All of these parameters are set per ipc namespace. The maximum number of bytes
598+
in POSIX message queues is limited by ``RLIMIT_MSGQUEUE``. This limit is
599+
respected hierarchically in the each user namespace.
597600

598601
msg_next_id, sem_next_id, and shm_next_id (System V IPC)
599602
========================================================
@@ -850,6 +853,7 @@ bit 3 print locks info if ``CONFIG_LOCKDEP`` is on
850853
bit 4 print ftrace buffer
851854
bit 5 print all printk messages in buffer
852855
bit 6 print all CPUs backtrace (if available in the arch)
856+
bit 7 print only tasks in uninterruptible (blocked) state
853857
===== ============================================
854858

855859
So for example to print tasks and memory info on panic, user can::
@@ -1274,15 +1278,20 @@ are doing anyway :)
12741278
shmall
12751279
======
12761280

1277-
This parameter sets the total amount of shared memory pages that
1278-
can be used system wide. Hence, ``shmall`` should always be at least
1279-
``ceil(shmmax/PAGE_SIZE)``.
1281+
This parameter sets the total amount of shared memory pages that can be used
1282+
inside ipc namespace. The shared memory pages counting occurs for each ipc
1283+
namespace separately and is not inherited. Hence, ``shmall`` should always be at
1284+
least ``ceil(shmmax/PAGE_SIZE)``.
12801285

12811286
If you are not sure what the default ``PAGE_SIZE`` is on your Linux
12821287
system, you can run the following command::
12831288

12841289
# getconf PAGE_SIZE
12851290

1291+
To reduce or disable the ability to allocate shared memory, you must create a
1292+
new ipc namespace, set this parameter to the required value and prohibit the
1293+
creation of a new ipc namespace in the current user namespace or cgroups can
1294+
be used.
12861295

12871296
shmmax
12881297
======

Documentation/process/changes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ you probably needn't concern yourself with pcmciautils.
3030
Program Minimal version Command to check the version
3131
====================== =============== ========================================
3232
GNU C 5.1 gcc --version
33-
Clang/LLVM (optional) 11.0.0 clang --version
33+
Clang/LLVM (optional) 13.0.1 clang --version
3434
Rust (optional) 1.76.0 rustc --version
3535
bindgen (optional) 0.65.1 bindgen --version
3636
GNU make 3.82 make --version

MAINTAINERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15501,7 +15501,6 @@ M: Ryusuke Konishi <konishi.ryusuke@gmail.com>
1550115501
L: linux-nilfs@vger.kernel.org
1550215502
S: Supported
1550315503
W: https://nilfs.sourceforge.io/
15504-
W: https://nilfs.osdn.jp/
1550515504
T: git https://github.com/konis/nilfs2.git
1550615505
F: Documentation/filesystems/nilfs2.rst
1550715506
F: fs/nilfs2/

Makefile

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -950,14 +950,6 @@ CC_FLAGS_LTO += -fvisibility=hidden
950950

951951
# Limit inlining across translation units to reduce binary size
952952
KBUILD_LDFLAGS += -mllvm -import-instr-limit=5
953-
954-
# Check for frame size exceeding threshold during prolog/epilog insertion
955-
# when using lld < 13.0.0.
956-
ifneq ($(CONFIG_FRAME_WARN),0)
957-
ifeq ($(call test-lt, $(CONFIG_LLD_VERSION), 130000),y)
958-
KBUILD_LDFLAGS += -plugin-opt=-warn-stack-size=$(CONFIG_FRAME_WARN)
959-
endif
960-
endif
961953
endif
962954

963955
ifdef CONFIG_LTO

arch/arm/include/asm/current.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,12 @@ static __always_inline __attribute_const__ struct task_struct *get_current(void)
1818
{
1919
struct task_struct *cur;
2020

21-
#if __has_builtin(__builtin_thread_pointer) && \
22-
defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO) && \
23-
!(defined(CONFIG_THUMB2_KERNEL) && \
24-
defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 130001)
21+
#if __has_builtin(__builtin_thread_pointer) && defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO)
2522
/*
2623
* Use the __builtin helper when available - this results in better
2724
* code, especially when using GCC in combination with the per-task
2825
* stack protector, as the compiler will recognize that it needs to
2926
* load the TLS register only once in every function.
30-
*
31-
* Clang < 13.0.1 gets this wrong for Thumb2 builds:
32-
* https://github.com/ClangBuiltLinux/linux/issues/1485
3327
*/
3428
cur = __builtin_thread_pointer();
3529
#elif defined(CONFIG_CURRENT_POINTER_IN_TPIDRURO) || defined(CONFIG_SMP)

arch/arm64/Kconfig

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -379,8 +379,8 @@ config BROKEN_GAS_INST
379379
config BUILTIN_RETURN_ADDRESS_STRIPS_PAC
380380
bool
381381
# Clang's __builtin_return_adddress() strips the PAC since 12.0.0
382-
# https://reviews.llvm.org/D75044
383-
default y if CC_IS_CLANG && (CLANG_VERSION >= 120000)
382+
# https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2
383+
default y if CC_IS_CLANG
384384
# GCC's __builtin_return_address() strips the PAC since 11.1.0,
385385
# and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
386386
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891
@@ -1387,7 +1387,6 @@ choice
13871387

13881388
config CPU_BIG_ENDIAN
13891389
bool "Build big-endian kernel"
1390-
depends on !LD_IS_LLD || LLD_VERSION >= 130000
13911390
# https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
13921391
depends on AS_IS_GNU || AS_VERSION >= 150000
13931392
help
@@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL
20182017
depends on !CC_IS_GCC || GCC_VERSION >= 100100
20192018
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
20202019
depends on !CC_IS_GCC
2021-
# https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
2022-
depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
20232020
depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS)
20242021
help
20252022
Build the kernel with Branch Target Identification annotations
@@ -2222,7 +2219,7 @@ config STACKPROTECTOR_PER_TASK
22222219

22232220
config UNWIND_PATCH_PAC_INTO_SCS
22242221
bool "Enable shadow call stack dynamically using code patching"
2225-
# needs Clang with https://reviews.llvm.org/D111780 incorporated
2222+
# needs Clang with https://github.com/llvm/llvm-project/commit/de07cde67b5d205d58690be012106022aea6d2b3 incorporated
22262223
depends on CC_IS_CLANG && CLANG_VERSION >= 150000
22272224
depends on ARM64_PTR_AUTH_KERNEL && CC_HAS_BRANCH_PROT_PAC_RET
22282225
depends on SHADOW_CALL_STACK

arch/powerpc/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,6 @@ config PANIC_TIMEOUT
333333
config COMPAT
334334
bool "Enable support for 32bit binaries"
335335
depends on PPC64
336-
depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
337336
default y if !CPU_LITTLE_ENDIAN
338337
select ARCH_WANT_OLD_COMPAT_IPC
339338
select COMPAT_OLD_SIGACTION

arch/powerpc/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,11 @@ CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mno-pointers-to-nested-functions)
144144
CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mlong-double-128)
145145

146146
# Clang unconditionally reserves r2 on ppc32 and does not support the flag
147-
# https://bugs.llvm.org/show_bug.cgi?id=39555
147+
# https://llvm.org/pr39555
148148
CFLAGS-$(CONFIG_PPC32) := $(call cc-option, -ffixed-r2)
149149

150150
# Clang doesn't support -mmultiple / -mno-multiple
151-
# https://bugs.llvm.org/show_bug.cgi?id=39556
151+
# https://llvm.org/pr39556
152152
CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD))
153153

154154
CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata)

arch/powerpc/kvm/book3s_hv_nested.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr)
5555
hr->dawrx1 = vcpu->arch.dawrx1;
5656
}
5757

58-
/* Use noinline_for_stack due to https://bugs.llvm.org/show_bug.cgi?id=49610 */
58+
/* Use noinline_for_stack due to https://llvm.org/pr49610 */
5959
static noinline_for_stack void byteswap_pt_regs(struct pt_regs *regs)
6060
{
6161
unsigned long *addr = (unsigned long *) regs;

0 commit comments

Comments
 (0)