Skip to content

Commit

Permalink
Merge tag 'v6.6.13' into 6.6-main
Browse files Browse the repository at this point in the history
This is the 6.6.13 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmWrpc4ACgkQONu9yGCS
# aT7tIBAAh00Z8f/1e9zpdliC48VxHCS2ffltLxaboJZYdGXmfcQWVZUw/EbPvYII
# rvBihBrsymr8ehCv6El3ukwrCZkuJ7eKiSFjR3A4d9yENerdQFr5L96IGU3MbP19
# YQ9RxpIjvoykwhvC2CiDXnvxmw3zXjSuAhJDvkq9qCLlcGq7ioPWtlM1QfKmNpXe
# OuFiQYqh53U7pR1KtzPAHyZIWcgc23oexgBhL+V2A+RGM8yymyJe3oO3q4L33ttn
# SHC+79xeUx4fMEWSOhKo6B0D4ma3Y+gs53mkYhHEdtBTQNGJv8d2JpX4TvcT356i
# tD9AQxff4bdynMC/lXA/kzzNt905FFxmPIflpYLLglWL3z/sG9QDidxEPWLOAGMY
# HZhRdnpE9fXCXBFZ588l8ghpMfmO2IS/r+LNMtbx9eNYkDm+mz42UhvqfWr4IRBU
# b9AgzDPADv43EQdmZaIFFwK0DEP7dvtoy6/IkpkunLvkfkhma1n4FxvpgdBb0PDp
# p3n5SfJv1EermKhvHrIuFa49L+CRtnQMijRDU1HEzMzW988sGTKt+xaDOokid5Y0
# 46nf9Gz+QfbqWeX15vnscTz6ioLsqAw12KKwMQu14GYs+ETKVgO+q4wjQaOjtczK
# s7UkJg4J3wKQ0kHwmbBlsW7JnaNL9X0ZUYx7aI/USbnTKC9mny8=
# =B4NK
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat Jan 20 11:51:58 2024 CET
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key
  • Loading branch information
frank-w committed Jan 26, 2024
2 parents be4c3a1 + 62b19b5 commit ae01d13
Show file tree
Hide file tree
Showing 171 changed files with 1,572 additions and 769 deletions.
2 changes: 1 addition & 1 deletion Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 12
SUBLEVEL = 13
EXTRAVERSION =
NAME = Hurr durr I'ma ninja sloth

Expand Down
4 changes: 1 addition & 3 deletions arch/arc/kernel/setup.c
Expand Up @@ -153,7 +153,7 @@ static int arcv2_mumbojumbo(int c, struct cpuinfo_arc *info, char *buf, int len)
{
int n = 0;
#ifdef CONFIG_ISA_ARCV2
const char *release, *cpu_nm, *isa_nm = "ARCv2";
const char *release = "", *cpu_nm = "HS38", *isa_nm = "ARCv2";
int dual_issue = 0, dual_enb = 0, mpy_opt, present;
int bpu_full, bpu_cache, bpu_pred, bpu_ret_stk;
char mpy_nm[16], lpb_nm[32];
Expand All @@ -172,8 +172,6 @@ static int arcv2_mumbojumbo(int c, struct cpuinfo_arc *info, char *buf, int len)
* releases only update it.
*/

cpu_nm = "HS38";

if (info->arcver > 0x50 && info->arcver <= 0x53) {
release = arc_hs_rel[info->arcver - 0x51].str;
} else {
Expand Down
6 changes: 3 additions & 3 deletions arch/arc/kernel/signal.c
Expand Up @@ -62,7 +62,7 @@ struct rt_sigframe {
unsigned int sigret_magic;
};

static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
static int save_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
{
int err = 0;
#ifndef CONFIG_ISA_ARCOMPACT
Expand All @@ -75,12 +75,12 @@ static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
#else
v2abi.r58 = v2abi.r59 = 0;
#endif
err = __copy_to_user(&mctx->v2abi, &v2abi, sizeof(v2abi));
err = __copy_to_user(&mctx->v2abi, (void const *)&v2abi, sizeof(v2abi));
#endif
return err;
}

static int restore_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
static int restore_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
{
int err = 0;
#ifndef CONFIG_ISA_ARCOMPACT
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-sunxi/mc_smp.c
Expand Up @@ -803,12 +803,12 @@ static int __init sunxi_mc_smp_init(void)
for (i = 0; i < ARRAY_SIZE(sunxi_mc_smp_data); i++) {
ret = of_property_match_string(node, "enable-method",
sunxi_mc_smp_data[i].enable_method);
if (!ret)
if (ret >= 0)
break;
}

of_node_put(node);
if (ret)
if (ret < 0)
return -ENODEV;

is_a83t = sunxi_mc_smp_data[i].is_a83t;
Expand Down
3 changes: 1 addition & 2 deletions arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
Expand Up @@ -509,8 +509,7 @@ ap_i2c_tp: &i2c5 {
&pci_rootport {
mvl_wifi: wifi@0,0 {
compatible = "pci1b4b,2b42";
reg = <0x83010000 0x0 0x00000000 0x0 0x00100000
0x83010000 0x0 0x00100000 0x0 0x00100000>;
reg = <0x0000 0x0 0x0 0x0 0x0>;
interrupt-parent = <&gpio0>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts
Expand Up @@ -34,8 +34,8 @@
&pci_rootport {
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0x00010000 0x0 0x00000000 0x0 0x00000000>,
<0x03010010 0x0 0x00000000 0x0 0x00200000>;
reg = <0x00000000 0x0 0x00000000 0x0 0x00000000>,
<0x03000010 0x0 0x00000000 0x0 0x00200000>;
qcom,ath10k-calibration-variant = "GO_DUMO";
};
};
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
Expand Up @@ -489,6 +489,7 @@ ap_i2c_audio: &i2c8 {
#address-cells = <3>;
#size-cells = <2>;
ranges;
device_type = "pci";
};
};

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/rockchip/rk356x.dtsi
Expand Up @@ -970,7 +970,7 @@
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "sys", "pmc", "msi", "legacy", "err";
interrupt-names = "sys", "pmc", "msg", "legacy", "err";
bus-range = <0x0 0xf>;
clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
<&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
Expand Down
4 changes: 0 additions & 4 deletions arch/arm64/include/asm/syscall_wrapper.h
Expand Up @@ -44,9 +44,6 @@
return sys_ni_syscall(); \
}

#define COMPAT_SYS_NI(name) \
SYSCALL_ALIAS(__arm64_compat_sys_##name, sys_ni_posix_timers);

#endif /* CONFIG_COMPAT */

#define __SYSCALL_DEFINEx(x, name, ...) \
Expand Down Expand Up @@ -82,6 +79,5 @@
}

asmlinkage long __arm64_sys_ni_syscall(const struct pt_regs *__unused);
#define SYS_NI(name) SYSCALL_ALIAS(__arm64_sys_##name, sys_ni_posix_timers);

#endif /* __ASM_SYSCALL_WRAPPER_H */
2 changes: 1 addition & 1 deletion arch/loongarch/Makefile
Expand Up @@ -80,7 +80,7 @@ endif

ifeq ($(CONFIG_RELOCATABLE),y)
KBUILD_CFLAGS_KERNEL += -fPIE
LDFLAGS_vmlinux += -static -pie --no-dynamic-linker -z notext
LDFLAGS_vmlinux += -static -pie --no-dynamic-linker -z notext $(call ld-option, --apply-dynamic-relocs)
endif

cflags-y += $(call cc-option, -mno-check-zero-division)
Expand Down
2 changes: 1 addition & 1 deletion arch/loongarch/include/asm/efi.h
Expand Up @@ -32,6 +32,6 @@ static inline unsigned long efi_get_kimg_min_align(void)

#define EFI_KIMG_PREFERRED_ADDRESS PHYSADDR(VMLINUX_LOAD_ADDRESS)

unsigned long kernel_entry_address(void);
unsigned long kernel_entry_address(unsigned long kernel_addr);

#endif /* _ASM_LOONGARCH_EFI_H */
2 changes: 1 addition & 1 deletion arch/loongarch/include/asm/elf.h
Expand Up @@ -293,7 +293,7 @@ extern const char *__elf_platform;
#define ELF_PLAT_INIT(_r, load_addr) do { \
_r->regs[1] = _r->regs[2] = _r->regs[3] = _r->regs[4] = 0; \
_r->regs[5] = _r->regs[6] = _r->regs[7] = _r->regs[8] = 0; \
_r->regs[9] = _r->regs[10] = _r->regs[11] = _r->regs[12] = 0; \
_r->regs[9] = _r->regs[10] /* syscall n */ = _r->regs[12] = 0; \
_r->regs[13] = _r->regs[14] = _r->regs[15] = _r->regs[16] = 0; \
_r->regs[17] = _r->regs[18] = _r->regs[19] = _r->regs[20] = 0; \
_r->regs[21] = _r->regs[22] = _r->regs[23] = _r->regs[24] = 0; \
Expand Down
2 changes: 1 addition & 1 deletion arch/loongarch/kernel/stacktrace.c
Expand Up @@ -32,7 +32,7 @@ void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie,
}

for (unwind_start(&state, task, regs);
!unwind_done(&state) && !unwind_error(&state); unwind_next_frame(&state)) {
!unwind_done(&state); unwind_next_frame(&state)) {
addr = unwind_get_return_address(&state);
if (!addr || !consume_entry(cookie, addr))
break;
Expand Down
1 change: 0 additions & 1 deletion arch/loongarch/kernel/unwind.c
Expand Up @@ -28,6 +28,5 @@ bool default_next_frame(struct unwind_state *state)

} while (!get_stack_info(state->sp, state->task, info));

state->error = true;
return false;
}
2 changes: 1 addition & 1 deletion arch/loongarch/kernel/unwind_prologue.c
Expand Up @@ -227,7 +227,7 @@ static bool next_frame(struct unwind_state *state)
} while (!get_stack_info(state->sp, state->task, info));

out:
state->error = true;
state->stack_info.type = STACK_TYPE_UNKNOWN;
return false;
}

Expand Down
3 changes: 1 addition & 2 deletions arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
Expand Up @@ -130,8 +130,7 @@
compatible = "pci0014,7a03.0",
"pci0014,7a03",
"pciclass0c0320",
"pciclass0c03",
"loongson, pci-gmac";
"pciclass0c03";

reg = <0x1800 0x0 0x0 0x0 0x0>;
interrupts = <12 IRQ_TYPE_LEVEL_LOW>,
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/boot/dts/loongson/ls7a-pch.dtsi
Expand Up @@ -193,8 +193,7 @@
compatible = "pci0014,7a03.0",
"pci0014,7a03",
"pciclass020000",
"pciclass0200",
"loongson, pci-gmac";
"pciclass0200";

reg = <0x1800 0x0 0x0 0x0 0x0>;
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
Expand Down
5 changes: 0 additions & 5 deletions arch/riscv/include/asm/syscall_wrapper.h
Expand Up @@ -46,9 +46,6 @@ asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *);
return sys_ni_syscall(); \
}

#define COMPAT_SYS_NI(name) \
SYSCALL_ALIAS(__riscv_compat_sys_##name, sys_ni_posix_timers);

#endif /* CONFIG_COMPAT */

#define __SYSCALL_DEFINEx(x, name, ...) \
Expand Down Expand Up @@ -82,6 +79,4 @@ asmlinkage long __riscv_sys_ni_syscall(const struct pt_regs *);
return sys_ni_syscall(); \
}

#define SYS_NI(name) SYSCALL_ALIAS(__riscv_sys_##name, sys_ni_posix_timers);

#endif /* __ASM_SYSCALL_WRAPPER_H */
13 changes: 1 addition & 12 deletions arch/s390/include/asm/syscall_wrapper.h
Expand Up @@ -63,10 +63,6 @@
cond_syscall(__s390x_sys_##name); \
cond_syscall(__s390_sys_##name)

#define SYS_NI(name) \
SYSCALL_ALIAS(__s390x_sys_##name, sys_ni_posix_timers); \
SYSCALL_ALIAS(__s390_sys_##name, sys_ni_posix_timers)

#define COMPAT_SYSCALL_DEFINEx(x, name, ...) \
long __s390_compat_sys##name(struct pt_regs *regs); \
ALLOW_ERROR_INJECTION(__s390_compat_sys##name, ERRNO); \
Expand All @@ -85,15 +81,11 @@

/*
* As some compat syscalls may not be implemented, we need to expand
* COND_SYSCALL_COMPAT in kernel/sys_ni.c and COMPAT_SYS_NI in
* kernel/time/posix-stubs.c to cover this case as well.
* COND_SYSCALL_COMPAT in kernel/sys_ni.c to cover this case as well.
*/
#define COND_SYSCALL_COMPAT(name) \
cond_syscall(__s390_compat_sys_##name)

#define COMPAT_SYS_NI(name) \
SYSCALL_ALIAS(__s390_compat_sys_##name, sys_ni_posix_timers)

#define __S390_SYS_STUBx(x, name, ...) \
long __s390_sys##name(struct pt_regs *regs); \
ALLOW_ERROR_INJECTION(__s390_sys##name, ERRNO); \
Expand Down Expand Up @@ -124,9 +116,6 @@
#define COND_SYSCALL(name) \
cond_syscall(__s390x_sys_##name)

#define SYS_NI(name) \
SYSCALL_ALIAS(__s390x_sys_##name, sys_ni_posix_timers)

#define __S390_SYS_STUBx(x, fullname, name, ...)

#endif /* CONFIG_COMPAT */
Expand Down
34 changes: 4 additions & 30 deletions arch/x86/include/asm/syscall_wrapper.h
Expand Up @@ -86,9 +86,6 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
return sys_ni_syscall(); \
}

#define __SYS_NI(abi, name) \
SYSCALL_ALIAS(__##abi##_##name, sys_ni_posix_timers);

#ifdef CONFIG_X86_64
#define __X64_SYS_STUB0(name) \
__SYS_STUB0(x64, sys_##name)
Expand All @@ -100,13 +97,10 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
#define __X64_COND_SYSCALL(name) \
__COND_SYSCALL(x64, sys_##name)

#define __X64_SYS_NI(name) \
__SYS_NI(x64, sys_##name)
#else /* CONFIG_X86_64 */
#define __X64_SYS_STUB0(name)
#define __X64_SYS_STUBx(x, name, ...)
#define __X64_COND_SYSCALL(name)
#define __X64_SYS_NI(name)
#endif /* CONFIG_X86_64 */

#if defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION)
Expand All @@ -120,13 +114,10 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
#define __IA32_COND_SYSCALL(name) \
__COND_SYSCALL(ia32, sys_##name)

#define __IA32_SYS_NI(name) \
__SYS_NI(ia32, sys_##name)
#else /* CONFIG_X86_32 || CONFIG_IA32_EMULATION */
#define __IA32_SYS_STUB0(name)
#define __IA32_SYS_STUBx(x, name, ...)
#define __IA32_COND_SYSCALL(name)
#define __IA32_SYS_NI(name)
#endif /* CONFIG_X86_32 || CONFIG_IA32_EMULATION */

#ifdef CONFIG_IA32_EMULATION
Expand All @@ -135,8 +126,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
* additional wrappers (aptly named __ia32_sys_xyzzy) which decode the
* ia32 regs in the proper order for shared or "common" syscalls. As some
* syscalls may not be implemented, we need to expand COND_SYSCALL in
* kernel/sys_ni.c and SYS_NI in kernel/time/posix-stubs.c to cover this
* case as well.
* kernel/sys_ni.c to cover this case as well.
*/
#define __IA32_COMPAT_SYS_STUB0(name) \
__SYS_STUB0(ia32, compat_sys_##name)
Expand All @@ -148,14 +138,10 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
#define __IA32_COMPAT_COND_SYSCALL(name) \
__COND_SYSCALL(ia32, compat_sys_##name)

#define __IA32_COMPAT_SYS_NI(name) \
__SYS_NI(ia32, compat_sys_##name)

#else /* CONFIG_IA32_EMULATION */
#define __IA32_COMPAT_SYS_STUB0(name)
#define __IA32_COMPAT_SYS_STUBx(x, name, ...)
#define __IA32_COMPAT_COND_SYSCALL(name)
#define __IA32_COMPAT_SYS_NI(name)
#endif /* CONFIG_IA32_EMULATION */


Expand All @@ -175,13 +161,10 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
#define __X32_COMPAT_COND_SYSCALL(name) \
__COND_SYSCALL(x64, compat_sys_##name)

#define __X32_COMPAT_SYS_NI(name) \
__SYS_NI(x64, compat_sys_##name)
#else /* CONFIG_X86_X32_ABI */
#define __X32_COMPAT_SYS_STUB0(name)
#define __X32_COMPAT_SYS_STUBx(x, name, ...)
#define __X32_COMPAT_COND_SYSCALL(name)
#define __X32_COMPAT_SYS_NI(name)
#endif /* CONFIG_X86_X32_ABI */


Expand Down Expand Up @@ -212,17 +195,12 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);

/*
* As some compat syscalls may not be implemented, we need to expand
* COND_SYSCALL_COMPAT in kernel/sys_ni.c and COMPAT_SYS_NI in
* kernel/time/posix-stubs.c to cover this case as well.
* COND_SYSCALL_COMPAT in kernel/sys_ni.c to cover this case as well.
*/
#define COND_SYSCALL_COMPAT(name) \
__IA32_COMPAT_COND_SYSCALL(name) \
__X32_COMPAT_COND_SYSCALL(name)

#define COMPAT_SYS_NI(name) \
__IA32_COMPAT_SYS_NI(name) \
__X32_COMPAT_SYS_NI(name)

#endif /* CONFIG_COMPAT */

#define __SYSCALL_DEFINEx(x, name, ...) \
Expand All @@ -243,8 +221,8 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
* As the generic SYSCALL_DEFINE0() macro does not decode any parameters for
* obvious reasons, and passing struct pt_regs *regs to it in %rdi does not
* hurt, we only need to re-define it here to keep the naming congruent to
* SYSCALL_DEFINEx() -- which is essential for the COND_SYSCALL() and SYS_NI()
* macros to work correctly.
* SYSCALL_DEFINEx() -- which is essential for the COND_SYSCALL() macro
* to work correctly.
*/
#define SYSCALL_DEFINE0(sname) \
SYSCALL_METADATA(_##sname, 0); \
Expand All @@ -257,10 +235,6 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs);
__X64_COND_SYSCALL(name) \
__IA32_COND_SYSCALL(name)

#define SYS_NI(name) \
__X64_SYS_NI(name) \
__IA32_SYS_NI(name)


/*
* For VSYSCALLS, we need to declare these three syscalls with the new
Expand Down
6 changes: 6 additions & 0 deletions arch/x86/kernel/cpu/microcode/core.c
Expand Up @@ -208,6 +208,11 @@ static int __init save_microcode_in_initrd(void)
struct cpuinfo_x86 *c = &boot_cpu_data;
int ret = -EINVAL;

if (dis_ucode_ldr) {
ret = 0;
goto out;
}

switch (c->x86_vendor) {
case X86_VENDOR_INTEL:
if (c->x86 >= 6)
Expand All @@ -221,6 +226,7 @@ static int __init save_microcode_in_initrd(void)
break;
}

out:
initrd_gone = true;

return ret;
Expand Down

0 comments on commit ae01d13

Please sign in to comment.