Skip to content

Commit f5e593c

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.16.y' into v6.16+
2 parents 1e78b9d + 25bf10b commit f5e593c

615 files changed

Lines changed: 8824 additions & 5279 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/filesystems/fscrypt.rst

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,8 @@ However, these ioctls have some limitations:
147147
were wiped. To partially solve this, you can add init_on_free=1 to
148148
your kernel command line. However, this has a performance cost.
149149

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

154153
Full system compromise
155154
~~~~~~~~~~~~~~~~~~~~~~
@@ -406,9 +405,12 @@ the work is done by XChaCha12, which is much faster than AES when AES
406405
acceleration is unavailable. For more information about Adiantum, see
407406
`the Adiantum paper <https://eprint.iacr.org/2018/720.pdf>`_.
408407

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

413415
The remaining mode pairs are the "national pride ciphers":
414416

@@ -1326,22 +1328,13 @@ this by validating all top-level encryption policies prior to access.
13261328
Inline encryption support
13271329
=========================
13281330

1329-
By default, fscrypt uses the kernel crypto API for all cryptographic
1330-
operations (other than HKDF, which fscrypt partially implements
1331-
itself). The kernel crypto API supports hardware crypto accelerators,
1332-
but only ones that work in the traditional way where all inputs and
1333-
outputs (e.g. plaintexts and ciphertexts) are in memory. fscrypt can
1334-
take advantage of such hardware, but the traditional acceleration
1335-
model isn't particularly efficient and fscrypt hasn't been optimized
1336-
for it.
1337-
1338-
Instead, many newer systems (especially mobile SoCs) have *inline
1339-
encryption hardware* that can encrypt/decrypt data while it is on its
1340-
way to/from the storage device. Linux supports inline encryption
1341-
through a set of extensions to the block layer called *blk-crypto*.
1342-
blk-crypto allows filesystems to attach encryption contexts to bios
1343-
(I/O requests) to specify how the data will be encrypted or decrypted
1344-
in-line. For more information about blk-crypto, see
1331+
Many newer systems (especially mobile SoCs) have *inline encryption
1332+
hardware* that can encrypt/decrypt data while it is on its way to/from
1333+
the storage device. Linux supports inline encryption through a set of
1334+
extensions to the block layer called *blk-crypto*. blk-crypto allows
1335+
filesystems to attach encryption contexts to bios (I/O requests) to
1336+
specify how the data will be encrypted or decrypted in-line. For more
1337+
information about blk-crypto, see
13451338
:ref:`Documentation/block/inline-encryption.rst <inline_encryption>`.
13461339

13471340
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
}

Documentation/sphinx/kernel_abi.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,10 @@ def run(self):
146146
n += 1
147147

148148
if f != old_f:
149-
# Add the file to Sphinx build dependencies
150-
env.note_dependency(os.path.abspath(f))
149+
# Add the file to Sphinx build dependencies if the file exists
150+
fname = os.path.join(srctree, f)
151+
if os.path.isfile(fname):
152+
env.note_dependency(fname)
151153

152154
old_f = f
153155

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 = 16
4-
SUBLEVEL = 1
4+
SUBLEVEL = 2
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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,7 @@
634634
/* P05 - USB2.0_MUX_SEL */
635635
gpio-hog;
636636
gpios = <5 GPIO_ACTIVE_LOW>;
637-
output-high;
637+
output-low;
638638
};
639639

640640
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
@@ -152,6 +152,8 @@ kunwind_recover_return_address(struct kunwind_state *state)
152152
orig_pc = kretprobe_find_ret_addr(state->task,
153153
(void *)state->common.fp,
154154
&state->kr_cur);
155+
if (!orig_pc)
156+
return -EINVAL;
155157
state->common.pc = orig_pc;
156158
state->flags.kretprobe = 1;
157159
}

0 commit comments

Comments
 (0)