Skip to content

Commit 9850d04

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.6.y' into rpi-6.6.y
2 parents 264fd53 + 4c1a2d4 commit 9850d04

File tree

275 files changed

+2600
-1534
lines changed

Some content is hidden

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

275 files changed

+2600
-1534
lines changed

Documentation/admin-guide/cifs/usage.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ SecurityFlags Flags which control security negotiation and
741741
may use NTLMSSP 0x00080
742742
must use NTLMSSP 0x80080
743743
seal (packet encryption) 0x00040
744-
must seal (not implemented yet) 0x40040
744+
must seal 0x40040
745745

746746
cifsFYI If set to non-zero value, additional debug information
747747
will be logged to the system error log. This field

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -664,12 +664,6 @@
664664
loops can be debugged more effectively on production
665665
systems.
666666

667-
clocksource.max_cswd_read_retries= [KNL]
668-
Number of clocksource_watchdog() retries due to
669-
external delays before the clock will be marked
670-
unstable. Defaults to two retries, that is,
671-
three attempts to read the clock under test.
672-
673667
clocksource.verify_n_cpus= [KNL]
674668
Limit the number of CPUs checked for clocksources
675669
marked with CLOCK_SOURCE_VERIFY_PERCPU that
@@ -4655,11 +4649,9 @@
46554649

46564650
profile= [KNL] Enable kernel profiling via /proc/profile
46574651
Format: [<profiletype>,]<number>
4658-
Param: <profiletype>: "schedule", "sleep", or "kvm"
4652+
Param: <profiletype>: "schedule" or "kvm"
46594653
[defaults to kernel profiling]
46604654
Param: "schedule" - profile schedule points.
4661-
Param: "sleep" - profile D-state sleeping (millisecs).
4662-
Requires CONFIG_SCHEDSTATS
46634655
Param: "kvm" - profile VM exits.
46644656
Param: <number> - step/bucket size as a power of 2 for
46654657
statistical time based profiling.

Documentation/arch/arm64/silicon-errata.rst

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,32 +119,68 @@ stable kernels.
119119
+----------------+-----------------+-----------------+-----------------------------+
120120
| ARM | Cortex-A76 | #1463225 | ARM64_ERRATUM_1463225 |
121121
+----------------+-----------------+-----------------+-----------------------------+
122+
| ARM | Cortex-A76 | #3324349 | ARM64_ERRATUM_3194386 |
123+
+----------------+-----------------+-----------------+-----------------------------+
122124
| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
123125
+----------------+-----------------+-----------------+-----------------------------+
126+
| ARM | Cortex-A77 | #3324348 | ARM64_ERRATUM_3194386 |
127+
+----------------+-----------------+-----------------+-----------------------------+
128+
| ARM | Cortex-A78 | #3324344 | ARM64_ERRATUM_3194386 |
129+
+----------------+-----------------+-----------------+-----------------------------+
130+
| ARM | Cortex-A78C | #3324346,3324347| ARM64_ERRATUM_3194386 |
131+
+----------------+-----------------+-----------------+-----------------------------+
124132
| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
125133
+----------------+-----------------+-----------------+-----------------------------+
126134
| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
127135
+----------------+-----------------+-----------------+-----------------------------+
128136
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
129137
+----------------+-----------------+-----------------+-----------------------------+
138+
| ARM | Cortex-A710 | #3324338 | ARM64_ERRATUM_3194386 |
139+
+----------------+-----------------+-----------------+-----------------------------+
130140
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
131141
+----------------+-----------------+-----------------+-----------------------------+
142+
| ARM | Cortex-A720 | #3456091 | ARM64_ERRATUM_3194386 |
143+
+----------------+-----------------+-----------------+-----------------------------+
144+
| ARM | Cortex-A725 | #3456106 | ARM64_ERRATUM_3194386 |
145+
+----------------+-----------------+-----------------+-----------------------------+
146+
| ARM | Cortex-X1 | #3324344 | ARM64_ERRATUM_3194386 |
147+
+----------------+-----------------+-----------------+-----------------------------+
148+
| ARM | Cortex-X1C | #3324346 | ARM64_ERRATUM_3194386 |
149+
+----------------+-----------------+-----------------+-----------------------------+
132150
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
133151
+----------------+-----------------+-----------------+-----------------------------+
134152
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
135153
+----------------+-----------------+-----------------+-----------------------------+
154+
| ARM | Cortex-X2 | #3324338 | ARM64_ERRATUM_3194386 |
155+
+----------------+-----------------+-----------------+-----------------------------+
156+
| ARM | Cortex-X3 | #3324335 | ARM64_ERRATUM_3194386 |
157+
+----------------+-----------------+-----------------+-----------------------------+
158+
| ARM | Cortex-X4 | #3194386 | ARM64_ERRATUM_3194386 |
159+
+----------------+-----------------+-----------------+-----------------------------+
160+
| ARM | Cortex-X925 | #3324334 | ARM64_ERRATUM_3194386 |
161+
+----------------+-----------------+-----------------+-----------------------------+
136162
| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
137163
+----------------+-----------------+-----------------+-----------------------------+
138164
| ARM | Neoverse-N1 | #1349291 | N/A |
139165
+----------------+-----------------+-----------------+-----------------------------+
140166
| ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 |
141167
+----------------+-----------------+-----------------+-----------------------------+
168+
| ARM | Neoverse-N1 | #3324349 | ARM64_ERRATUM_3194386 |
169+
+----------------+-----------------+-----------------+-----------------------------+
142170
| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 |
143171
+----------------+-----------------+-----------------+-----------------------------+
144172
| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 |
145173
+----------------+-----------------+-----------------+-----------------------------+
146174
| ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 |
147175
+----------------+-----------------+-----------------+-----------------------------+
176+
| ARM | Neoverse-N2 | #3324339 | ARM64_ERRATUM_3194386 |
177+
+----------------+-----------------+-----------------+-----------------------------+
178+
| ARM | Neoverse-V1 | #3324341 | ARM64_ERRATUM_3194386 |
179+
+----------------+-----------------+-----------------+-----------------------------+
180+
| ARM | Neoverse-V2 | #3324336 | ARM64_ERRATUM_3194386 |
181+
+----------------+-----------------+-----------------+-----------------------------+
182+
| ARM | Neoverse-V3 | #3312417 | ARM64_ERRATUM_3194386 |
183+
+----------------+-----------------+-----------------+-----------------------------+
148184
| ARM | MMU-500 | #841119,826419 | N/A |
149185
+----------------+-----------------+-----------------+-----------------------------+
150186
| ARM | MMU-600 | #1076982,1209401| N/A |

Documentation/bpf/map_lpm_trie.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ significant byte.
1717

1818
LPM tries may be created with a maximum prefix length that is a multiple
1919
of 8, in the range from 8 to 2048. The key used for lookup and update
20-
operations is a ``struct bpf_lpm_trie_key``, extended by
20+
operations is a ``struct bpf_lpm_trie_key_u8``, extended by
2121
``max_prefixlen/8`` bytes.
2222

2323
- For IPv4 addresses the data length is 4 bytes

Documentation/hwmon/corsair-psu.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ Supported devices:
1515

1616
Corsair HX850i
1717

18-
Corsair HX1000i (Series 2022 and 2023)
18+
Corsair HX1000i (Legacy and Series 2023)
1919

20-
Corsair HX1200i
20+
Corsair HX1200i (Legacy and Series 2023)
2121

22-
Corsair HX1500i (Series 2022 and 2023)
22+
Corsair HX1500i (Legacy and Series 2023)
2323

2424
Corsair RM550i
2525

Documentation/mm/page_table_check.rst

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,21 @@ Page table check performs extra verifications at the time when new pages become
1414
accessible from the userspace by getting their page table entries (PTEs PMDs
1515
etc.) added into the table.
1616

17-
In case of detected corruption, the kernel is crashed. There is a small
17+
In case of most detected corruption, the kernel is crashed. There is a small
1818
performance and memory overhead associated with the page table check. Therefore,
1919
it is disabled by default, but can be optionally enabled on systems where the
2020
extra hardening outweighs the performance costs. Also, because page table check
2121
is synchronous, it can help with debugging double map memory corruption issues,
2222
by crashing kernel at the time wrong mapping occurs instead of later which is
2323
often the case with memory corruptions bugs.
2424

25+
It can also be used to do page table entry checks over various flags, dump
26+
warnings when illegal combinations of entry flags are detected. Currently,
27+
userfaultfd is the only user of such to sanity check wr-protect bit against
28+
any writable flags. Illegal flag combinations will not directly cause data
29+
corruption in this case immediately, but that will cause read-only data to
30+
be writable, leading to corrupt when the page content is later modified.
31+
2532
Double mapping detection logic
2633
==============================
2734

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 = 45
4+
SUBLEVEL = 47
55
EXTRAVERSION =
66
NAME = Hurr durr I'ma ninja sloth
77

arch/arm64/Kconfig

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,6 +1069,44 @@ config ARM64_ERRATUM_3117295
10691069

10701070
If unsure, say Y.
10711071

1072+
config ARM64_ERRATUM_3194386
1073+
bool "Cortex-*/Neoverse-*: workaround for MSR SSBS not self-synchronizing"
1074+
default y
1075+
help
1076+
This option adds the workaround for the following errata:
1077+
1078+
* ARM Cortex-A76 erratum 3324349
1079+
* ARM Cortex-A77 erratum 3324348
1080+
* ARM Cortex-A78 erratum 3324344
1081+
* ARM Cortex-A78C erratum 3324346
1082+
* ARM Cortex-A78C erratum 3324347
1083+
* ARM Cortex-A710 erratam 3324338
1084+
* ARM Cortex-A720 erratum 3456091
1085+
* ARM Cortex-A725 erratum 3456106
1086+
* ARM Cortex-X1 erratum 3324344
1087+
* ARM Cortex-X1C erratum 3324346
1088+
* ARM Cortex-X2 erratum 3324338
1089+
* ARM Cortex-X3 erratum 3324335
1090+
* ARM Cortex-X4 erratum 3194386
1091+
* ARM Cortex-X925 erratum 3324334
1092+
* ARM Neoverse-N1 erratum 3324349
1093+
* ARM Neoverse N2 erratum 3324339
1094+
* ARM Neoverse-V1 erratum 3324341
1095+
* ARM Neoverse V2 erratum 3324336
1096+
* ARM Neoverse-V3 erratum 3312417
1097+
1098+
On affected cores "MSR SSBS, #0" instructions may not affect
1099+
subsequent speculative instructions, which may permit unexepected
1100+
speculative store bypassing.
1101+
1102+
Work around this problem by placing a Speculation Barrier (SB) or
1103+
Instruction Synchronization Barrier (ISB) after kernel changes to
1104+
SSBS. The presence of the SSBS special-purpose register is hidden
1105+
from hwcaps and EL0 reads of ID_AA64PFR1_EL1, such that userspace
1106+
will use the PR_SPEC_STORE_BYPASS prctl to change SSBS.
1107+
1108+
If unsure, say Y.
1109+
10721110
config CAVIUM_ERRATUM_22375
10731111
bool "Cavium erratum 22375, 24313"
10741112
default y

arch/arm64/include/asm/barrier.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@
4040
*/
4141
#define dgh() asm volatile("hint #6" : : : "memory")
4242

43+
#define spec_bar() asm volatile(ALTERNATIVE("dsb nsh\nisb\n", \
44+
SB_BARRIER_INSN"nop\n", \
45+
ARM64_HAS_SB))
46+
4347
#ifdef CONFIG_ARM64_PSEUDO_NMI
4448
#define pmr_sync() \
4549
do { \

arch/arm64/include/asm/cputype.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,14 @@
8686
#define ARM_CPU_PART_CORTEX_X2 0xD48
8787
#define ARM_CPU_PART_NEOVERSE_N2 0xD49
8888
#define ARM_CPU_PART_CORTEX_A78C 0xD4B
89+
#define ARM_CPU_PART_CORTEX_X1C 0xD4C
90+
#define ARM_CPU_PART_CORTEX_X3 0xD4E
91+
#define ARM_CPU_PART_NEOVERSE_V2 0xD4F
92+
#define ARM_CPU_PART_CORTEX_A720 0xD81
93+
#define ARM_CPU_PART_CORTEX_X4 0xD82
94+
#define ARM_CPU_PART_NEOVERSE_V3 0xD84
95+
#define ARM_CPU_PART_CORTEX_X925 0xD85
96+
#define ARM_CPU_PART_CORTEX_A725 0xD87
8997

9098
#define APM_CPU_PART_XGENE 0x000
9199
#define APM_CPU_VAR_POTENZA 0x00
@@ -159,6 +167,14 @@
159167
#define MIDR_CORTEX_X2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X2)
160168
#define MIDR_NEOVERSE_N2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N2)
161169
#define MIDR_CORTEX_A78C MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78C)
170+
#define MIDR_CORTEX_X1C MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1C)
171+
#define MIDR_CORTEX_X3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X3)
172+
#define MIDR_NEOVERSE_V2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V2)
173+
#define MIDR_CORTEX_A720 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A720)
174+
#define MIDR_CORTEX_X4 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X4)
175+
#define MIDR_NEOVERSE_V3 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V3)
176+
#define MIDR_CORTEX_X925 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X925)
177+
#define MIDR_CORTEX_A725 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A725)
162178
#define MIDR_THUNDERX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX)
163179
#define MIDR_THUNDERX_81XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_81XX)
164180
#define MIDR_THUNDERX_83XX MIDR_CPU_MODEL(ARM_CPU_IMP_CAVIUM, CAVIUM_CPU_PART_THUNDERX_83XX)

0 commit comments

Comments
 (0)