Skip to content

Commit a5546c2

Browse files
committed
Merge tag 'kvm-s390-master-6.13-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
KVM: s390: three small bugfixes Fix a latent bug when the kernel is compiled in debug mode. Two small UCONTROL fixes and their selftests.
2 parents 5c99a68 + e376d95 commit a5546c2

File tree

265 files changed

+2818
-1270
lines changed

Some content is hidden

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

265 files changed

+2818
-1270
lines changed

.mailmap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ Martin Kepplinger <[email protected]> <[email protected]>
435435
436436
437437
Martyna Szapar-Mudlaw <[email protected]> <[email protected]>
438-
Mathieu Othacehe <m.othacehe@gmail.com> <othacehe@gnu.org>
438+
Mathieu Othacehe <othacehe@gnu.org> <m.othacehe@gmail.com>
439439
440440
441441

Documentation/admin-guide/laptops/thinkpad-acpi.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,10 @@ event code Key Notes
445445
0x1008 0x07 FN+F8 IBM: toggle screen expand
446446
Lenovo: configure UltraNav,
447447
or toggle screen expand.
448-
On newer platforms (2024+)
449-
replaced by 0x131f (see below)
448+
On 2024 platforms replaced by
449+
0x131f (see below) and on newer
450+
platforms (2025 +) keycode is
451+
replaced by 0x1401 (see below).
450452

451453
0x1009 0x08 FN+F9 -
452454

@@ -506,9 +508,11 @@ event code Key Notes
506508

507509
0x1019 0x18 unknown
508510

509-
0x131f ... FN+F8 Platform Mode change.
511+
0x131f ... FN+F8 Platform Mode change (2024 systems).
510512
Implemented in driver.
511513

514+
0x1401 ... FN+F8 Platform Mode change (2025 + systems).
515+
Implemented in driver.
512516
... ... ...
513517

514518
0x1020 0x1F unknown

Documentation/admin-guide/mm/transhuge.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ AnonHugePmdMapped).
436436
The number of file transparent huge pages mapped to userspace is available
437437
by reading ShmemPmdMapped and ShmemHugePages fields in ``/proc/meminfo``.
438438
To identify what applications are mapping file transparent huge pages, it
439-
is necessary to read ``/proc/PID/smaps`` and count the FileHugeMapped fields
439+
is necessary to read ``/proc/PID/smaps`` and count the FilePmdMapped fields
440440
for each mapping.
441441

442442
Note that reading the smaps file is expensive and reading it

Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ properties:
9090
adi,dsi-lanes:
9191
description: Number of DSI data lanes connected to the DSI host.
9292
$ref: /schemas/types.yaml#/definitions/uint32
93-
enum: [ 1, 2, 3, 4 ]
93+
enum: [ 2, 3, 4 ]
9494

9595
"#sound-dai-cells":
9696
const: 0

Documentation/devicetree/bindings/sound/realtek,rt5645.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ properties:
5151
description: Power supply for AVDD, providing 1.8V.
5252

5353
cpvdd-supply:
54-
description: Power supply for CPVDD, providing 3.5V.
54+
description: Power supply for CPVDD, providing 1.8V.
5555

5656
hp-detect-gpios:
5757
description:

Documentation/netlink/specs/mptcp_pm.yaml

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,65 +22,67 @@ definitions:
2222
doc: unused event
2323
-
2424
name: created
25-
doc:
26-
token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
25+
doc: >-
2726
A new MPTCP connection has been created. It is the good time to
2827
allocate memory and send ADD_ADDR if needed. Depending on the
2928
traffic-patterns it can take a long time until the
3029
MPTCP_EVENT_ESTABLISHED is sent.
30+
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
31+
dport, server-side.
3132
-
3233
name: established
33-
doc:
34-
token, family, saddr4 | saddr6, daddr4 | daddr6, sport, dport
34+
doc: >-
3535
A MPTCP connection is established (can start new subflows).
36+
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
37+
dport, server-side.
3638
-
3739
name: closed
38-
doc:
39-
token
40+
doc: >-
4041
A MPTCP connection has stopped.
42+
Attribute: token.
4143
-
4244
name: announced
4345
value: 6
44-
doc:
45-
token, rem_id, family, daddr4 | daddr6 [, dport]
46+
doc: >-
4647
A new address has been announced by the peer.
48+
Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
4749
-
4850
name: removed
49-
doc:
50-
token, rem_id
51+
doc: >-
5152
An address has been lost by the peer.
53+
Attributes: token, rem_id.
5254
-
5355
name: sub-established
5456
value: 10
55-
doc:
56-
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
57-
dport, backup, if_idx [, error]
57+
doc: >-
5858
A new subflow has been established. 'error' should not be set.
59+
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
60+
daddr6, sport, dport, backup, if_idx [, error].
5961
-
6062
name: sub-closed
61-
doc:
62-
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
63-
dport, backup, if_idx [, error]
63+
doc: >-
6464
A subflow has been closed. An error (copy of sk_err) could be set if an
6565
error has been detected for this subflow.
66+
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
67+
daddr6, sport, dport, backup, if_idx [, error].
6668
-
6769
name: sub-priority
6870
value: 13
69-
doc:
70-
token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | daddr6, sport,
71-
dport, backup, if_idx [, error]
71+
doc: >-
7272
The priority of a subflow has changed. 'error' should not be set.
73+
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
74+
daddr6, sport, dport, backup, if_idx [, error].
7375
-
7476
name: listener-created
7577
value: 15
76-
doc:
77-
family, sport, saddr4 | saddr6
78+
doc: >-
7879
A new PM listener is created.
80+
Attributes: family, sport, saddr4 | saddr6.
7981
-
8082
name: listener-closed
81-
doc:
82-
family, sport, saddr4 | saddr6
83+
doc: >-
8384
A PM listener is closed.
85+
Attributes: family, sport, saddr4 | saddr6.
8486
8587
attribute-sets:
8688
-
@@ -306,8 +308,8 @@ operations:
306308
attributes:
307309
- addr
308310
-
309-
name: flush-addrs
310-
doc: flush addresses
311+
name: flush-addrs
312+
doc: Flush addresses
311313
attribute-set: endpoint
312314
dont-validate: [ strict ]
313315
flags: [ uns-admin-perm ]
@@ -351,7 +353,7 @@ operations:
351353
- addr-remote
352354
-
353355
name: announce
354-
doc: announce new sf
356+
doc: Announce new address
355357
attribute-set: attr
356358
dont-validate: [ strict ]
357359
flags: [ uns-admin-perm ]
@@ -362,7 +364,7 @@ operations:
362364
- token
363365
-
364366
name: remove
365-
doc: announce removal
367+
doc: Announce removal
366368
attribute-set: attr
367369
dont-validate: [ strict ]
368370
flags: [ uns-admin-perm ]
@@ -373,7 +375,7 @@ operations:
373375
- loc-id
374376
-
375377
name: subflow-create
376-
doc: todo
378+
doc: Create subflow
377379
attribute-set: attr
378380
dont-validate: [ strict ]
379381
flags: [ uns-admin-perm ]
@@ -385,7 +387,7 @@ operations:
385387
- addr-remote
386388
-
387389
name: subflow-destroy
388-
doc: todo
390+
doc: Destroy subflow
389391
attribute-set: attr
390392
dont-validate: [ strict ]
391393
flags: [ uns-admin-perm ]

Documentation/virt/kvm/api.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1914,6 +1914,9 @@ No flags are specified so far, the corresponding field must be set to zero.
19141914
#define KVM_IRQ_ROUTING_HV_SINT 4
19151915
#define KVM_IRQ_ROUTING_XEN_EVTCHN 5
19161916

1917+
On s390, adding a KVM_IRQ_ROUTING_S390_ADAPTER is rejected on ucontrol VMs with
1918+
error -EINVAL.
1919+
19171920
flags:
19181921

19191922
- KVM_MSI_VALID_DEVID: used along with KVM_IRQ_ROUTING_MSI routing entry

Documentation/virt/kvm/devices/s390_flic.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,15 @@ Groups:
5858
Enables async page faults for the guest. So in case of a major page fault
5959
the host is allowed to handle this async and continues the guest.
6060

61+
-EINVAL is returned when called on the FLIC of a ucontrol VM.
62+
6163
KVM_DEV_FLIC_APF_DISABLE_WAIT
6264
Disables async page faults for the guest and waits until already pending
6365
async page faults are done. This is necessary to trigger a completion interrupt
6466
for every init interrupt before migrating the interrupt list.
6567

68+
-EINVAL is returned when called on the FLIC of a ucontrol VM.
69+
6670
KVM_DEV_FLIC_ADAPTER_REGISTER
6771
Register an I/O adapter interrupt source. Takes a kvm_s390_io_adapter
6872
describing the adapter to register::

MAINTAINERS

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,7 +1797,6 @@ F: include/uapi/linux/if_arcnet.h
17971797

17981798
ARM AND ARM64 SoC SUB-ARCHITECTURES (COMMON PARTS)
17991799
M: Arnd Bergmann <[email protected]>
1800-
M: Olof Johansson <[email protected]>
18011800
L: [email protected] (moderated for non-subscribers)
18021801
18031802
S: Maintained
@@ -3608,6 +3607,7 @@ F: drivers/phy/qualcomm/phy-ath79-usb.c
36083607

36093608
ATHEROS ATH GENERIC UTILITIES
36103609
M: Kalle Valo <[email protected]>
3610+
M: Jeff Johnson <[email protected]>
36113611
36123612
S: Supported
36133613
F: drivers/net/wireless/ath/*
@@ -14756,7 +14756,7 @@ F: drivers/memory/mtk-smi.c
1475614756
F: include/soc/mediatek/smi.h
1475714757

1475814758
MEDIATEK SWITCH DRIVER
14759-
M: Arınç ÜNAL <arinc[email protected]>
14759+
M: Chester A. Unal <chester.a[email protected]>
1476014760
M: Daniel Golle <[email protected]>
1476114761
M: DENG Qingfang <[email protected]>
1476214762
M: Sean Wang <[email protected]>
@@ -18460,7 +18460,7 @@ F: Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml
1846018460
F: drivers/pinctrl/mediatek/
1846118461

1846218462
PIN CONTROLLER - MEDIATEK MIPS
18463-
M: Arınç ÜNAL <arinc[email protected]>
18463+
M: Chester A. Unal <chester.a[email protected]>
1846418464
M: Sergio Paracuellos <[email protected]>
1846518465
L: [email protected] (moderated for non-subscribers)
1846618466
@@ -19504,7 +19504,7 @@ S: Maintained
1950419504
F: arch/mips/ralink
1950519505

1950619506
RALINK MT7621 MIPS ARCHITECTURE
19507-
M: Arınç ÜNAL <arinc[email protected]>
19507+
M: Chester A. Unal <chester.a[email protected]>
1950819508
M: Sergio Paracuellos <[email protected]>
1950919509
1951019510
S: Maintained
@@ -20907,6 +20907,8 @@ F: kernel/sched/
2090720907
SCHEDULER - SCHED_EXT
2090820908
R: Tejun Heo <[email protected]>
2090920909
R: David Vernet <[email protected]>
20910+
R: Andrea Righi <[email protected]>
20911+
R: Changwoo Min <[email protected]>
2091020912
2091120913
S: Maintained
2091220914
W: https://github.com/sched-ext/scx

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 13
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc4
5+
EXTRAVERSION = -rc6
66
NAME = Baby Opossum Posse
77

88
# *DOCUMENTATION*

arch/arm/mach-imx/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ menuconfig ARCH_MXC
66
select CLKSRC_IMX_GPT
77
select GENERIC_IRQ_CHIP
88
select GPIOLIB
9+
select PINCTRL
910
select PM_OPP if PM
1011
select SOC_BUS
1112
select SRAM

arch/nios2/kernel/cpuinfo.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,11 @@ static int show_cpuinfo(struct seq_file *m, void *v)
143143
" DIV:\t\t%s\n"
144144
" BMX:\t\t%s\n"
145145
" CDX:\t\t%s\n",
146-
cpuinfo.has_mul ? "yes" : "no",
147-
cpuinfo.has_mulx ? "yes" : "no",
148-
cpuinfo.has_div ? "yes" : "no",
149-
cpuinfo.has_bmx ? "yes" : "no",
150-
cpuinfo.has_cdx ? "yes" : "no");
146+
str_yes_no(cpuinfo.has_mul),
147+
str_yes_no(cpuinfo.has_mulx),
148+
str_yes_no(cpuinfo.has_div),
149+
str_yes_no(cpuinfo.has_bmx),
150+
str_yes_no(cpuinfo.has_cdx));
151151

152152
seq_printf(m,
153153
"Icache:\t\t%ukB, line length: %u\n",

arch/powerpc/platforms/book3s/vas-api.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,43 @@ static vm_fault_t vas_mmap_fault(struct vm_fault *vmf)
464464
return VM_FAULT_SIGBUS;
465465
}
466466

467+
/*
468+
* During mmap() paste address, mapping VMA is saved in VAS window
469+
* struct which is used to unmap during migration if the window is
470+
* still open. But the user space can remove this mapping with
471+
* munmap() before closing the window and the VMA address will
472+
* be invalid. Set VAS window VMA to NULL in this function which
473+
* is called before VMA free.
474+
*/
475+
static void vas_mmap_close(struct vm_area_struct *vma)
476+
{
477+
struct file *fp = vma->vm_file;
478+
struct coproc_instance *cp_inst = fp->private_data;
479+
struct vas_window *txwin;
480+
481+
/* Should not happen */
482+
if (!cp_inst || !cp_inst->txwin) {
483+
pr_err("No attached VAS window for the paste address mmap\n");
484+
return;
485+
}
486+
487+
txwin = cp_inst->txwin;
488+
/*
489+
* task_ref.vma is set in coproc_mmap() during mmap paste
490+
* address. So it has to be the same VMA that is getting freed.
491+
*/
492+
if (WARN_ON(txwin->task_ref.vma != vma)) {
493+
pr_err("Invalid paste address mmaping\n");
494+
return;
495+
}
496+
497+
mutex_lock(&txwin->task_ref.mmap_mutex);
498+
txwin->task_ref.vma = NULL;
499+
mutex_unlock(&txwin->task_ref.mmap_mutex);
500+
}
501+
467502
static const struct vm_operations_struct vas_vm_ops = {
503+
.close = vas_mmap_close,
468504
.fault = vas_mmap_fault,
469505
};
470506

arch/s390/kvm/interrupt.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2678,9 +2678,13 @@ static int flic_set_attr(struct kvm_device *dev, struct kvm_device_attr *attr)
26782678
kvm_s390_clear_float_irqs(dev->kvm);
26792679
break;
26802680
case KVM_DEV_FLIC_APF_ENABLE:
2681+
if (kvm_is_ucontrol(dev->kvm))
2682+
return -EINVAL;
26812683
dev->kvm->arch.gmap->pfault_enabled = 1;
26822684
break;
26832685
case KVM_DEV_FLIC_APF_DISABLE_WAIT:
2686+
if (kvm_is_ucontrol(dev->kvm))
2687+
return -EINVAL;
26842688
dev->kvm->arch.gmap->pfault_enabled = 0;
26852689
/*
26862690
* Make sure no async faults are in transition when
@@ -2894,6 +2898,8 @@ int kvm_set_routing_entry(struct kvm *kvm,
28942898
switch (ue->type) {
28952899
/* we store the userspace addresses instead of the guest addresses */
28962900
case KVM_IRQ_ROUTING_S390_ADAPTER:
2901+
if (kvm_is_ucontrol(kvm))
2902+
return -EINVAL;
28972903
e->set = set_adapter_int;
28982904
uaddr = gmap_translate(kvm->arch.gmap, ue->u.adapter.summary_addr);
28992905
if (uaddr == -EFAULT)

arch/s390/kvm/vsie.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ static int pin_blocks(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
854854
static void unpin_scb(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page,
855855
gpa_t gpa)
856856
{
857-
hpa_t hpa = (hpa_t) vsie_page->scb_o;
857+
hpa_t hpa = virt_to_phys(vsie_page->scb_o);
858858

859859
if (hpa)
860860
unpin_guest_page(vcpu->kvm, gpa, hpa);

0 commit comments

Comments
 (0)