Skip to content

Commit 15c4cb3

Browse files
committed
Merge tag 'v6.12.49' into 6.12-main
This is the 6.12.49 stable release # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjVCE8ACgkQONu9yGCS # aT4Qvw/7BhxA990hSwCzWoc1ry3EPKFbimnJhbek5DxPAEIvO86nUEkLg+WB56Qa # LHhkpj4rAYdHjChwxrtZEnWtbtGOtOcN6XsjJfbqyWt9Ah1zQdC0b7aWIMiqqH8T # uYoJZgCQKUdK8F6kPNjePuczZkLFxpsb/Ojy0BkTP+Ccer/vWWofA+ji87YNKS4w # W/vuuhQtFsRTcTMBYnq8/5+TGudX/GviSqVtehzChfoGnJdpbHJAFhEeuk6P1cKI # 3d/RbLsYDeKcfiWkTF3uLnC0xCOM9SbS7zTFIlbMij50hnxTqjWH1aJz8GLwIadp # sn/UU9DeT9VPbuv4nJ/dXK972ZIkSFK6v1Yx1t32NsC9dD/ld2x0vET8Wl5zFti6 # vMJfi3jMLEylRJaFa4X32ufEXuBK/mKGfQ/IEk2Eq3BUXWzvNa5igsS9uiDi1STz # IP1KGimewt/Jjlbxys+27SBIWwS/94O0pZPQm62mRPdxxIi/yFMH+34LpW+BpKob # nNhSX/Kv07z2qq8B5MGUy8FVtMhlroJvb2HrGavs3YFHHKQsTE7FauJKVjWEFMgo # ZEHM+6eg4YQNIuoKLQfbBSmMA2AhqfXJdJHLvZAFMe8U3x4X9uCCiStovJiv4fOF # TJb8+yi6t4Fx8oe5SBnhgvVWBD6zffYJKVF+WZ9/B6A7Ft5NPio= # =IZTm # -----END PGP SIGNATURE----- # gpg: Signature made Thu Sep 25 11:15:59 2025 CEST # gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E # gpg: Can't check signature: No public key
2 parents 55d3108 + da27436 commit 15c4cb3

File tree

118 files changed

+1062
-564
lines changed

Some content is hidden

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

118 files changed

+1062
-564
lines changed

Documentation/admin-guide/hw-vuln/srso.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,20 @@ The possible values in this file are:
104104

105105
(spec_rstack_overflow=ibpb-vmexit)
106106

107+
* 'Mitigation: Reduced Speculation':
107108

109+
This mitigation gets automatically enabled when the above one "IBPB on
110+
VMEXIT" has been selected and the CPU supports the BpSpecReduce bit.
111+
112+
It gets automatically enabled on machines which have the
113+
SRSO_USER_KERNEL_NO=1 CPUID bit. In that case, the code logic is to switch
114+
to the above =ibpb-vmexit mitigation because the user/kernel boundary is
115+
not affected anymore and thus "safe RET" is not needed.
116+
117+
After enabling the IBPB on VMEXIT mitigation option, the BpSpecReduce bit
118+
is detected (functionality present on all such machines) and that
119+
practically overrides IBPB on VMEXIT as it has a lot less performance
120+
impact and takes care of the guest->host attack vector too.
108121

109122
In order to exploit vulnerability, an attacker needs to:
110123

Documentation/netlink/specs/mptcp_pm.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ definitions:
2828
traffic-patterns it can take a long time until the
2929
MPTCP_EVENT_ESTABLISHED is sent.
3030
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
31-
dport, server-side.
31+
dport, server-side, [flags].
3232
-
3333
name: established
3434
doc: >-
3535
A MPTCP connection is established (can start new subflows).
3636
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
37-
dport, server-side.
37+
dport, server-side, [flags].
3838
-
3939
name: closed
4040
doc: >-

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 = 12
4-
SUBLEVEL = 48
4+
SUBLEVEL = 49
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

arch/loongarch/Kconfig

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -540,10 +540,14 @@ config ARCH_STRICT_ALIGN
540540
-mstrict-align build parameter to prevent unaligned accesses.
541541

542542
CPUs with h/w unaligned access support:
543-
Loongson-2K2000/2K3000/3A5000/3C5000/3D5000.
543+
Loongson-2K2000/2K3000 and all of Loongson-3 series processors
544+
based on LoongArch.
544545

545546
CPUs without h/w unaligned access support:
546-
Loongson-2K500/2K1000.
547+
Loongson-2K0300/2K0500/2K1000.
548+
549+
If you want to make sure whether to support unaligned memory access
550+
on your hardware, please read the bit 20 (UAL) of CPUCFG1 register.
547551

548552
This option is enabled by default to make the kernel be able to run
549553
on all LoongArch systems. But you can disable it manually if you want

arch/loongarch/include/asm/acenv.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
#ifndef _ASM_LOONGARCH_ACENV_H
1111
#define _ASM_LOONGARCH_ACENV_H
1212

13-
/*
14-
* This header is required by ACPI core, but we have nothing to fill in
15-
* right now. Will be updated later when needed.
16-
*/
13+
#ifdef CONFIG_ARCH_STRICT_ALIGN
14+
#define ACPI_MISALIGNMENT_NOT_SUPPORTED
15+
#endif /* CONFIG_ARCH_STRICT_ALIGN */
1716

1817
#endif /* _ASM_LOONGARCH_ACENV_H */

arch/loongarch/kernel/env.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ static int __init boardinfo_init(void)
109109
struct kobject *loongson_kobj;
110110

111111
loongson_kobj = kobject_create_and_add("loongson", firmware_kobj);
112+
if (!loongson_kobj)
113+
return -ENOMEM;
112114

113115
return sysfs_create_file(loongson_kobj, &boardinfo_attr.attr);
114116
}

arch/loongarch/kernel/stacktrace.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,13 @@ int arch_stack_walk_reliable(stack_trace_consume_fn consume_entry,
5151
if (task == current) {
5252
regs->regs[3] = (unsigned long)__builtin_frame_address(0);
5353
regs->csr_era = (unsigned long)__builtin_return_address(0);
54+
regs->regs[22] = 0;
5455
} else {
5556
regs->regs[3] = thread_saved_fp(task);
5657
regs->csr_era = thread_saved_ra(task);
58+
regs->regs[22] = task->thread.reg22;
5759
}
5860
regs->regs[1] = 0;
59-
regs->regs[22] = 0;
6061

6162
for (unwind_start(&state, task, regs);
6263
!unwind_done(&state) && !unwind_error(&state); unwind_next_frame(&state)) {

arch/loongarch/kernel/vdso.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ static int __init init_vdso(void)
108108
vdso_info.code_mapping.pages =
109109
kcalloc(vdso_info.size / PAGE_SIZE, sizeof(struct page *), GFP_KERNEL);
110110

111+
if (!vdso_info.code_mapping.pages)
112+
return -ENOMEM;
113+
111114
pfn = __phys_to_pfn(__pa_symbol(vdso_info.vdso));
112115
for (i = 0; i < vdso_info.size / PAGE_SIZE; i++)
113116
vdso_info.code_mapping.pages[i] = pfn_to_page(pfn + i);

arch/um/drivers/virtio_uml.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,10 +1231,12 @@ static int virtio_uml_probe(struct platform_device *pdev)
12311231
device_set_wakeup_capable(&vu_dev->vdev.dev, true);
12321232

12331233
rc = register_virtio_device(&vu_dev->vdev);
1234-
if (rc)
1234+
if (rc) {
12351235
put_device(&vu_dev->vdev.dev);
1236+
return rc;
1237+
}
12361238
vu_dev->registered = 1;
1237-
return rc;
1239+
return 0;
12381240

12391241
error_init:
12401242
os_close_file(vu_dev->sock);

arch/um/os-Linux/file.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ ssize_t os_rcv_fd_msg(int fd, int *fds, unsigned int n_fds,
556556
cmsg->cmsg_type != SCM_RIGHTS)
557557
return n;
558558

559-
memcpy(fds, CMSG_DATA(cmsg), cmsg->cmsg_len);
559+
memcpy(fds, CMSG_DATA(cmsg), cmsg->cmsg_len - CMSG_LEN(0));
560560
return n;
561561
}
562562

0 commit comments

Comments
 (0)