Skip to content

Commit 9b20e2b

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.12.y' into rpi-6.12.y
2 parents 7c7adad + 318a470 commit 9b20e2b

File tree

112 files changed

+850
-522
lines changed

Some content is hidden

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

112 files changed

+850
-522
lines changed

Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,20 @@ patternProperties:
5050
groups:
5151
description:
5252
Name of the pin group to use for the functions.
53-
$ref: /schemas/types.yaml#/definitions/string
54-
enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp,
55-
i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp,
56-
spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp,
57-
spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp,
58-
uart0_grp, uart1_grp, uart2_grp, uart3_grp,
59-
pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp,
60-
pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp,
61-
pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp,
62-
pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp,
63-
pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp,
64-
pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp]
53+
items:
54+
enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp,
55+
i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp,
56+
spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp,
57+
spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp,
58+
uart0_grp, uart1_grp, uart2_grp, uart3_grp,
59+
pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp,
60+
pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp,
61+
pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp,
62+
pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp,
63+
pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp,
64+
pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp]
65+
minItems: 1
66+
maxItems: 8
6567

6668
drive-strength:
6769
enum: [2, 4, 6, 8, 16, 24, 32]

Documentation/wmi/driver-development-guide.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ to matching WMI devices using a struct wmi_device_id table:
5050
::
5151

5252
static const struct wmi_device_id foo_id_table[] = {
53+
/* Only use uppercase letters! */
5354
{ "936DA01F-9ABD-4D9D-80C7-02AF85C822A8", NULL },
5455
{ }
5556
};

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

arch/arm64/boot/dts/rockchip/rk3399-op1.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Copyright (c) 2016-2017 Fuzhou Rockchip Electronics Co., Ltd
44
*/
55

6-
#include "rk3399.dtsi"
6+
#include "rk3399-base.dtsi"
77

88
/ {
99
cluster0_opp: opp-table-0 {

arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@
789789
vccio1-supply = <&vccio_acodec>;
790790
vccio2-supply = <&vcc_1v8>;
791791
vccio3-supply = <&vccio_sd>;
792-
vccio4-supply = <&vcc_1v8>;
792+
vccio4-supply = <&vcca1v8_pmu>;
793793
vccio5-supply = <&vcc_1v8>;
794794
vccio6-supply = <&vcc1v8_dvp>;
795795
vccio7-supply = <&vcc_3v3>;

arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,14 +359,12 @@
359359
cap-mmc-highspeed;
360360
mmc-ddr-1_8v;
361361
mmc-hs200-1_8v;
362-
mmc-hs400-1_8v;
363-
mmc-hs400-enhanced-strobe;
364362
mmc-pwrseq = <&emmc_pwrseq>;
365363
no-sdio;
366364
no-sd;
367365
non-removable;
368366
pinctrl-names = "default";
369-
pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_data_strobe>;
367+
pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk>;
370368
vmmc-supply = <&vcc_3v3_s3>;
371369
vqmmc-supply = <&vcc_1v8_s3>;
372370
status = "okay";

arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@
8585
gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
8686
regulator-name = "vcc3v3_pcie20";
8787
regulator-boot-on;
88-
regulator-min-microvolt = <1800000>;
89-
regulator-max-microvolt = <1800000>;
88+
regulator-min-microvolt = <3300000>;
89+
regulator-max-microvolt = <3300000>;
9090
startup-delay-us = <50000>;
9191
vin-supply = <&vcc5v0_sys>;
9292
};

arch/arm64/kvm/hyp/nvhe/ffa.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ static void __do_ffa_mem_xfer(const u64 func_id,
437437
struct ffa_mem_region_attributes *ep_mem_access;
438438
struct ffa_composite_mem_region *reg;
439439
struct ffa_mem_region *buf;
440-
u32 offset, nr_ranges;
440+
u32 offset, nr_ranges, checked_offset;
441441
int ret = 0;
442442

443443
if (addr_mbz || npages_mbz || fraglen > len ||
@@ -474,7 +474,12 @@ static void __do_ffa_mem_xfer(const u64 func_id,
474474
goto out_unlock;
475475
}
476476

477-
if (fraglen < offset + sizeof(struct ffa_composite_mem_region)) {
477+
if (check_add_overflow(offset, sizeof(struct ffa_composite_mem_region), &checked_offset)) {
478+
ret = FFA_RET_INVALID_PARAMETERS;
479+
goto out_unlock;
480+
}
481+
482+
if (fraglen < checked_offset) {
478483
ret = FFA_RET_INVALID_PARAMETERS;
479484
goto out_unlock;
480485
}

arch/arm64/kvm/sys_regs.c

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2176,22 +2176,26 @@ static bool bad_redir_trap(struct kvm_vcpu *vcpu,
21762176
.val = 0, \
21772177
}
21782178

2179-
/* sys_reg_desc initialiser for known cpufeature ID registers */
2180-
#define AA32_ID_SANITISED(name) { \
2179+
/* sys_reg_desc initialiser for writable ID registers */
2180+
#define ID_WRITABLE(name, mask) { \
21812181
ID_DESC(name), \
21822182
.set_user = set_id_reg, \
2183-
.visibility = aa32_id_visibility, \
2183+
.visibility = id_visibility, \
21842184
.reset = kvm_read_sanitised_id_reg, \
2185-
.val = 0, \
2185+
.val = mask, \
21862186
}
21872187

2188-
/* sys_reg_desc initialiser for writable ID registers */
2189-
#define ID_WRITABLE(name, mask) { \
2188+
/*
2189+
* 32bit ID regs are fully writable when the guest is 32bit
2190+
* capable. Nothing in the KVM code should rely on 32bit features
2191+
* anyway, only 64bit, so let the VMM do its worse.
2192+
*/
2193+
#define AA32_ID_WRITABLE(name) { \
21902194
ID_DESC(name), \
21912195
.set_user = set_id_reg, \
2192-
.visibility = id_visibility, \
2196+
.visibility = aa32_id_visibility, \
21932197
.reset = kvm_read_sanitised_id_reg, \
2194-
.val = mask, \
2198+
.val = GENMASK(31, 0), \
21952199
}
21962200

21972201
/*
@@ -2380,40 +2384,39 @@ static const struct sys_reg_desc sys_reg_descs[] = {
23802384

23812385
/* AArch64 mappings of the AArch32 ID registers */
23822386
/* CRm=1 */
2383-
AA32_ID_SANITISED(ID_PFR0_EL1),
2384-
AA32_ID_SANITISED(ID_PFR1_EL1),
2387+
AA32_ID_WRITABLE(ID_PFR0_EL1),
2388+
AA32_ID_WRITABLE(ID_PFR1_EL1),
23852389
{ SYS_DESC(SYS_ID_DFR0_EL1),
23862390
.access = access_id_reg,
23872391
.get_user = get_id_reg,
23882392
.set_user = set_id_dfr0_el1,
23892393
.visibility = aa32_id_visibility,
23902394
.reset = read_sanitised_id_dfr0_el1,
2391-
.val = ID_DFR0_EL1_PerfMon_MASK |
2392-
ID_DFR0_EL1_CopDbg_MASK, },
2395+
.val = GENMASK(31, 0), },
23932396
ID_HIDDEN(ID_AFR0_EL1),
2394-
AA32_ID_SANITISED(ID_MMFR0_EL1),
2395-
AA32_ID_SANITISED(ID_MMFR1_EL1),
2396-
AA32_ID_SANITISED(ID_MMFR2_EL1),
2397-
AA32_ID_SANITISED(ID_MMFR3_EL1),
2397+
AA32_ID_WRITABLE(ID_MMFR0_EL1),
2398+
AA32_ID_WRITABLE(ID_MMFR1_EL1),
2399+
AA32_ID_WRITABLE(ID_MMFR2_EL1),
2400+
AA32_ID_WRITABLE(ID_MMFR3_EL1),
23982401

23992402
/* CRm=2 */
2400-
AA32_ID_SANITISED(ID_ISAR0_EL1),
2401-
AA32_ID_SANITISED(ID_ISAR1_EL1),
2402-
AA32_ID_SANITISED(ID_ISAR2_EL1),
2403-
AA32_ID_SANITISED(ID_ISAR3_EL1),
2404-
AA32_ID_SANITISED(ID_ISAR4_EL1),
2405-
AA32_ID_SANITISED(ID_ISAR5_EL1),
2406-
AA32_ID_SANITISED(ID_MMFR4_EL1),
2407-
AA32_ID_SANITISED(ID_ISAR6_EL1),
2403+
AA32_ID_WRITABLE(ID_ISAR0_EL1),
2404+
AA32_ID_WRITABLE(ID_ISAR1_EL1),
2405+
AA32_ID_WRITABLE(ID_ISAR2_EL1),
2406+
AA32_ID_WRITABLE(ID_ISAR3_EL1),
2407+
AA32_ID_WRITABLE(ID_ISAR4_EL1),
2408+
AA32_ID_WRITABLE(ID_ISAR5_EL1),
2409+
AA32_ID_WRITABLE(ID_MMFR4_EL1),
2410+
AA32_ID_WRITABLE(ID_ISAR6_EL1),
24082411

24092412
/* CRm=3 */
2410-
AA32_ID_SANITISED(MVFR0_EL1),
2411-
AA32_ID_SANITISED(MVFR1_EL1),
2412-
AA32_ID_SANITISED(MVFR2_EL1),
2413+
AA32_ID_WRITABLE(MVFR0_EL1),
2414+
AA32_ID_WRITABLE(MVFR1_EL1),
2415+
AA32_ID_WRITABLE(MVFR2_EL1),
24132416
ID_UNALLOCATED(3,3),
2414-
AA32_ID_SANITISED(ID_PFR2_EL1),
2417+
AA32_ID_WRITABLE(ID_PFR2_EL1),
24152418
ID_HIDDEN(ID_DFR1_EL1),
2416-
AA32_ID_SANITISED(ID_MMFR5_EL1),
2419+
AA32_ID_WRITABLE(ID_MMFR5_EL1),
24172420
ID_UNALLOCATED(3,7),
24182421

24192422
/* AArch64 ID registers */

arch/loongarch/include/uapi/asm/ptrace.h

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@
1010

1111
#include <linux/types.h>
1212

13-
#ifndef __KERNEL__
14-
#include <stdint.h>
15-
#endif
16-
1713
/*
1814
* For PTRACE_{POKE,PEEK}USR. 0 - 31 are GPRs,
1915
* 32 is syscall's original ARG0, 33 is PC, 34 is BADVADDR.
@@ -41,44 +37,44 @@ struct user_pt_regs {
4137
} __attribute__((aligned(8)));
4238

4339
struct user_fp_state {
44-
uint64_t fpr[32];
45-
uint64_t fcc;
46-
uint32_t fcsr;
40+
__u64 fpr[32];
41+
__u64 fcc;
42+
__u32 fcsr;
4743
};
4844

4945
struct user_lsx_state {
5046
/* 32 registers, 128 bits width per register. */
51-
uint64_t vregs[32*2];
47+
__u64 vregs[32*2];
5248
};
5349

5450
struct user_lasx_state {
5551
/* 32 registers, 256 bits width per register. */
56-
uint64_t vregs[32*4];
52+
__u64 vregs[32*4];
5753
};
5854

5955
struct user_lbt_state {
60-
uint64_t scr[4];
61-
uint32_t eflags;
62-
uint32_t ftop;
56+
__u64 scr[4];
57+
__u32 eflags;
58+
__u32 ftop;
6359
};
6460

6561
struct user_watch_state {
66-
uint64_t dbg_info;
62+
__u64 dbg_info;
6763
struct {
68-
uint64_t addr;
69-
uint64_t mask;
70-
uint32_t ctrl;
71-
uint32_t pad;
64+
__u64 addr;
65+
__u64 mask;
66+
__u32 ctrl;
67+
__u32 pad;
7268
} dbg_regs[8];
7369
};
7470

7571
struct user_watch_state_v2 {
76-
uint64_t dbg_info;
72+
__u64 dbg_info;
7773
struct {
78-
uint64_t addr;
79-
uint64_t mask;
80-
uint32_t ctrl;
81-
uint32_t pad;
74+
__u64 addr;
75+
__u64 mask;
76+
__u32 ctrl;
77+
__u32 pad;
8278
} dbg_regs[14];
8379
};
8480

0 commit comments

Comments
 (0)