Skip to content

Commit 71f493d

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.18.y' into rpi-6.18.y
2 parents 3152f2d + acb7cf4 commit 71f493d

348 files changed

Lines changed: 3346 additions & 1734 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/netlink/genetlink-c.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,15 @@ properties:
6969
header:
7070
description: For C-compatible languages, header which already defines this value.
7171
type: string
72+
scope:
73+
description: |
74+
Visibility of this definition. "uapi" (default) renders into
75+
the uAPI header, "kernel" renders into the kernel-side
76+
generated header, "user" renders into the user-side
77+
generated header. When combined with `header:`, the
78+
definition is not rendered, and the named header is
79+
included only by code matching the scope.
80+
enum: [ uapi, kernel, user ]
7281
type:
7382
enum: [ const, enum, flags ]
7483
doc:

Documentation/netlink/genetlink-legacy.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,15 @@ properties:
8383
header:
8484
description: For C-compatible languages, header which already defines this value.
8585
type: string
86+
scope:
87+
description: |
88+
Visibility of this definition. "uapi" (default) renders into
89+
the uAPI header, "kernel" renders into the kernel-side
90+
generated header, "user" renders into the user-side
91+
generated header. When combined with `header:`, the
92+
definition is not rendered, and the named header is
93+
included only by code matching the scope.
94+
enum: [ uapi, kernel, user ]
8695
type:
8796
enum: [ const, enum, flags, struct ] # Trim
8897
doc:

Documentation/netlink/genetlink.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@ properties:
5555
header:
5656
description: For C-compatible languages, header which already defines this value.
5757
type: string
58+
scope:
59+
description: |
60+
Visibility of this definition. "uapi" (default) renders into
61+
the uAPI header, "kernel" renders into the kernel-side
62+
generated header, "user" renders into the user-side
63+
generated header. When combined with `header:`, the
64+
definition is not rendered, and the named header is
65+
included only by code matching the scope.
66+
enum: [ uapi, kernel, user ]
5867
type:
5968
enum: [ const, enum, flags ]
6069
doc:

Documentation/netlink/netlink-raw.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,15 @@ properties:
8181
header:
8282
description: For C-compatible languages, header which already defines this value.
8383
type: string
84+
scope:
85+
description: |
86+
Visibility of this definition. "uapi" (default) renders into
87+
the uAPI header, "kernel" renders into the kernel-side
88+
generated header, "user" renders into the user-side
89+
generated header. When combined with `header:`, the
90+
definition is not rendered, and the named header is
91+
included only by code matching the scope.
92+
enum: [ uapi, kernel, user ]
8493
type:
8594
enum: [ const, enum, flags, struct ] # Trim
8695
doc:

Documentation/netlink/specs/handshake.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ protocol: genetlink
1212
doc: Netlink protocol to request a transport layer security handshake.
1313

1414
definitions:
15+
-
16+
type: const
17+
name: max-errno
18+
value: 4095
19+
header: linux/err.h
20+
scope: kernel
1521
-
1622
type: enum
1723
name: handler-class
@@ -80,6 +86,8 @@ attribute-sets:
8086
-
8187
name: status
8288
type: u32
89+
checks:
90+
max: max-errno
8391
-
8492
name: sockfd
8593
type: s32

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

arch/arm64/include/asm/tlb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ static inline int tlb_get_level(struct mmu_gather *tlb)
5353
static inline void tlb_flush(struct mmu_gather *tlb)
5454
{
5555
struct vm_area_struct vma = TLB_FLUSH_VMA(tlb->mm, 0);
56-
bool last_level = !tlb->freed_tables;
56+
bool last_level = !(tlb->freed_tables || tlb->unshared_tables);
5757
unsigned long stride = tlb_get_unmap_size(tlb);
5858
int tlb_level = tlb_get_level(tlb);
5959

arch/arm64/kvm/nested.c

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,28 @@ int kvm_vcpu_init_nested(struct kvm_vcpu *vcpu)
8989
* again, and there is no reason to affect the whole VM for this.
9090
*/
9191
num_mmus = atomic_read(&kvm->online_vcpus) * S2_MMU_PER_VCPU;
92-
tmp = kvrealloc(kvm->arch.nested_mmus,
93-
size_mul(sizeof(*kvm->arch.nested_mmus), num_mmus),
94-
GFP_KERNEL_ACCOUNT | __GFP_ZERO);
95-
if (!tmp)
96-
return -ENOMEM;
9792

98-
swap(kvm->arch.nested_mmus, tmp);
93+
if (num_mmus > kvm->arch.nested_mmus_size) {
94+
tmp = kvcalloc(num_mmus, sizeof(*tmp), GFP_KERNEL_ACCOUNT);
95+
if (!tmp)
96+
return -ENOMEM;
9997

100-
/*
101-
* If we went through a realocation, adjust the MMU back-pointers in
102-
* the previously initialised kvm_pgtable structures.
103-
*/
104-
if (kvm->arch.nested_mmus != tmp)
105-
for (int i = 0; i < kvm->arch.nested_mmus_size; i++)
106-
kvm->arch.nested_mmus[i].pgt->mmu = &kvm->arch.nested_mmus[i];
98+
write_lock(&kvm->mmu_lock);
99+
100+
if (kvm->arch.nested_mmus_size) {
101+
memcpy(tmp, kvm->arch.nested_mmus,
102+
size_mul(sizeof(*tmp), kvm->arch.nested_mmus_size));
103+
104+
for (int i = 0; i < kvm->arch.nested_mmus_size; i++)
105+
tmp[i].pgt->mmu = &tmp[i];
106+
}
107+
108+
swap(kvm->arch.nested_mmus, tmp);
109+
110+
write_unlock(&kvm->mmu_lock);
111+
112+
kvfree(tmp);
113+
}
107114

108115
for (int i = kvm->arch.nested_mmus_size; !ret && i < num_mmus; i++)
109116
ret = init_nested_s2_mmu(kvm, &kvm->arch.nested_mmus[i]);

arch/arm64/kvm/pmu-emul.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ static void kvm_pmu_set_pmc_value(struct kvm_pmc *pmc, u64 val, bool force)
174174
* action is to use PMCR.P, which will reset them to
175175
* 0 (the only use of the 'force' parameter).
176176
*/
177-
val = __vcpu_sys_reg(vcpu, reg) & GENMASK(63, 32);
178-
val |= lower_32_bits(val);
177+
val = (__vcpu_sys_reg(vcpu, reg) & GENMASK(63, 32)) |
178+
lower_32_bits(val);
179179
}
180180

181181
__vcpu_assign_sys_reg(vcpu, reg, val);

arch/arm64/kvm/vgic/vgic-its.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,8 +597,10 @@ static void vgic_its_invalidate_cache(struct vgic_its *its)
597597
unsigned long idx;
598598

599599
xa_for_each(&its->translation_cache, idx, irq) {
600-
xa_erase(&its->translation_cache, idx);
601-
vgic_put_irq(kvm, irq);
600+
/* Only the context that erases the entry drops its cache ref. */
601+
irq = xa_erase(&its->translation_cache, idx);
602+
if (irq)
603+
vgic_put_irq(kvm, irq);
602604
}
603605
}
604606

0 commit comments

Comments
 (0)