Skip to content

Commit bdf8838

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.12.y' into rpi-6.12.y
2 parents 156bc0d + 9becd7c commit bdf8838

File tree

466 files changed

+4093
-1756
lines changed

Some content is hidden

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

466 files changed

+4093
-1756
lines changed

Documentation/filesystems/fscrypt.rst

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,8 @@ However, these ioctls have some limitations:
141141
CONFIG_PAGE_POISONING=y in your kernel config and add page_poison=1
142142
to your kernel command line. However, this has a performance cost.
143143

144-
- Secret keys might still exist in CPU registers, in crypto
145-
accelerator hardware (if used by the crypto API to implement any of
146-
the algorithms), or in other places not explicitly considered here.
144+
- Secret keys might still exist in CPU registers or in other places
145+
not explicitly considered here.
147146

148147
Limitations of v1 policies
149148
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -378,9 +377,12 @@ the work is done by XChaCha12, which is much faster than AES when AES
378377
acceleration is unavailable. For more information about Adiantum, see
379378
`the Adiantum paper <https://eprint.iacr.org/2018/720.pdf>`_.
380379

381-
The (AES-128-CBC-ESSIV, AES-128-CBC-CTS) pair exists only to support
382-
systems whose only form of AES acceleration is an off-CPU crypto
383-
accelerator such as CAAM or CESA that does not support XTS.
380+
The (AES-128-CBC-ESSIV, AES-128-CBC-CTS) pair was added to try to
381+
provide a more efficient option for systems that lack AES instructions
382+
in the CPU but do have a non-inline crypto engine such as CAAM or CESA
383+
that supports AES-CBC (and not AES-XTS). This is deprecated. It has
384+
been shown that just doing AES on the CPU is actually faster.
385+
Moreover, Adiantum is faster still and is recommended on such systems.
384386

385387
The remaining mode pairs are the "national pride ciphers":
386388

@@ -1289,22 +1291,13 @@ this by validating all top-level encryption policies prior to access.
12891291
Inline encryption support
12901292
=========================
12911293

1292-
By default, fscrypt uses the kernel crypto API for all cryptographic
1293-
operations (other than HKDF, which fscrypt partially implements
1294-
itself). The kernel crypto API supports hardware crypto accelerators,
1295-
but only ones that work in the traditional way where all inputs and
1296-
outputs (e.g. plaintexts and ciphertexts) are in memory. fscrypt can
1297-
take advantage of such hardware, but the traditional acceleration
1298-
model isn't particularly efficient and fscrypt hasn't been optimized
1299-
for it.
1300-
1301-
Instead, many newer systems (especially mobile SoCs) have *inline
1302-
encryption hardware* that can encrypt/decrypt data while it is on its
1303-
way to/from the storage device. Linux supports inline encryption
1304-
through a set of extensions to the block layer called *blk-crypto*.
1305-
blk-crypto allows filesystems to attach encryption contexts to bios
1306-
(I/O requests) to specify how the data will be encrypted or decrypted
1307-
in-line. For more information about blk-crypto, see
1294+
Many newer systems (especially mobile SoCs) have *inline encryption
1295+
hardware* that can encrypt/decrypt data while it is on its way to/from
1296+
the storage device. Linux supports inline encryption through a set of
1297+
extensions to the block layer called *blk-crypto*. blk-crypto allows
1298+
filesystems to attach encryption contexts to bios (I/O requests) to
1299+
specify how the data will be encrypted or decrypted in-line. For more
1300+
information about blk-crypto, see
13081301
:ref:`Documentation/block/inline-encryption.rst <inline_encryption>`.
13091302

13101303
On supported filesystems (currently ext4 and f2fs), fscrypt can use

Documentation/firmware-guide/acpi/i2c-muxes.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Consider this topology::
1414
| | | 0x70 |--CH01--> i2c client B (0x50)
1515
+------+ +------+
1616

17-
which corresponds to the following ASL::
17+
which corresponds to the following ASL (in the scope of \_SB)::
1818

1919
Device (SMB1)
2020
{
@@ -24,7 +24,7 @@ which corresponds to the following ASL::
2424
Name (_HID, ...)
2525
Name (_CRS, ResourceTemplate () {
2626
I2cSerialBus (0x70, ControllerInitiated, I2C_SPEED,
27-
AddressingMode7Bit, "^SMB1", 0x00,
27+
AddressingMode7Bit, "\\_SB.SMB1", 0x00,
2828
ResourceConsumer,,)
2929
}
3030

@@ -37,7 +37,7 @@ which corresponds to the following ASL::
3737
Name (_HID, ...)
3838
Name (_CRS, ResourceTemplate () {
3939
I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
40-
AddressingMode7Bit, "^CH00", 0x00,
40+
AddressingMode7Bit, "\\_SB.SMB1.CH00", 0x00,
4141
ResourceConsumer,,)
4242
}
4343
}
@@ -52,7 +52,7 @@ which corresponds to the following ASL::
5252
Name (_HID, ...)
5353
Name (_CRS, ResourceTemplate () {
5454
I2cSerialBus (0x50, ControllerInitiated, I2C_SPEED,
55-
AddressingMode7Bit, "^CH01", 0x00,
55+
AddressingMode7Bit, "\\_SB.SMB1.CH01", 0x00,
5656
ResourceConsumer,,)
5757
}
5858
}

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

arch/arm/mach-rockchip/platsmp.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -279,11 +279,6 @@ static void __init rockchip_smp_prepare_cpus(unsigned int max_cpus)
279279
}
280280

281281
if (read_cpuid_part() == ARM_CPU_PART_CORTEX_A9) {
282-
if (rockchip_smp_prepare_sram(node)) {
283-
of_node_put(node);
284-
return;
285-
}
286-
287282
/* enable the SCU power domain */
288283
pmu_set_power_domain(PMU_PWRDN_SCU, true);
289284

@@ -316,11 +311,19 @@ static void __init rockchip_smp_prepare_cpus(unsigned int max_cpus)
316311
asm ("mrc p15, 1, %0, c9, c0, 2\n" : "=r" (l2ctlr));
317312
ncores = ((l2ctlr >> 24) & 0x3) + 1;
318313
}
319-
of_node_put(node);
320314

321315
/* Make sure that all cores except the first are really off */
322316
for (i = 1; i < ncores; i++)
323317
pmu_set_power_domain(0 + i, false);
318+
319+
if (read_cpuid_part() == ARM_CPU_PART_CORTEX_A9) {
320+
if (rockchip_smp_prepare_sram(node)) {
321+
of_node_put(node);
322+
return;
323+
}
324+
}
325+
326+
of_node_put(node);
324327
}
325328

326329
static void __init rk3036_smp_prepare_cpus(unsigned int max_cpus)

arch/arm/mach-tegra/reset.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ static void __init tegra_cpu_reset_handler_enable(void)
6363
BUG_ON(is_enabled);
6464
BUG_ON(tegra_cpu_reset_handler_size > TEGRA_IRAM_RESET_HANDLER_SIZE);
6565

66-
memcpy(iram_base, (void *)__tegra_cpu_reset_handler_start,
66+
memcpy_toio(iram_base, (void *)__tegra_cpu_reset_handler_start,
6767
tegra_cpu_reset_handler_size);
6868

6969
err = call_firmware_op(set_cpu_boot_addr, 0, reset_address);

arch/arm64/boot/dts/ti/k3-j722s-evm.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,8 +495,8 @@
495495
p05-hog {
496496
/* P05 - USB2.0_MUX_SEL */
497497
gpio-hog;
498-
gpios = <5 GPIO_ACTIVE_HIGH>;
499-
output-high;
498+
gpios = <5 GPIO_ACTIVE_LOW>;
499+
output-low;
500500
};
501501

502502
p01_hog: p01-hog {

arch/arm64/include/asm/acpi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ acpi_set_mailbox_entry(int cpu, struct acpi_madt_generic_interrupt *processor)
150150
{}
151151
#endif
152152

153-
static inline const char *acpi_get_enable_method(int cpu)
153+
static __always_inline const char *acpi_get_enable_method(int cpu)
154154
{
155155
if (acpi_psci_present())
156156
return "psci";

arch/arm64/kernel/acpi.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ static int __init acpi_fadt_sanity_check(void)
197197
*/
198198
void __init acpi_boot_table_init(void)
199199
{
200+
int ret;
201+
200202
/*
201203
* Enable ACPI instead of device tree unless
202204
* - ACPI has been disabled explicitly (acpi=off), or
@@ -250,10 +252,12 @@ void __init acpi_boot_table_init(void)
250252
* behaviour, use acpi=nospcr to disable console in ACPI SPCR
251253
* table as default serial console.
252254
*/
253-
acpi_parse_spcr(earlycon_acpi_spcr_enable,
255+
ret = acpi_parse_spcr(earlycon_acpi_spcr_enable,
254256
!param_acpi_nospcr);
255-
pr_info("Use ACPI SPCR as default console: %s\n",
256-
param_acpi_nospcr ? "No" : "Yes");
257+
if (!ret || param_acpi_nospcr || !IS_ENABLED(CONFIG_ACPI_SPCR_TABLE))
258+
pr_info("Use ACPI SPCR as default console: No\n");
259+
else
260+
pr_info("Use ACPI SPCR as default console: Yes\n");
257261

258262
if (IS_ENABLED(CONFIG_ACPI_BGRT))
259263
acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);

arch/arm64/kernel/stacktrace.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ kunwind_recover_return_address(struct kunwind_state *state)
123123
orig_pc = kretprobe_find_ret_addr(state->task,
124124
(void *)state->common.fp,
125125
&state->kr_cur);
126+
if (!orig_pc)
127+
return -EINVAL;
126128
state->common.pc = orig_pc;
127129
}
128130
#endif /* CONFIG_KRETPROBES */

arch/arm64/kernel/traps.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -921,6 +921,7 @@ void __noreturn panic_bad_stack(struct pt_regs *regs, unsigned long esr, unsigne
921921

922922
void __noreturn arm64_serror_panic(struct pt_regs *regs, unsigned long esr)
923923
{
924+
add_taint(TAINT_MACHINE_CHECK, LOCKDEP_STILL_OK);
924925
console_verbose();
925926

926927
pr_crit("SError Interrupt on CPU%d, code 0x%016lx -- %s\n",

0 commit comments

Comments
 (0)