Skip to content

Commit b8316e7

Browse files
committed
Merge tag 'v6.12.81' into 6.12-main
2 parents fefe430 + e7a3953 commit b8316e7

215 files changed

Lines changed: 2592 additions & 1281 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/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ then:
6666
required:
6767
- refresh-rate-hz
6868

69-
additionalProperties: false
69+
unevaluatedProperties: false
7070

7171
examples:
7272
- |

Documentation/devicetree/bindings/connector/usb-connector.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ properties:
254254
additionalProperties: false
255255

256256
dependencies:
257+
pd-disable: [typec-power-opmode]
257258
sink-vdos-v1: [ sink-vdos ]
258259
sink-vdos: [ sink-vdos-v1 ]
259260

Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ properties:
3434
const: 2
3535

3636
"#interrupt-cells":
37-
const: 1
37+
const: 2
3838

3939
ngpios:
4040
description:
@@ -83,7 +83,7 @@ examples:
8383
gpio-controller;
8484
#gpio-cells = <2>;
8585
interrupt-controller;
86-
#interrupt-cells = <1>;
86+
#interrupt-cells = <2>;
8787
interrupts = <53>, <53>, <53>, <53>,
8888
<53>, <53>, <53>, <53>,
8989
<53>, <53>, <53>, <53>,

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

arch/arm64/kernel/pi/patch-scs.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,14 @@ static int scs_handle_fde_frame(const struct eh_frame *frame,
174174
size -= 2;
175175
break;
176176

177+
case DW_CFA_advance_loc4:
178+
loc += *opcode++ * code_alignment_factor;
179+
loc += (*opcode++ << 8) * code_alignment_factor;
180+
loc += (*opcode++ << 16) * code_alignment_factor;
181+
loc += (*opcode++ << 24) * code_alignment_factor;
182+
size -= 4;
183+
break;
184+
177185
case DW_CFA_def_cfa:
178186
case DW_CFA_offset_extended:
179187
size = skip_xleb128(&opcode, size);

arch/loongarch/include/asm/setup.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,13 @@
77
#define _LOONGARCH_SETUP_H
88

99
#include <linux/types.h>
10-
#include <linux/threads.h>
1110
#include <asm/sections.h>
1211
#include <uapi/asm/setup.h>
1312

1413
#define VECSIZE 0x200
1514

1615
extern unsigned long eentry;
1716
extern unsigned long tlbrentry;
18-
extern unsigned long pcpu_handlers[NR_CPUS];
19-
extern long exception_handlers[VECSIZE * 128 / sizeof(long)];
2017
extern char init_command_line[COMMAND_LINE_SIZE];
2118
extern void tlb_init(int cpu);
2219
extern void cpu_cache_init(void);

arch/loongarch/kernel/unwind_orc.c

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -357,21 +357,13 @@ static bool is_entry_func(unsigned long addr)
357357

358358
static inline unsigned long bt_address(unsigned long ra)
359359
{
360-
#if defined(CONFIG_NUMA) && !defined(CONFIG_PREEMPT_RT)
361-
int cpu;
362-
int vec_sz = sizeof(exception_handlers);
360+
extern unsigned long eentry;
363361

364-
for_each_possible_cpu(cpu) {
365-
if (!pcpu_handlers[cpu])
366-
continue;
362+
if (__kernel_text_address(ra))
363+
return ra;
367364

368-
if (ra >= pcpu_handlers[cpu] &&
369-
ra < pcpu_handlers[cpu] + vec_sz) {
370-
ra = ra + eentry - pcpu_handlers[cpu];
371-
break;
372-
}
373-
}
374-
#endif
365+
if (__module_text_address(ra))
366+
return ra;
375367

376368
if (ra >= eentry && ra < eentry + EXCCODE_INT_END * VECSIZE) {
377369
unsigned long func;
@@ -390,13 +382,10 @@ static inline unsigned long bt_address(unsigned long ra)
390382
break;
391383
}
392384

393-
ra = func + offset;
385+
return func + offset;
394386
}
395387

396-
if (__kernel_text_address(ra))
397-
return ra;
398-
399-
return 0;
388+
return ra;
400389
}
401390

402391
bool unwind_next_frame(struct unwind_state *state)
@@ -410,7 +399,7 @@ bool unwind_next_frame(struct unwind_state *state)
410399
return false;
411400

412401
/* Don't let modules unload while we're reading their ORC data. */
413-
guard(rcu)();
402+
preempt_disable();
414403

415404
if (is_entry_func(state->pc))
416405
goto end;
@@ -522,12 +511,17 @@ bool unwind_next_frame(struct unwind_state *state)
522511
goto err;
523512
}
524513

514+
if (!__kernel_text_address(state->pc))
515+
goto err;
516+
517+
preempt_enable();
525518
return true;
526519

527520
err:
528521
state->error = true;
529522

530523
end:
524+
preempt_enable();
531525
state->stack_info.type = STACK_TYPE_UNKNOWN;
532526
return false;
533527
}

arch/mips/lib/multi3.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
#include "libgcc.h"
55

66
/*
7-
* GCC 7 & older can suboptimally generate __multi3 calls for mips64r6, so for
7+
* GCC 9 & older can suboptimally generate __multi3 calls for mips64r6, so for
88
* that specific case only we implement that intrinsic here.
99
*
1010
* See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82981
1111
*/
12-
#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) && (__GNUC__ < 8)
12+
#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) && (__GNUC__ < 10)
1313

1414
/* multiply 64-bit values, low 64-bits returned */
1515
static inline long long notrace dmulu(long long a, long long b)
@@ -51,4 +51,4 @@ ti_type notrace __multi3(ti_type a, ti_type b)
5151
}
5252
EXPORT_SYMBOL(__multi3);
5353

54-
#endif /* 64BIT && CPU_MIPSR6 && GCC7 */
54+
#endif /* 64BIT && CPU_MIPSR6 && GCC9 */

arch/mips/mm/cache.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,8 @@ void cpu_cache_init(void)
207207
{
208208
if (IS_ENABLED(CONFIG_CPU_R3000) && cpu_has_3k_cache)
209209
r3k_cache_init();
210-
if (IS_ENABLED(CONFIG_CPU_R4K_CACHE_TLB) && cpu_has_4k_cache)
210+
if ((IS_ENABLED(CONFIG_CPU_R4K_CACHE_TLB) ||
211+
IS_ENABLED(CONFIG_CPU_SB1)) && cpu_has_4k_cache)
211212
r4k_cache_init();
212213

213214
if (IS_ENABLED(CONFIG_CPU_CAVIUM_OCTEON) && cpu_has_octeon_cache)

arch/mips/mm/tlb-r4k.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ static void __ref r4k_tlb_uniquify(void)
538538

539539
tlb_vpn_size = tlbsize * sizeof(*tlb_vpns);
540540
tlb_vpns = (use_slab ?
541-
kmalloc(tlb_vpn_size, GFP_KERNEL) :
541+
kmalloc(tlb_vpn_size, GFP_ATOMIC) :
542542
memblock_alloc_raw(tlb_vpn_size, sizeof(*tlb_vpns)));
543543
if (WARN_ON(!tlb_vpns))
544544
return; /* Pray local_flush_tlb_all() is good enough. */

0 commit comments

Comments
 (0)