Linux 6.1.51
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.1.51 kernel.
All users of the 6.1 kernel series must upgrade.
The updated 6.1.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/admin-guide/kernel-parameters.txt | 4 Makefile | 2 arch/arm/kernel/module-plts.c | 2 arch/arm64/kernel/module-plts.c | 3 arch/parisc/kernel/sys_parisc.c | 169 +++++++++--------------- arch/x86/include/asm/sections.h | 18 -- drivers/acpi/thermal.c | 6 drivers/thunderbolt/tmu.c | 1 include/linux/moduleloader.h | 5 io_uring/io_uring.c | 46 ++++++ kernel/kallsyms.c | 17 -- kernel/locking/lockdep.c | 36 +---- kernel/module/main.c | 2 13 files changed, 144 insertions(+), 167 deletions(-)
Arnd Bergmann (1):
arm64: module-plts: inline linux/moduleloader.h
Greg Kroah-Hartman (1):
Linux 6.1.51
Helge Deller (3):
lockdep: fix static memory detection even more
parisc: sys_parisc: parisc_personality() is called from asm code io_uring/parisc: Adjust pgoff in io_uring mmap() for parisc
James Morse (3):
module: Expose module_init_layout_section()
arm64: module: Use module_init_layout_section() to spot init sections
ARM: module: Use module_init_layout_section() to spot init sections
John David Anglin (1):
parisc: Cleanup mmap implementation regarding color alignment
Mario Limonciello (2):
ACPI: thermal: Drop nocrt parameter
thunderbolt: Fix a backport error for display flickering issue
Yonghong Song (1):
kallsyms: Fix kallsyms_selftest failure
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/kernel-parameters.txt +0 -4
@@ -6164,10 +6164,6 @@ -1: disable all critical trip points in all thermal zones <degrees C>: override all critical trip points - thermal.nocrt= [HW,ACPI] - Set to disable actions on ACPI thermal zone - critical and hot trip points. - thermal.off= [HW,ACPI] 1: disable ACPI thermal control
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 1 -SUBLEVEL = 50 +SUBLEVEL = 51 EXTRAVERSION = NAME = Curry Ramen
arch/arm/kernel/module-plts.c +1 -1
@@ -256,7 +256,7 @@ int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,/* sort by type and symbol index */ sort (rels, numrels,sizeof (Elf32_Rel), cmp_rel,NULL ); -if (strncmp (secstrings + dstsec->sh_name,".init" ,5 ) !=0 ) +if (!module_init_layout_section (secstrings + dstsec->sh_name)) core_plts +=count_plts (syms, dstsec->sh_addr, rels, numrels, s->sh_info);else
arch/arm64/kernel/module-plts.c +2 -1
@@ -7,6 +7,7 @@#include <linux/ftrace.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/moduleloader.h> #include <linux/sort.h> static struct plt_entry __get_adrp_add_pair(u64 dst, u64 pc,
@@ -343,7 +344,7 @@ int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,if (nents)sort (rels, nents,sizeof (Elf64_Rela), cmp_rela,NULL ); -if (!str_has_prefix (secstrings + dstsec->sh_name,".init" )) +if (!module_init_layout_section (secstrings + dstsec->sh_name)) core_plts +=count_plts (syms, rels, numrels, sechdrs[i].sh_info, dstsec);else
arch/parisc/kernel/sys_parisc.c +65 -104
230 lines not on this page · raw message
arch/x86/include/asm/sections.h +0 -18
@@ -2,8 +2,6 @@#ifndef _ASM_X86_SECTIONS_H#define _ASM_X86_SECTIONS_H -#define arch_is_kernel_initmem_freed arch_is_kernel_initmem_freed -#include <asm-generic/sections.h> #include <asm/extable.h>
@@ -18,20 +16,4 @@ extern char __end_of_kernel_reserve[];extern unsigned long _brk_start, _brk_end; -static inline bool arch_is_kernel_initmem_freed (unsigned long addr) -{ -/* -* If _brk_start has not been cleared, brk allocation is incomplete, -* and we can not make assumptions about its use. -*/ -if (_brk_start) -return 0 ; - -/* -* After brk allocation is complete, space between _brk_end and _end -* is available for allocation. -*/ -return addr >= _brk_end && addr < (unsigned long )&_end; -} -#endif /* _ASM_X86_SECTIONS_H */
drivers/acpi/thermal.c +1 -5
@@ -59,10 +59,6 @@ static int tzp;module_param (tzp, int,0444 );MODULE_PARM_DESC (tzp,"Thermal zone polling frequency, in 1/10 seconds." ); -static int nocrt; -module_param (nocrt, int,0 ); -MODULE_PARM_DESC (nocrt,"Set to take no action upon ACPI thermal zone critical trips points." ); -static int off;module_param (off, int,0 );MODULE_PARM_DESC (off,"Set to disable ACPI thermal support." );
@@ -1128,7 +1124,7 @@ static int thermal_act(const struct dmi_system_id *d) {static int thermal_nocrt (const struct dmi_system_id *d) {pr_notice ("%s detected: disabling all critical thermal trip point actions.\n" , d->ident); - nocrt =1 ; + crt =-1 ;return 0 ; }static int thermal_tzp (const struct dmi_system_id *d) {
drivers/thunderbolt/tmu.c +1 -0
@@ -416,6 +416,7 @@ int tb_switch_tmu_disable(struct tb_switch *sw)* mode. */ ret =tb_switch_tmu_rate_write (sw,TB_SWITCH_TMU_RATE_OFF ); +if (ret)return ret;tb_port_tmu_time_sync_disable (up);
include/linux/moduleloader.h +5 -0
@@ -39,6 +39,11 @@ bool module_init_section(const char *name);*/ bool module_exit_section (const char *name); +/* Describes whether within_module_init() will consider this an init section +* or not. This behaviour changes with CONFIG_MODULE_UNLOAD. +*/ +bool module_init_layout_section (const char *sname); +/* * Apply the given relocation to the (simplified) ELF. Return -error * or 0.
io_uring/io_uring.c +46 -0
64 lines not on this page · raw message
kernel/kallsyms.c +7 -10
@@ -188,16 +188,13 @@ static bool cleanup_symbol_name(char *s)static int compare_symbol_name (const char *name,char *namebuf) { -int ret; - - ret =strcmp (name, namebuf); -if (!ret) -return ret; - -if (cleanup_symbol_name (namebuf) && !strcmp (name, namebuf)) -return 0 ; - -return ret; +/* The kallsyms_seqs_of_names is sorted based on names after +* cleanup_symbol_name() (see scripts/kallsyms.c) if clang lto is enabled. +* To ensure correct bisection in kallsyms_lookup_names(), do +* cleanup_symbol_name(namebuf) before comparing name and namebuf. +*/ +cleanup_symbol_name (namebuf); +return strcmp (name, namebuf); } static int kallsyms_lookup_names(const char *name,
kernel/locking/lockdep.c +14 -22
@@ -817,34 +817,26 @@ static int very_verbose(struct lock_class *class)* Is this the address of a static object: */ #ifdef __KERNEL__ -/* -* Check if an address is part of freed initmem. After initmem is freed, -* memory can be allocated from it, and such allocations would then have -* addresses within the range [_stext, _end]. -*/ -#ifndef arch_is_kernel_initmem_freed -static int arch_is_kernel_initmem_freed (unsigned long addr) -{ -if (system_state <SYSTEM_FREEING_INITMEM ) -return 0 ; - -return init_section_contains ((void *)addr,1 ); -} -#endif -static int static_obj (const void *obj) { -unsigned long start = (unsigned long ) &_stext, - end = (unsigned long ) &_end, - addr = (unsigned long ) obj; +unsigned long addr = (unsigned long ) obj; -if (arch_is_kernel_initmem_freed (addr)) -return 0 ; +if (is_kernel_core_data (addr)) +return 1 ; + +/* +* keys are allowed in the __ro_after_init section. +*/ +if (is_kernel_rodata (addr)) +return 1 ;/* -* static variable? +* in initdata section and used during bootup only? +* NOTE: On some platforms the initdata section is +* outside of the _stext ... _end range. */ -if ((addr >= start) && (addr < end)) +if (system_state <SYSTEM_FREEING_INITMEM && +init_section_contains ((void *)addr,1 ))return 1 ;/*
kernel/module/main.c +1 -1
@@ -1401,7 +1401,7 @@ long module_get_offset(struct module *mod, unsigned int *size,return ret; } -static bool module_init_layout_section (const char *sname) +bool module_init_layout_section (const char *sname) {#ifndef CONFIG_MODULE_UNLOAD if (module_exit_section (sname))