Skip to content

Commit

Permalink
Merge tag 'v6.6.31' into 6.6-main
Browse files Browse the repository at this point in the history
This is the 6.6.31 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmZHK4cACgkQONu9yGCS
# aT7JUw/+LxgQqbEhVB+PjOshes0wJXOxJpWOBlHpjBcVrzbFzfkvaU81NzwGPsr0
# 9IK/C3IPe9h09r5Y8jwITZUG/ugTlnck1e1z/SBFRrkdyBA3/dwkDhXShnUdwPR/
# m45qX9PR8AqtCmZxHqMYa3CWgAoc9j6URHygyWC03Mn1oade7hiMd7Axd6GpRaDd
# 43Rtv5H+hFlhsfoJq0IV2xCHikw8OhIz/G4aE0ZHSIpwgjsPN7cYNJsxWPOZSJt7
# 60Pv9ILiSW3hS/uvjNbpizeEcRTp9cTLEtFXDOn1iE0LwhmOVbyasVkFwmIOP5wo
# E7na/vmRUzsYjjPx6uNeIjLkBRA3hBkxbm6W1ji6m1rbzVj2ZUZxfiMQ6QiNJHn7
# rVk5BXmGI9nNFZQPkaZAROpPmYjCHjxHJui3OHdgeTXQxWhriv4U6VZUQdMa4b01
# yQSthO+24bQ0xl4+HjlTUEce6uWRmDsG9ZAyAGf+CAIQdP2nKPtxaPQ+kcVKIVh1
# lMsvgUowlJ2hjMeWfGwjr4CrNnITiLB3jwHus4GLydXW1J4aMIibJFlgDlAIksCO
# VDcVBY1mdjXAoWTqCqpgcZObyrOBcCPbUkjjDlcs5G8JVyZzSqoqIDa9XwgsqOrq
# pN2IvP0WXhG+K7e1iIUJreqCV+XSdOSZqsFQy3hqOFqK9HH50F4=
# =CMdK
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri May 17 12:03:51 2024 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key
  • Loading branch information
frank-w committed May 20, 2024
2 parents 0c21830 + e3d332a commit 77ae8e7
Show file tree
Hide file tree
Showing 350 changed files with 3,141 additions and 1,836 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ allOf:
properties:
compatible:
contains:
const: maxim,max30100
const: maxim,max30102
then:
properties:
maxim,green-led-current-microamp: false
Expand Down
22 changes: 2 additions & 20 deletions Documentation/devicetree/bindings/net/mediatek,net.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -337,8 +337,8 @@ allOf:
minItems: 4

clocks:
minItems: 34
maxItems: 34
minItems: 24
maxItems: 24

clock-names:
items:
Expand All @@ -351,18 +351,6 @@ allOf:
- const: ethwarp_wocpu1
- const: ethwarp_wocpu0
- const: esw
- const: netsys0
- const: netsys1
- const: sgmii_tx250m
- const: sgmii_rx250m
- const: sgmii2_tx250m
- const: sgmii2_rx250m
- const: top_usxgmii0_sel
- const: top_usxgmii1_sel
- const: top_sgm0_sel
- const: top_sgm1_sel
- const: top_xfi_phy0_xtal_sel
- const: top_xfi_phy1_xtal_sel
- const: top_eth_gmii_sel
- const: top_eth_refck_50m_sel
- const: top_eth_sys_200m_sel
Expand All @@ -375,16 +363,10 @@ allOf:
- const: top_netsys_sync_250m_sel
- const: top_netsys_ppefb_250m_sel
- const: top_netsys_warp_sel
- const: wocpu1
- const: wocpu0
- const: xgp1
- const: xgp2
- const: xgp3

mediatek,sgmiisys:
minItems: 2
maxItems: 2

patternProperties:
"^mac@[0-1]$":
type: object
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 30
SUBLEVEL = 31
EXTRAVERSION =
NAME = Hurr durr I'ma ninja sloth

Expand Down
4 changes: 4 additions & 0 deletions arch/arm/kernel/sleep.S
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,10 @@ cpu_resume_after_mmu:
instr_sync
#endif
bl cpu_init @ restore the und/abt/irq banked regs
#if defined(CONFIG_KASAN) && defined(CONFIG_KASAN_STACK)
mov r0, sp
bl kasan_unpoison_task_stack_below
#endif
mov r0, #0 @ return zero on success
ldmfd sp!, {r4 - r11, pc}
ENDPROC(cpu_resume_after_mmu)
Expand Down
30 changes: 13 additions & 17 deletions arch/arm64/boot/dts/qcom/sa8155p-adp.dts
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,16 @@
};
};

&pmm8155au_1_gpios {
pmm8155au_1_sdc2_cd: sdc2-cd-default-state {
pins = "gpio4";
function = "normal";
input-enable;
bias-pull-up;
power-source = <0>;
};
};

&qupv3_id_1 {
status = "okay";
};
Expand All @@ -384,10 +394,10 @@
&sdhc_2 {
status = "okay";

cd-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
cd-gpios = <&pmm8155au_1_gpios 4 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
pinctrl-0 = <&sdc2_on &pmm8155au_1_sdc2_cd>;
pinctrl-1 = <&sdc2_off &pmm8155au_1_sdc2_cd>;
vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */
vmmc-supply = <&vreg_l17a_2p96>; /* Card power line */
bus-width = <4>;
Expand Down Expand Up @@ -505,13 +515,6 @@
bias-pull-up; /* pull up */
drive-strength = <16>; /* 16 MA */
};

sd-cd-pins {
pins = "gpio96";
function = "gpio";
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};

sdc2_off: sdc2-off-state {
Expand All @@ -532,13 +535,6 @@
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};

sd-cd-pins {
pins = "gpio96";
function = "gpio";
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};

usb2phy_ac_en1_default: usb2phy-ac-en1-default-state {
Expand Down
12 changes: 4 additions & 8 deletions arch/arm64/kvm/vgic/vgic-kvm-device.c
Original file line number Diff line number Diff line change
Expand Up @@ -337,16 +337,12 @@ int kvm_register_vgic_device(unsigned long type)
int vgic_v2_parse_attr(struct kvm_device *dev, struct kvm_device_attr *attr,
struct vgic_reg_attr *reg_attr)
{
int cpuid;
int cpuid = FIELD_GET(KVM_DEV_ARM_VGIC_CPUID_MASK, attr->attr);

cpuid = (attr->attr & KVM_DEV_ARM_VGIC_CPUID_MASK) >>
KVM_DEV_ARM_VGIC_CPUID_SHIFT;

if (cpuid >= atomic_read(&dev->kvm->online_vcpus))
return -EINVAL;

reg_attr->vcpu = kvm_get_vcpu(dev->kvm, cpuid);
reg_attr->addr = attr->attr & KVM_DEV_ARM_VGIC_OFFSET_MASK;
reg_attr->vcpu = kvm_get_vcpu_by_id(dev->kvm, cpuid);
if (!reg_attr->vcpu)
return -EINVAL;

return 0;
}
Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/net/bpf_jit_comp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1738,15 +1738,15 @@ static void invoke_bpf_prog(struct jit_ctx *ctx, struct bpf_tramp_link *l,

emit_call(enter_prog, ctx);

/* save return value to callee saved register x20 */
emit(A64_MOV(1, A64_R(20), A64_R(0)), ctx);

/* if (__bpf_prog_enter(prog) == 0)
* goto skip_exec_of_prog;
*/
branch = ctx->image + ctx->idx;
emit(A64_NOP, ctx);

/* save return value to callee saved register x20 */
emit(A64_MOV(1, A64_R(20), A64_R(0)), ctx);

emit(A64_ADD_I(1, A64_R(0), A64_SP, args_off), ctx);
if (!p->jited)
emit_addr_mov_i64(A64_R(1), (const u64)p->insnsi, ctx);
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ extern unsigned long exception_ip(struct pt_regs *regs);
#define exception_ip(regs) exception_ip(regs)
#define profile_pc(regs) instruction_pointer(regs)

extern asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall);
extern asmlinkage long syscall_trace_enter(struct pt_regs *regs);
extern asmlinkage void syscall_trace_leave(struct pt_regs *regs);

extern void die(const char *, struct pt_regs *) __noreturn;
Expand Down
1 change: 1 addition & 0 deletions arch/mips/kernel/asm-offsets.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ void output_thread_info_defines(void)
OFFSET(TI_CPU, thread_info, cpu);
OFFSET(TI_PRE_COUNT, thread_info, preempt_count);
OFFSET(TI_REGS, thread_info, regs);
OFFSET(TI_SYSCALL, thread_info, syscall);
DEFINE(_THREAD_SIZE, THREAD_SIZE);
DEFINE(_THREAD_MASK, THREAD_MASK);
DEFINE(_IRQ_STACK_SIZE, IRQ_STACK_SIZE);
Expand Down
15 changes: 6 additions & 9 deletions arch/mips/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1317,16 +1317,13 @@ long arch_ptrace(struct task_struct *child, long request,
* Notification of system call entry/exit
* - triggered by current->work.syscall_trace
*/
asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall)
asmlinkage long syscall_trace_enter(struct pt_regs *regs)
{
user_exit();

current_thread_info()->syscall = syscall;

if (test_thread_flag(TIF_SYSCALL_TRACE)) {
if (ptrace_report_syscall_entry(regs))
return -1;
syscall = current_thread_info()->syscall;
}

#ifdef CONFIG_SECCOMP
Expand All @@ -1335,7 +1332,7 @@ asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall)
struct seccomp_data sd;
unsigned long args[6];

sd.nr = syscall;
sd.nr = current_thread_info()->syscall;
sd.arch = syscall_get_arch(current);
syscall_get_arguments(current, regs, args);
for (i = 0; i < 6; i++)
Expand All @@ -1345,23 +1342,23 @@ asmlinkage long syscall_trace_enter(struct pt_regs *regs, long syscall)
ret = __secure_computing(&sd);
if (ret == -1)
return ret;
syscall = current_thread_info()->syscall;
}
#endif

if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
trace_sys_enter(regs, regs->regs[2]);

audit_syscall_entry(syscall, regs->regs[4], regs->regs[5],
audit_syscall_entry(current_thread_info()->syscall,
regs->regs[4], regs->regs[5],
regs->regs[6], regs->regs[7]);

/*
* Negative syscall numbers are mistaken for rejected syscalls, but
* won't have had the return value set appropriately, so we do so now.
*/
if (syscall < 0)
if (current_thread_info()->syscall < 0)
syscall_set_return_value(current, regs, -ENOSYS, 0);
return syscall;
return current_thread_info()->syscall;
}

/*
Expand Down
23 changes: 13 additions & 10 deletions arch/mips/kernel/scall32-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,18 @@ loads_done:
PTR_WD load_a7, bad_stack_a7
.previous

/*
* syscall number is in v0 unless we called syscall(__NR_###)
* where the real syscall number is in a0
*/
subu t2, v0, __NR_O32_Linux
bnez t2, 1f /* __NR_syscall at offset 0 */
LONG_S a0, TI_SYSCALL($28) # Save a0 as syscall number
b 2f
1:
LONG_S v0, TI_SYSCALL($28) # Save v0 as syscall number
2:

lw t0, TI_FLAGS($28) # syscall tracing enabled?
li t1, _TIF_WORK_SYSCALL_ENTRY
and t0, t1
Expand Down Expand Up @@ -114,16 +126,7 @@ syscall_trace_entry:
SAVE_STATIC
move a0, sp

/*
* syscall number is in v0 unless we called syscall(__NR_###)
* where the real syscall number is in a0
*/
move a1, v0
subu t2, v0, __NR_O32_Linux
bnez t2, 1f /* __NR_syscall at offset 0 */
lw a1, PT_R4(sp)

1: jal syscall_trace_enter
jal syscall_trace_enter

bltz v0, 1f # seccomp failed? Skip syscall

Expand Down
3 changes: 2 additions & 1 deletion arch/mips/kernel/scall64-n32.S
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ NESTED(handle_sysn32, PT_SIZE, sp)

sd a3, PT_R26(sp) # save a3 for syscall restarting

LONG_S v0, TI_SYSCALL($28) # Store syscall number

li t1, _TIF_WORK_SYSCALL_ENTRY
LONG_L t0, TI_FLAGS($28) # syscall tracing enabled?
and t0, t1, t0
Expand Down Expand Up @@ -72,7 +74,6 @@ syscall_common:
n32_syscall_trace_entry:
SAVE_STATIC
move a0, sp
move a1, v0
jal syscall_trace_enter

bltz v0, 1f # seccomp failed? Skip syscall
Expand Down
3 changes: 2 additions & 1 deletion arch/mips/kernel/scall64-n64.S
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ NESTED(handle_sys64, PT_SIZE, sp)

sd a3, PT_R26(sp) # save a3 for syscall restarting

LONG_S v0, TI_SYSCALL($28) # Store syscall number

li t1, _TIF_WORK_SYSCALL_ENTRY
LONG_L t0, TI_FLAGS($28) # syscall tracing enabled?
and t0, t1, t0
Expand Down Expand Up @@ -82,7 +84,6 @@ n64_syscall_exit:
syscall_trace_entry:
SAVE_STATIC
move a0, sp
move a1, v0
jal syscall_trace_enter

bltz v0, 1f # seccomp failed? Skip syscall
Expand Down
33 changes: 17 additions & 16 deletions arch/mips/kernel/scall64-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,22 @@ loads_done:
PTR_WD load_a7, bad_stack_a7
.previous

/*
* absolute syscall number is in v0 unless we called syscall(__NR_###)
* where the real syscall number is in a0
* note: NR_syscall is the first O32 syscall but the macro is
* only defined when compiling with -mabi=32 (CONFIG_32BIT)
* therefore __NR_O32_Linux is used (4000)
*/

subu t2, v0, __NR_O32_Linux
bnez t2, 1f /* __NR_syscall at offset 0 */
LONG_S a0, TI_SYSCALL($28) # Save a0 as syscall number
b 2f
1:
LONG_S v0, TI_SYSCALL($28) # Save v0 as syscall number
2:

li t1, _TIF_WORK_SYSCALL_ENTRY
LONG_L t0, TI_FLAGS($28) # syscall tracing enabled?
and t0, t1, t0
Expand Down Expand Up @@ -113,22 +129,7 @@ trace_a_syscall:
sd a7, PT_R11(sp) # For indirect syscalls

move a0, sp
/*
* absolute syscall number is in v0 unless we called syscall(__NR_###)
* where the real syscall number is in a0
* note: NR_syscall is the first O32 syscall but the macro is
* only defined when compiling with -mabi=32 (CONFIG_32BIT)
* therefore __NR_O32_Linux is used (4000)
*/
.set push
.set reorder
subu t1, v0, __NR_O32_Linux
move a1, v0
bnez t1, 1f /* __NR_syscall at offset 0 */
ld a1, PT_R4(sp) /* Arg1 for __NR_syscall case */
.set pop

1: jal syscall_trace_enter
jal syscall_trace_enter

bltz v0, 1f # seccomp failed? Skip syscall

Expand Down
8 changes: 7 additions & 1 deletion arch/powerpc/crypto/chacha-p10-glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,17 +197,23 @@ static struct skcipher_alg algs[] = {

static int __init chacha_p10_init(void)
{
if (!cpu_has_feature(CPU_FTR_ARCH_31))
return 0;

static_branch_enable(&have_p10);

return crypto_register_skciphers(algs, ARRAY_SIZE(algs));
}

static void __exit chacha_p10_exit(void)
{
if (!static_branch_likely(&have_p10))
return;

crypto_unregister_skciphers(algs, ARRAY_SIZE(algs));
}

module_cpu_feature_match(PPC_MODULE_FEATURE_P10, chacha_p10_init);
module_init(chacha_p10_init);
module_exit(chacha_p10_exit);

MODULE_DESCRIPTION("ChaCha and XChaCha stream ciphers (P10 accelerated)");
Expand Down
Loading

0 comments on commit 77ae8e7

Please sign in to comment.