Skip to content

Commit 5e0ba14

Browse files
committed
Merge tag 's390-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Heiko Carstens: - Split kernel large page mappings into 4k mappings in case debug pagealloc is enabled again. This got accidentally removed by commit bb1520d ("s390/mm: start kernel with DAT enabled") - Fix error handling in KVM's sthyi handling - Add missing include to s390's uapi ptrace.h - Update defconfigs * tag 's390-6.5-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/ptrace: add missing linux/const.h include KVM: s390: fix sthyi error handling s390: update defconfigs s390/vmem: split pages when debug pagealloc is enabled
2 parents ec351c8 + 388acb4 commit 5e0ba14

File tree

7 files changed

+24
-16
lines changed

7 files changed

+24
-16
lines changed

arch/s390/configs/debug_defconfig

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ CONFIG_UNIX=y
116116
CONFIG_UNIX_DIAG=m
117117
CONFIG_XFRM_USER=m
118118
CONFIG_NET_KEY=m
119-
CONFIG_NET_TC_SKB_EXT=y
120119
CONFIG_SMC=m
121120
CONFIG_SMC_DIAG=m
122121
CONFIG_INET=y
@@ -193,6 +192,7 @@ CONFIG_NFT_REJECT=m
193192
CONFIG_NFT_COMPAT=m
194193
CONFIG_NFT_HASH=m
195194
CONFIG_NFT_FIB_INET=m
195+
CONFIG_NETFILTER_XTABLES_COMPAT=y
196196
CONFIG_NETFILTER_XT_SET=m
197197
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
198198
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
@@ -379,6 +379,7 @@ CONFIG_NET_ACT_SIMP=m
379379
CONFIG_NET_ACT_SKBEDIT=m
380380
CONFIG_NET_ACT_CSUM=m
381381
CONFIG_NET_ACT_GATE=m
382+
CONFIG_NET_TC_SKB_EXT=y
382383
CONFIG_DNS_RESOLVER=y
383384
CONFIG_OPENVSWITCH=m
384385
CONFIG_VSOCKETS=m
@@ -395,6 +396,7 @@ CONFIG_HOTPLUG_PCI=y
395396
CONFIG_HOTPLUG_PCI_S390=y
396397
CONFIG_DEVTMPFS=y
397398
CONFIG_DEVTMPFS_SAFE=y
399+
# CONFIG_FW_LOADER is not set
398400
CONFIG_CONNECTOR=y
399401
CONFIG_ZRAM=y
400402
CONFIG_BLK_DEV_LOOP=m
@@ -502,7 +504,6 @@ CONFIG_NLMON=m
502504
# CONFIG_NET_VENDOR_GOOGLE is not set
503505
# CONFIG_NET_VENDOR_HUAWEI is not set
504506
# CONFIG_NET_VENDOR_INTEL is not set
505-
# CONFIG_NET_VENDOR_WANGXUN is not set
506507
# CONFIG_NET_VENDOR_LITEX is not set
507508
# CONFIG_NET_VENDOR_MARVELL is not set
508509
CONFIG_MLX4_EN=m
@@ -542,6 +543,7 @@ CONFIG_MLX5_CORE_EN=y
542543
# CONFIG_NET_VENDOR_TI is not set
543544
# CONFIG_NET_VENDOR_VERTEXCOM is not set
544545
# CONFIG_NET_VENDOR_VIA is not set
546+
# CONFIG_NET_VENDOR_WANGXUN is not set
545547
# CONFIG_NET_VENDOR_WIZNET is not set
546548
# CONFIG_NET_VENDOR_XILINX is not set
547549
CONFIG_PPP=m
@@ -646,7 +648,6 @@ CONFIG_TMPFS=y
646648
CONFIG_TMPFS_POSIX_ACL=y
647649
CONFIG_TMPFS_INODE64=y
648650
CONFIG_HUGETLBFS=y
649-
CONFIG_CONFIGFS_FS=m
650651
CONFIG_ECRYPT_FS=m
651652
CONFIG_CRAMFS=m
652653
CONFIG_SQUASHFS=m
@@ -690,7 +691,6 @@ CONFIG_HARDENED_USERCOPY=y
690691
CONFIG_FORTIFY_SOURCE=y
691692
CONFIG_SECURITY_SELINUX=y
692693
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
693-
CONFIG_SECURITY_SELINUX_DISABLE=y
694694
CONFIG_SECURITY_LOCKDOWN_LSM=y
695695
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
696696
CONFIG_SECURITY_LANDLOCK=y
@@ -744,7 +744,6 @@ CONFIG_CRYPTO_MD4=m
744744
CONFIG_CRYPTO_MD5=y
745745
CONFIG_CRYPTO_MICHAEL_MIC=m
746746
CONFIG_CRYPTO_RMD160=m
747-
CONFIG_CRYPTO_SHA3=m
748747
CONFIG_CRYPTO_SM3_GENERIC=m
749748
CONFIG_CRYPTO_VMAC=m
750749
CONFIG_CRYPTO_WP512=m
@@ -844,6 +843,7 @@ CONFIG_PREEMPT_TRACER=y
844843
CONFIG_SCHED_TRACER=y
845844
CONFIG_FTRACE_SYSCALLS=y
846845
CONFIG_BLK_DEV_IO_TRACE=y
846+
CONFIG_USER_EVENTS=y
847847
CONFIG_HIST_TRIGGERS=y
848848
CONFIG_FTRACE_STARTUP_TEST=y
849849
# CONFIG_EVENT_TRACE_STARTUP_TEST is not set
@@ -866,6 +866,7 @@ CONFIG_FAIL_MAKE_REQUEST=y
866866
CONFIG_FAIL_IO_TIMEOUT=y
867867
CONFIG_FAIL_FUTEX=y
868868
CONFIG_FAULT_INJECTION_DEBUG_FS=y
869+
CONFIG_FAULT_INJECTION_CONFIGFS=y
869870
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
870871
CONFIG_LKDTM=m
871872
CONFIG_TEST_MIN_HEAP=y

arch/s390/configs/defconfig

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ CONFIG_UNIX=y
107107
CONFIG_UNIX_DIAG=m
108108
CONFIG_XFRM_USER=m
109109
CONFIG_NET_KEY=m
110-
CONFIG_NET_TC_SKB_EXT=y
111110
CONFIG_SMC=m
112111
CONFIG_SMC_DIAG=m
113112
CONFIG_INET=y
@@ -184,6 +183,7 @@ CONFIG_NFT_REJECT=m
184183
CONFIG_NFT_COMPAT=m
185184
CONFIG_NFT_HASH=m
186185
CONFIG_NFT_FIB_INET=m
186+
CONFIG_NETFILTER_XTABLES_COMPAT=y
187187
CONFIG_NETFILTER_XT_SET=m
188188
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
189189
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
@@ -369,6 +369,7 @@ CONFIG_NET_ACT_SIMP=m
369369
CONFIG_NET_ACT_SKBEDIT=m
370370
CONFIG_NET_ACT_CSUM=m
371371
CONFIG_NET_ACT_GATE=m
372+
CONFIG_NET_TC_SKB_EXT=y
372373
CONFIG_DNS_RESOLVER=y
373374
CONFIG_OPENVSWITCH=m
374375
CONFIG_VSOCKETS=m
@@ -385,6 +386,7 @@ CONFIG_HOTPLUG_PCI_S390=y
385386
CONFIG_UEVENT_HELPER=y
386387
CONFIG_DEVTMPFS=y
387388
CONFIG_DEVTMPFS_SAFE=y
389+
# CONFIG_FW_LOADER is not set
388390
CONFIG_CONNECTOR=y
389391
CONFIG_ZRAM=y
390392
CONFIG_BLK_DEV_LOOP=m
@@ -492,7 +494,6 @@ CONFIG_NLMON=m
492494
# CONFIG_NET_VENDOR_GOOGLE is not set
493495
# CONFIG_NET_VENDOR_HUAWEI is not set
494496
# CONFIG_NET_VENDOR_INTEL is not set
495-
# CONFIG_NET_VENDOR_WANGXUN is not set
496497
# CONFIG_NET_VENDOR_LITEX is not set
497498
# CONFIG_NET_VENDOR_MARVELL is not set
498499
CONFIG_MLX4_EN=m
@@ -532,6 +533,7 @@ CONFIG_MLX5_CORE_EN=y
532533
# CONFIG_NET_VENDOR_TI is not set
533534
# CONFIG_NET_VENDOR_VERTEXCOM is not set
534535
# CONFIG_NET_VENDOR_VIA is not set
536+
# CONFIG_NET_VENDOR_WANGXUN is not set
535537
# CONFIG_NET_VENDOR_WIZNET is not set
536538
# CONFIG_NET_VENDOR_XILINX is not set
537539
CONFIG_PPP=m
@@ -673,7 +675,6 @@ CONFIG_SECURITY=y
673675
CONFIG_SECURITY_NETWORK=y
674676
CONFIG_SECURITY_SELINUX=y
675677
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
676-
CONFIG_SECURITY_SELINUX_DISABLE=y
677678
CONFIG_SECURITY_LOCKDOWN_LSM=y
678679
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
679680
CONFIG_SECURITY_LANDLOCK=y
@@ -729,7 +730,6 @@ CONFIG_CRYPTO_MD4=m
729730
CONFIG_CRYPTO_MD5=y
730731
CONFIG_CRYPTO_MICHAEL_MIC=m
731732
CONFIG_CRYPTO_RMD160=m
732-
CONFIG_CRYPTO_SHA3=m
733733
CONFIG_CRYPTO_SM3_GENERIC=m
734734
CONFIG_CRYPTO_VMAC=m
735735
CONFIG_CRYPTO_WP512=m
@@ -793,6 +793,7 @@ CONFIG_STACK_TRACER=y
793793
CONFIG_SCHED_TRACER=y
794794
CONFIG_FTRACE_SYSCALLS=y
795795
CONFIG_BLK_DEV_IO_TRACE=y
796+
CONFIG_USER_EVENTS=y
796797
CONFIG_HIST_TRIGGERS=y
797798
CONFIG_SAMPLES=y
798799
CONFIG_SAMPLE_TRACE_PRINTK=m

arch/s390/configs/zfcpdump_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ CONFIG_ZFCP=y
5353
# CONFIG_HVC_IUCV is not set
5454
# CONFIG_HW_RANDOM_S390 is not set
5555
# CONFIG_HMC_DRV is not set
56-
# CONFIG_S390_UV_UAPI is not set
5756
# CONFIG_S390_TAPE is not set
5857
# CONFIG_VMCP is not set
5958
# CONFIG_MONWRITER is not set

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
#ifndef _UAPI_S390_PTRACE_H
99
#define _UAPI_S390_PTRACE_H
1010

11+
#include <linux/const.h>
12+
1113
/*
1214
* Offsets in the user_regs_struct. They are used for the ptrace
1315
* system call and in entry.S

arch/s390/kernel/sthyi.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -459,9 +459,9 @@ static int sthyi_update_cache(u64 *rc)
459459
*
460460
* Fills the destination with system information returned by the STHYI
461461
* instruction. The data is generated by emulation or execution of STHYI,
462-
* if available. The return value is the condition code that would be
463-
* returned, the rc parameter is the return code which is passed in
464-
* register R2 + 1.
462+
* if available. The return value is either a negative error value or
463+
* the condition code that would be returned, the rc parameter is the
464+
* return code which is passed in register R2 + 1.
465465
*/
466466
int sthyi_fill(void *dst, u64 *rc)
467467
{

arch/s390/kvm/intercept.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,8 @@ static int handle_partial_execution(struct kvm_vcpu *vcpu)
389389
*/
390390
int handle_sthyi(struct kvm_vcpu *vcpu)
391391
{
392-
int reg1, reg2, r = 0;
393-
u64 code, addr, cc = 0, rc = 0;
392+
int reg1, reg2, cc = 0, r = 0;
393+
u64 code, addr, rc = 0;
394394
struct sthyi_sctns *sctns = NULL;
395395

396396
if (!test_kvm_facility(vcpu->kvm, 74))
@@ -421,7 +421,10 @@ int handle_sthyi(struct kvm_vcpu *vcpu)
421421
return -ENOMEM;
422422

423423
cc = sthyi_fill(sctns, &rc);
424-
424+
if (cc < 0) {
425+
free_page((unsigned long)sctns);
426+
return cc;
427+
}
425428
out:
426429
if (!cc) {
427430
if (kvm_s390_pv_cpu_is_protected(vcpu)) {

arch/s390/mm/vmem.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,8 @@ void __init vmem_map_init(void)
763763
if (static_key_enabled(&cpu_has_bear))
764764
set_memory_nx(0, 1);
765765
set_memory_nx(PAGE_SIZE, 1);
766+
if (debug_pagealloc_enabled())
767+
set_memory_4k(0, ident_map_size >> PAGE_SHIFT);
766768

767769
pr_info("Write protected kernel read-only data: %luk\n",
768770
(unsigned long)(__end_rodata - _stext) >> 10);

0 commit comments

Comments
 (0)