Skip to content

Commit d99cba8

Browse files
committed
Merge tag 'v6.6.105' into 6.6-main
This is the 6.6.105 stable release # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjAXE8ACgkQONu9yGCS # aT4E4Q/+KMUsrys70OwSQAXZmAYYvZNic5swqM1gXiEnnBD0q4uVbg9WrcrKXkv0 # htKUUjTPn9R/3uTuKkHE8tO5qXfZq1epjkkSjHohQEvCgc0yTy6ks1ZKcLf8+9q0 # 9x91YvOB7FXy4BDiqqmCHcIP6vggWjduLqdBSic6Qo3ZJ7e6vVr5WjbxD62BlbXZ # oleqKgZHWGPBQUON+dZSQp65i0HQVCIg3SnJwjMLztLv78oPEqbmydrCOUpmU6WU # uKaB2LAjtRiHvjM7DdgdNzckr4XzdGLDkSYxbpPPMTuZN1JgZW9oOayVCjNPbtwn # kpS8epFfWf3Uw/xMkclPgrGN9rbiawD/I4JVvcCaVmfx94PSl8BRv0xWNV3MbLdd # rNwmhUNmfz1FcQyrK3ONGOf83kCKUpT1rqCJr0g/5SbKQw9ejbhstOo/5ofNJlNV # e60AeIGoOKZGAUGl3rqB9kKI4qGK2lMfHEmttS5+TTsBxtGkAgeh1ckfubh6IwOM # 8qLwetQyysraK9gbMEPkVUshmginF3Vzo5XAqVu2wkzljooj3OLKg3vPBCxHBsWP # pOW43JNVHcYoEHBGf4SG999SgJGHVOWHdEtAFgRwe0yQO5mG0/mPXMwmcPwoQ+I8 # Oi0pK273WdQpMLF7eCqQsD+H2hXYVnd3CmLccDpxnVDt5Gid3y8= # =4MDU # -----END PGP SIGNATURE----- # gpg: Signature made Tue Sep 9 18:56:47 2025 CEST # gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E # gpg: Can't check signature: No public key
2 parents bb6a4b9 + fe9731e commit d99cba8

121 files changed

Lines changed: 1354 additions & 835 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.

Documentation/userspace-api/netlink/specs.rst

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,10 +408,21 @@ This section describes the attribute types supported by the ``genetlink``
408408
compatibility level. Refer to documentation of different levels for additional
409409
attribute types.
410410

411-
Scalar integer types
411+
Common integer types
412412
--------------------
413413

414-
Fixed-width integer types:
414+
``sint`` and ``uint`` represent signed and unsigned 64 bit integers.
415+
If the value can fit on 32 bits only 32 bits are carried in netlink
416+
messages, otherwise full 64 bits are carried. Note that the payload
417+
is only aligned to 4B, so the full 64 bit value may be unaligned!
418+
419+
Common integer types should be preferred over fix-width types in majority
420+
of cases.
421+
422+
Fix-width integer types
423+
-----------------------
424+
425+
Fixed-width integer types include:
415426
``u8``, ``u16``, ``u32``, ``u64``, ``s8``, ``s16``, ``s32``, ``s64``.
416427

417428
Note that types smaller than 32 bit should be avoided as using them
@@ -421,6 +432,9 @@ See :ref:`pad_type` for padding of 64 bit attributes.
421432
The payload of the attribute is the integer in host order unless ``byte-order``
422433
specifies otherwise.
423434

435+
64 bit values are usually aligned by the kernel but it is recommended
436+
that the user space is able to deal with unaligned values.
437+
424438
.. _pad_type:
425439

426440
pad

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 6
4-
SUBLEVEL = 104
4+
SUBLEVEL = 105
55
EXTRAVERSION =
66
NAME = Pinguïn Aangedreven
77

arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@
442442
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
443443
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
444444
vmmc-supply = <&reg_usdhc2_vmmc>;
445+
vqmmc-supply = <&ldo5>;
445446
bus-width = <4>;
446447
status = "okay";
447448
};

arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,7 @@
571571
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
572572
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
573573
vmmc-supply = <&reg_usdhc2_vmmc>;
574+
vqmmc-supply = <&ldo5>;
574575
bus-width = <4>;
575576
status = "okay";
576577
};

arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -967,6 +967,7 @@
967967
reg = <0>;
968968
m25p,fast-read;
969969
spi-max-frequency = <10000000>;
970+
vcc-supply = <&vcc_3v0>;
970971
};
971972
};
972973

arch/arm64/include/asm/module.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ struct mod_arch_specific {
1919

2020
/* for CONFIG_DYNAMIC_FTRACE */
2121
struct plt_entry *ftrace_trampolines;
22+
struct plt_entry *init_ftrace_trampolines;
2223
};
2324

2425
u64 module_emit_plt_entry(struct module *mod, Elf64_Shdr *sechdrs,

arch/arm64/include/asm/module.lds.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ SECTIONS {
22
.plt 0 : { BYTE(0) }
33
.init.plt 0 : { BYTE(0) }
44
.text.ftrace_trampoline 0 : { BYTE(0) }
5+
.init.text.ftrace_trampoline 0 : { BYTE(0) }
56

67
#ifdef CONFIG_KASAN_SW_TAGS
78
/*

arch/arm64/kernel/ftrace.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,17 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
195195
return ftrace_modify_code(pc, 0, new, false);
196196
}
197197

198-
static struct plt_entry *get_ftrace_plt(struct module *mod)
198+
static struct plt_entry *get_ftrace_plt(struct module *mod, unsigned long addr)
199199
{
200200
#ifdef CONFIG_MODULES
201-
struct plt_entry *plt = mod->arch.ftrace_trampolines;
201+
struct plt_entry *plt = NULL;
202+
203+
if (within_module_mem_type(addr, mod, MOD_INIT_TEXT))
204+
plt = mod->arch.init_ftrace_trampolines;
205+
else if (within_module_mem_type(addr, mod, MOD_TEXT))
206+
plt = mod->arch.ftrace_trampolines;
207+
else
208+
return NULL;
202209

203210
return &plt[FTRACE_PLT_IDX];
204211
#else
@@ -270,7 +277,7 @@ static bool ftrace_find_callable_addr(struct dyn_ftrace *rec,
270277
if (WARN_ON(!mod))
271278
return false;
272279

273-
plt = get_ftrace_plt(mod);
280+
plt = get_ftrace_plt(mod, pc);
274281
if (!plt) {
275282
pr_err("ftrace: no module PLT for %ps\n", (void *)*addr);
276283
return false;

arch/arm64/kernel/module-plts.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,
284284
unsigned long core_plts = 0;
285285
unsigned long init_plts = 0;
286286
Elf64_Sym *syms = NULL;
287-
Elf_Shdr *pltsec, *tramp = NULL;
287+
Elf_Shdr *pltsec, *tramp = NULL, *init_tramp = NULL;
288288
int i;
289289

290290
/*
@@ -299,6 +299,9 @@ int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,
299299
else if (!strcmp(secstrings + sechdrs[i].sh_name,
300300
".text.ftrace_trampoline"))
301301
tramp = sechdrs + i;
302+
else if (!strcmp(secstrings + sechdrs[i].sh_name,
303+
".init.text.ftrace_trampoline"))
304+
init_tramp = sechdrs + i;
302305
else if (sechdrs[i].sh_type == SHT_SYMTAB)
303306
syms = (Elf64_Sym *)sechdrs[i].sh_addr;
304307
}
@@ -364,5 +367,12 @@ int module_frob_arch_sections(Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,
364367
tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry);
365368
}
366369

370+
if (init_tramp) {
371+
init_tramp->sh_type = SHT_NOBITS;
372+
init_tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
373+
init_tramp->sh_addralign = __alignof__(struct plt_entry);
374+
init_tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry);
375+
}
376+
367377
return 0;
368378
}

arch/arm64/kernel/module.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,17 @@ static int module_init_ftrace_plt(const Elf_Ehdr *hdr,
579579
__init_plt(&plts[FTRACE_PLT_IDX], FTRACE_ADDR);
580580

581581
mod->arch.ftrace_trampolines = plts;
582+
583+
s = find_section(hdr, sechdrs, ".init.text.ftrace_trampoline");
584+
if (!s)
585+
return -ENOEXEC;
586+
587+
plts = (void *)s->sh_addr;
588+
589+
__init_plt(&plts[FTRACE_PLT_IDX], FTRACE_ADDR);
590+
591+
mod->arch.init_ftrace_trampolines = plts;
592+
582593
#endif
583594
return 0;
584595
}

0 commit comments

Comments
 (0)