Skip to content

Commit ac69f09

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.12.y' into rpi-6.12.y
2 parents 5a72e3a + 8f5ff97 commit ac69f09

File tree

133 files changed

+1608
-1223
lines changed

Some content is hidden

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

133 files changed

+1608
-1223
lines changed

.clippy.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22

3+
msrv = "1.78.0"
4+
35
check-private-items = true
46

57
disallowed-macros = [

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

arch/arm/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ config ARM
118118
select HAVE_KERNEL_XZ
119119
select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
120120
select HAVE_KRETPROBES if HAVE_KPROBES
121-
select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if (LD_VERSION >= 23600 || LD_CAN_USE_KEEP_IN_OVERLAY)
121+
select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if (LD_VERSION >= 23600 || LD_IS_LLD) && LD_CAN_USE_KEEP_IN_OVERLAY
122122
select HAVE_MOD_ARCH_SPECIFIC
123123
select HAVE_NMI
124124
select HAVE_OPTPROBES if !THUMB2_KERNEL

arch/arm/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ endif
149149
# Need -Uarm for gcc < 3.x
150150
KBUILD_CPPFLAGS +=$(cpp-y)
151151
KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
152-
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) -Wa,$(arch-y) $(tune-y) -include asm/unified.h -msoft-float
152+
KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) -Wa,$(arch-y) $(tune-y) -include $(srctree)/arch/arm/include/asm/unified.h -msoft-float
153153

154154
CHECKFLAGS += -D__arm__
155155

arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@
232232
regulator-min-microvolt = <1200000>;
233233
regulator-max-microvolt = <1200000>;
234234
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235+
regulator-always-on;
235236
};
236237

237238
vreg_l13b_3p0: ldo13 {
@@ -253,6 +254,7 @@
253254
regulator-min-microvolt = <1800000>;
254255
regulator-max-microvolt = <1800000>;
255256
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
257+
regulator-always-on;
256258
};
257259

258260
vreg_l17b_2p5: ldo17 {

arch/arm64/boot/dts/qcom/x1e80100-crd.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,8 +659,8 @@
659659

660660
vreg_l2j_1p2: ldo2 {
661661
regulator-name = "vreg_l2j_1p2";
662-
regulator-min-microvolt = <1200000>;
663-
regulator-max-microvolt = <1200000>;
662+
regulator-min-microvolt = <1256000>;
663+
regulator-max-microvolt = <1256000>;
664664
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
665665
};
666666

arch/arm64/include/asm/assembler.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141
/*
4242
* Save/restore interrupts.
4343
*/
44+
.macro save_and_disable_daif, flags
45+
mrs \flags, daif
46+
msr daifset, #0xf
47+
.endm
48+
4449
.macro save_and_disable_irq, flags
4550
mrs \flags, daif
4651
msr daifset, #3

arch/arm64/kernel/entry.S

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,7 @@ SYM_CODE_END(__bp_harden_el1_vectors)
823823
*
824824
*/
825825
SYM_FUNC_START(cpu_switch_to)
826+
save_and_disable_daif x11
826827
mov x10, #THREAD_CPU_CONTEXT
827828
add x8, x0, x10
828829
mov x9, sp
@@ -846,6 +847,7 @@ SYM_FUNC_START(cpu_switch_to)
846847
ptrauth_keys_install_kernel x1, x8, x9, x10
847848
scs_save x0
848849
scs_load_current
850+
restore_irq x11
849851
ret
850852
SYM_FUNC_END(cpu_switch_to)
851853
NOKPROBE(cpu_switch_to)
@@ -872,6 +874,7 @@ NOKPROBE(ret_from_fork)
872874
* Calls func(regs) using this CPU's irq stack and shadow irq stack.
873875
*/
874876
SYM_FUNC_START(call_on_irq_stack)
877+
save_and_disable_daif x9
875878
#ifdef CONFIG_SHADOW_CALL_STACK
876879
get_current_task x16
877880
scs_save x16
@@ -886,15 +889,18 @@ SYM_FUNC_START(call_on_irq_stack)
886889

887890
/* Move to the new stack and call the function there */
888891
add sp, x16, #IRQ_STACK_SIZE
892+
restore_irq x9
889893
blr x1
890894

895+
save_and_disable_daif x9
891896
/*
892897
* Restore the SP from the FP, and restore the FP and LR from the frame
893898
* record.
894899
*/
895900
mov sp, x29
896901
ldp x29, x30, [sp], #16
897902
scs_load_current
903+
restore_irq x9
898904
ret
899905
SYM_FUNC_END(call_on_irq_stack)
900906
NOKPROBE(call_on_irq_stack)

arch/powerpc/crypto/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ config CRYPTO_CHACHA20_P10
143143
config CRYPTO_POLY1305_P10
144144
tristate "Hash functions: Poly1305 (P10 or later)"
145145
depends on PPC64 && CPU_LITTLE_ENDIAN && VSX
146+
depends on BROKEN # Needs to be fixed to work in softirq context
146147
select CRYPTO_HASH
147148
select CRYPTO_LIB_POLY1305_GENERIC
148149
help

arch/x86/hyperv/hv_init.c

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,3 +730,36 @@ bool hv_is_hyperv_initialized(void)
730730
return hypercall_msr.enable;
731731
}
732732
EXPORT_SYMBOL_GPL(hv_is_hyperv_initialized);
733+
734+
int hv_apicid_to_vp_index(u32 apic_id)
735+
{
736+
u64 control;
737+
u64 status;
738+
unsigned long irq_flags;
739+
struct hv_get_vp_from_apic_id_in *input;
740+
u32 *output, ret;
741+
742+
local_irq_save(irq_flags);
743+
744+
input = *this_cpu_ptr(hyperv_pcpu_input_arg);
745+
memset(input, 0, sizeof(*input));
746+
input->partition_id = HV_PARTITION_ID_SELF;
747+
input->apic_ids[0] = apic_id;
748+
749+
output = *this_cpu_ptr(hyperv_pcpu_output_arg);
750+
751+
control = HV_HYPERCALL_REP_COMP_1 | HVCALL_GET_VP_ID_FROM_APIC_ID;
752+
status = hv_do_hypercall(control, input, output);
753+
ret = output[0];
754+
755+
local_irq_restore(irq_flags);
756+
757+
if (!hv_result_success(status)) {
758+
pr_err("failed to get vp index from apic id %d, status %#llx\n",
759+
apic_id, status);
760+
return -EINVAL;
761+
}
762+
763+
return ret;
764+
}
765+
EXPORT_SYMBOL_GPL(hv_apicid_to_vp_index);

0 commit comments

Comments
 (0)