Skip to content

Commit 6e9cf6d

Browse files
committed
Merge tag 'v6.18.4' into 6.18-main
This is the 6.18.4 stable release # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmlfdpcACgkQONu9yGCS # aT4big/7Bldlv8unUf6BeMe6NVcxoYgwSUrYALZyLmvb5CSJPylHkSYTV6J7BvZp # PeoFgVPH3SHXX2XaINJ6M4dGTeRjdj2Zr9yVwMEjLP8rUNvoaSSw6eUM0UaZsDC6 # y1BDWVBWdMIAixyevR8Vna++EmlNDqHamCBo3HiezzjvauOUp75sESMBOkjfckcQ # y7qc1kVCr66L5tqv97zBPoQpP8ytGzRPvjPKT0EVPmaXX8Ot6vh8AmPx+0yk5Nq1 # /AnEzq3RNkKctS0n9DVJCG9AOjsuQ2IGkYyP7cO5sO6wiIIcF/uz0xqt347u0ROW # 3GUIFch9ay6ZVMzvn8rZVsGDEhCMURZl49WWLDNj+qSwb6mUO6y61ShceAC+NZUN # UCx0ZqSkqseVm6wQrOwoVee7x0+dSU/f0mLa2qmDd3ruXEJc4L+LfXUm7V4WX5OV # YL/oCXSrmLr21HQKkkCEUIsadrdxh0DiCtfgNkrOGv/kiIHVaMEcLmVgrlo8L/+y # TrKb9ozgIoGC6BDVx3Af5I1zDP92xXcXD9SZmJClqANvUqT8oHWCtyv6t4tDDXFO # zkJ3gvQB3KZejDKWqWvwxY4fgMBqeY272jAfJ4S2LOPwFBaB85B4O7E6VfrqugW8 # 4/KEoKMoC8QboyDvzSh81PtIO6NJS8P21U/nvRn0ctL5ye6jWj8= # =5ucs # -----END PGP SIGNATURE----- # gpg: Signature made Thu Jan 8 10:19:19 2026 CET # gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E # gpg: Can't check signature: No public key
2 parents a5ce83d + 3aa9aac commit 6e9cf6d

326 files changed

Lines changed: 3279 additions & 1652 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.

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

arch/arm64/boot/dts/qcom/sm6350.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,11 +1180,11 @@
11801180
<0 0>,
11811181
<0 0>,
11821182
<37500000 150000000>,
1183-
<75000000 300000000>,
11841183
<0 0>,
11851184
<0 0>,
11861185
<0 0>,
1187-
<0 0>;
1186+
<0 0>,
1187+
<75000000 300000000>;
11881188

11891189
status = "disabled";
11901190
};

arch/arm64/boot/dts/st/stm32mp257f-ev1.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@
266266

267267
&ommanager {
268268
memory-region = <&mm_ospi1>;
269+
memory-region-names = "ospi1";
269270
pinctrl-0 = <&ospi_port1_clk_pins_a
270271
&ospi_port1_io03_pins_a
271272
&ospi_port1_cs0_pins_a>;

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
regulator-name = "vdd_mmc1";
147147
regulator-min-microvolt = <3300000>;
148148
regulator-max-microvolt = <3300000>;
149+
vin-supply = <&vcc_3v3_sys>;
149150
regulator-boot-on;
150151
enable-active-high;
151152
gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
@@ -165,14 +166,16 @@
165166
};
166167

167168
vddshv_sdio: regulator-6 {
169+
/* output of TLV7103318QDSERQ1 */
168170
compatible = "regulator-gpio";
169171
regulator-name = "vddshv_sdio";
170172
pinctrl-names = "default";
171173
pinctrl-0 = <&vddshv_sdio_pins_default>;
172174
regulator-min-microvolt = <1800000>;
173175
regulator-max-microvolt = <3300000>;
176+
vin-supply = <&vcc_5v0>;
174177
regulator-boot-on;
175-
gpios = <&main_gpio1 31 GPIO_ACTIVE_HIGH>;
178+
gpios = <&main_gpio0 59 GPIO_ACTIVE_HIGH>;
176179
states = <1800000 0x0>,
177180
<3300000 0x1>;
178181
bootph-all;
@@ -198,7 +201,7 @@
198201

199202
pmic_irq_pins_default: pmic-irq-default-pins {
200203
pinctrl-single,pins = <
201-
AM62DX_MCU_IOPAD(0x000, PIN_INPUT, 7) /* (E11) MCU_GPIO0_0 */
204+
AM62DX_IOPAD(0x01f4, PIN_INPUT, 7) /* (F17) EXTINTn.GPIO1_31 */
202205
>;
203206
};
204207

@@ -334,7 +337,7 @@
334337

335338
vddshv_sdio_pins_default: vddshv-sdio-default-pins {
336339
pinctrl-single,pins = <
337-
AM62DX_IOPAD(0x1f4, PIN_OUTPUT, 7) /* (M19) GPMC0_CLK.GPIO1_31 */
340+
AM62DX_IOPAD(0x00f0, PIN_INPUT, 7) /* (Y21) GPIO0_59 */
338341
>;
339342
bootph-all;
340343
};

arch/arm64/boot/dts/ti/k3-j721e-sk.dts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,12 @@
474474
J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) EXT_REFCLK1.GPIO1_12 */
475475
>;
476476
};
477+
478+
vdd_sd_dv_pins_default: vdd-sd-dv-default-pins {
479+
pinctrl-single,pins = <
480+
J721E_IOPAD(0x1dc, PIN_OUTPUT, 7) /* (Y1) SPI1_CLK.GPIO0_118 */
481+
>;
482+
};
477483
};
478484

479485
&wkup_pmx0 {
@@ -536,12 +542,6 @@
536542
>;
537543
};
538544

539-
vdd_sd_dv_pins_default: vdd-sd-dv-default-pins {
540-
pinctrl-single,pins = <
541-
J721E_IOPAD(0x1dc, PIN_OUTPUT, 7) /* (Y1) SPI1_CLK.GPIO0_118 */
542-
>;
543-
};
544-
545545
wkup_uart0_pins_default: wkup-uart0-default-pins {
546546
pinctrl-single,pins = <
547547
J721E_WKUP_IOPAD(0xa0, PIN_INPUT, 0) /* (J29) WKUP_UART0_RXD */

arch/loongarch/include/asm/pgtable.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,9 @@ static inline pte_t mk_swap_pte(unsigned long type, unsigned long offset)
297297
#define __swp_offset(x) ((x).val >> 24)
298298
#define __swp_entry(type, offset) ((swp_entry_t) { pte_val(mk_swap_pte((type), (offset))) })
299299
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
300-
#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
300+
#define __swp_entry_to_pte(x) __pte((x).val)
301301
#define __pmd_to_swp_entry(pmd) ((swp_entry_t) { pmd_val(pmd) })
302-
#define __swp_entry_to_pmd(x) ((pmd_t) { (x).val | _PAGE_HUGE })
302+
#define __swp_entry_to_pmd(x) __pmd((x).val | _PAGE_HUGE)
303303

304304
static inline bool pte_swp_exclusive(pte_t pte)
305305
{

arch/loongarch/kernel/mcount_dyn.S

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ SYM_INNER_LABEL(ftrace_graph_call, SYM_L_GLOBAL)
9494
* at the callsite, so there is no need to restore the T series regs.
9595
*/
9696
ftrace_common_return:
97-
PTR_L ra, sp, PT_R1
9897
PTR_L a0, sp, PT_R4
9998
PTR_L a1, sp, PT_R5
10099
PTR_L a2, sp, PT_R6
@@ -104,12 +103,17 @@ ftrace_common_return:
104103
PTR_L a6, sp, PT_R10
105104
PTR_L a7, sp, PT_R11
106105
PTR_L fp, sp, PT_R22
107-
PTR_L t0, sp, PT_ERA
108106
PTR_L t1, sp, PT_R13
109-
PTR_ADDI sp, sp, PT_SIZE
110107
bnez t1, .Ldirect
108+
109+
PTR_L ra, sp, PT_R1
110+
PTR_L t0, sp, PT_ERA
111+
PTR_ADDI sp, sp, PT_SIZE
111112
jr t0
112113
.Ldirect:
114+
PTR_L t0, sp, PT_R1
115+
PTR_L ra, sp, PT_ERA
116+
PTR_ADDI sp, sp, PT_SIZE
113117
jr t1
114118
SYM_CODE_END(ftrace_common)
115119

@@ -161,6 +165,8 @@ SYM_CODE_END(return_to_handler)
161165
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
162166
SYM_CODE_START(ftrace_stub_direct_tramp)
163167
UNWIND_HINT_UNDEFINED
164-
jr t0
168+
move t1, ra
169+
move ra, t0
170+
jr t1
165171
SYM_CODE_END(ftrace_stub_direct_tramp)
166172
#endif /* CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS */

arch/loongarch/kernel/process.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
130130

131131
preempt_enable();
132132

133+
if (IS_ENABLED(CONFIG_RANDSTRUCT)) {
134+
memcpy(dst, src, sizeof(struct task_struct));
135+
return 0;
136+
}
137+
133138
if (!used_math())
134139
memcpy(dst, src, offsetof(struct task_struct, thread.fpu.fpr));
135140
else

arch/loongarch/kernel/relocate.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ static inline void __init *determine_relocation_address(void)
183183
if (kaslr_disabled())
184184
return destination;
185185

186-
kernel_length = (long)_end - (long)_text;
186+
kernel_length = (unsigned long)_end - (unsigned long)_text;
187187

188188
random_offset = get_random_boot() << 16;
189189
random_offset &= (CONFIG_RANDOMIZE_BASE_MAX_OFFSET - 1);
@@ -232,7 +232,7 @@ unsigned long __init relocate_kernel(void)
232232
early_memunmap(cmdline, COMMAND_LINE_SIZE);
233233

234234
if (random_offset) {
235-
kernel_length = (long)(_end) - (long)(_text);
235+
kernel_length = (unsigned long)(_end) - (unsigned long)(_text);
236236

237237
/* Copy the kernel to it's new location */
238238
memcpy(location_new, _text, kernel_length);

arch/loongarch/kernel/setup.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
#define SMBIOS_FREQLOW_MASK 0xFF
5757
#define SMBIOS_CORE_PACKAGE_OFFSET 0x23
5858
#define SMBIOS_THREAD_PACKAGE_OFFSET 0x25
59+
#define SMBIOS_THREAD_PACKAGE_2_OFFSET 0x2E
5960
#define LOONGSON_EFI_ENABLE (1 << 3)
6061

6162
unsigned long fw_arg0, fw_arg1, fw_arg2;
@@ -126,7 +127,12 @@ static void __init parse_cpu_table(const struct dmi_header *dm)
126127
cpu_clock_freq = freq_temp * 1000000;
127128

128129
loongson_sysconf.cpuname = (void *)dmi_string_parse(dm, dmi_data[16]);
129-
loongson_sysconf.cores_per_package = *(dmi_data + SMBIOS_THREAD_PACKAGE_OFFSET);
130+
loongson_sysconf.cores_per_package = *(u8 *)(dmi_data + SMBIOS_THREAD_PACKAGE_OFFSET);
131+
if (dm->length >= 0x30 && loongson_sysconf.cores_per_package == 0xff) {
132+
/* SMBIOS 3.0+ has ThreadCount2 for more than 255 threads */
133+
loongson_sysconf.cores_per_package =
134+
*(u16 *)(dmi_data + SMBIOS_THREAD_PACKAGE_2_OFFSET);
135+
}
130136

131137
pr_info("CpuClock = %llu\n", cpu_clock_freq);
132138
}

0 commit comments

Comments
 (0)