Skip to content

Commit cf6fc5e

Browse files
committed
Merge tag 's390-6.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Alexander Gordeev: - When kernel lockdown is active userspace tools that rely on read operations only are unnecessarily blocked. Fix that by avoiding ioctl registration during lockdown - Invalid NULL pointer accesses succeed due to the lowcore is always mapped the identity mapping pinned to zero. To fix that never map the first two pages of physical memory with identity mapping - Fix invalid SCCB present check in the SCLP interrupt handler - Update defconfigs * tag 's390-6.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/hypfs: Enable limited access during lockdown s390/hypfs: Avoid unnecessary ioctl registration in debugfs s390/mm: Do not map lowcore with identity mapping s390/sclp: Fix SCCB present check s390/configs: Set HZ=1000 s390/configs: Update defconfigs
2 parents b3d8053 + 3868f91 commit cf6fc5e

File tree

6 files changed

+57
-46
lines changed

6 files changed

+57
-46
lines changed

arch/s390/boot/vmem.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,9 @@ void setup_vmem(unsigned long kernel_start, unsigned long kernel_end, unsigned l
530530
lowcore_address + sizeof(struct lowcore),
531531
POPULATE_LOWCORE);
532532
for_each_physmem_usable_range(i, &start, &end) {
533+
/* Do not map lowcore with identity mapping */
534+
if (!start)
535+
start = sizeof(struct lowcore);
533536
pgtable_populate((unsigned long)__identity_va(start),
534537
(unsigned long)__identity_va(end),
535538
POPULATE_IDENTITY);

arch/s390/configs/debug_defconfig

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CONFIG_WATCH_QUEUE=y
55
CONFIG_AUDIT=y
66
CONFIG_NO_HZ_IDLE=y
77
CONFIG_HIGH_RES_TIMERS=y
8+
CONFIG_POSIX_AUX_CLOCKS=y
89
CONFIG_BPF_SYSCALL=y
910
CONFIG_BPF_JIT=y
1011
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -19,6 +20,7 @@ CONFIG_TASK_XACCT=y
1920
CONFIG_TASK_IO_ACCOUNTING=y
2021
CONFIG_IKCONFIG=y
2122
CONFIG_IKCONFIG_PROC=y
23+
CONFIG_SCHED_PROXY_EXEC=y
2224
CONFIG_NUMA_BALANCING=y
2325
CONFIG_MEMCG=y
2426
CONFIG_BLK_CGROUP=y
@@ -42,6 +44,7 @@ CONFIG_PROFILING=y
4244
CONFIG_KEXEC=y
4345
CONFIG_KEXEC_FILE=y
4446
CONFIG_KEXEC_SIG=y
47+
CONFIG_CRASH_DM_CRYPT=y
4548
CONFIG_LIVEPATCH=y
4649
CONFIG_MARCH_Z13=y
4750
CONFIG_NR_CPUS=512
@@ -105,6 +108,7 @@ CONFIG_CMA_AREAS=7
105108
CONFIG_MEM_SOFT_DIRTY=y
106109
CONFIG_DEFERRED_STRUCT_PAGE_INIT=y
107110
CONFIG_IDLE_PAGE_TRACKING=y
111+
CONFIG_ZONE_DEVICE=y
108112
CONFIG_PERCPU_STATS=y
109113
CONFIG_GUP_TEST=y
110114
CONFIG_ANON_VMA_NAME=y
@@ -223,17 +227,19 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
223227
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
224228
CONFIG_NETFILTER_XT_TARGET_CT=m
225229
CONFIG_NETFILTER_XT_TARGET_DSCP=m
230+
CONFIG_NETFILTER_XT_TARGET_HL=m
226231
CONFIG_NETFILTER_XT_TARGET_HMARK=m
227232
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
228233
CONFIG_NETFILTER_XT_TARGET_LOG=m
229234
CONFIG_NETFILTER_XT_TARGET_MARK=m
235+
CONFIG_NETFILTER_XT_NAT=m
230236
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
231237
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
232238
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
233239
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
240+
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
234241
CONFIG_NETFILTER_XT_TARGET_TEE=m
235242
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
236-
CONFIG_NETFILTER_XT_TARGET_TRACE=m
237243
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
238244
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
239245
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
@@ -248,6 +254,7 @@ CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
248254
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
249255
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
250256
CONFIG_NETFILTER_XT_MATCH_CPU=m
257+
CONFIG_NETFILTER_XT_MATCH_DCCP=m
251258
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
252259
CONFIG_NETFILTER_XT_MATCH_DSCP=m
253260
CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -318,16 +325,8 @@ CONFIG_IP_NF_MATCH_AH=m
318325
CONFIG_IP_NF_MATCH_ECN=m
319326
CONFIG_IP_NF_MATCH_RPFILTER=m
320327
CONFIG_IP_NF_MATCH_TTL=m
321-
CONFIG_IP_NF_FILTER=m
322328
CONFIG_IP_NF_TARGET_REJECT=m
323-
CONFIG_IP_NF_NAT=m
324-
CONFIG_IP_NF_TARGET_MASQUERADE=m
325-
CONFIG_IP_NF_MANGLE=m
326329
CONFIG_IP_NF_TARGET_ECN=m
327-
CONFIG_IP_NF_TARGET_TTL=m
328-
CONFIG_IP_NF_RAW=m
329-
CONFIG_IP_NF_SECURITY=m
330-
CONFIG_IP_NF_ARPFILTER=m
331330
CONFIG_IP_NF_ARP_MANGLE=m
332331
CONFIG_NFT_FIB_IPV6=m
333332
CONFIG_IP6_NF_IPTABLES=m
@@ -340,15 +339,9 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
340339
CONFIG_IP6_NF_MATCH_MH=m
341340
CONFIG_IP6_NF_MATCH_RPFILTER=m
342341
CONFIG_IP6_NF_MATCH_RT=m
343-
CONFIG_IP6_NF_TARGET_HL=m
344-
CONFIG_IP6_NF_FILTER=m
345342
CONFIG_IP6_NF_TARGET_REJECT=m
346-
CONFIG_IP6_NF_MANGLE=m
347-
CONFIG_IP6_NF_RAW=m
348-
CONFIG_IP6_NF_SECURITY=m
349-
CONFIG_IP6_NF_NAT=m
350-
CONFIG_IP6_NF_TARGET_MASQUERADE=m
351343
CONFIG_NF_TABLES_BRIDGE=m
344+
CONFIG_IP_SCTP=m
352345
CONFIG_RDS=m
353346
CONFIG_RDS_RDMA=m
354347
CONFIG_RDS_TCP=m
@@ -383,6 +376,7 @@ CONFIG_NET_SCH_FQ_CODEL=m
383376
CONFIG_NET_SCH_INGRESS=m
384377
CONFIG_NET_SCH_PLUG=m
385378
CONFIG_NET_SCH_ETS=m
379+
CONFIG_NET_SCH_DUALPI2=m
386380
CONFIG_NET_CLS_BASIC=m
387381
CONFIG_NET_CLS_ROUTE4=m
388382
CONFIG_NET_CLS_FW=m
@@ -504,6 +498,7 @@ CONFIG_DM_VDO=m
504498
CONFIG_NETDEVICES=y
505499
CONFIG_BONDING=m
506500
CONFIG_DUMMY=m
501+
CONFIG_OVPN=m
507502
CONFIG_EQUALIZER=m
508503
CONFIG_IFB=m
509504
CONFIG_MACVLAN=m
@@ -641,6 +636,7 @@ CONFIG_VP_VDPA=m
641636
CONFIG_VHOST_NET=m
642637
CONFIG_VHOST_VSOCK=m
643638
CONFIG_VHOST_VDPA=m
639+
CONFIG_DEV_DAX=m
644640
CONFIG_EXT4_FS=y
645641
CONFIG_EXT4_FS_POSIX_ACL=y
646642
CONFIG_EXT4_FS_SECURITY=y
@@ -665,6 +661,7 @@ CONFIG_NILFS2_FS=m
665661
CONFIG_BCACHEFS_FS=y
666662
CONFIG_BCACHEFS_QUOTA=y
667663
CONFIG_BCACHEFS_POSIX_ACL=y
664+
CONFIG_FS_DAX=y
668665
CONFIG_EXPORTFS_BLOCK_OPS=y
669666
CONFIG_FS_ENCRYPTION=y
670667
CONFIG_FS_VERITY=y
@@ -755,6 +752,8 @@ CONFIG_HARDENED_USERCOPY=y
755752
CONFIG_BUG_ON_DATA_CORRUPTION=y
756753
CONFIG_CRYPTO_USER=m
757754
CONFIG_CRYPTO_SELFTESTS=y
755+
CONFIG_CRYPTO_SELFTESTS_FULL=y
756+
CONFIG_CRYPTO_NULL=y
758757
CONFIG_CRYPTO_PCRYPT=m
759758
CONFIG_CRYPTO_CRYPTD=m
760759
CONFIG_CRYPTO_BENCHMARK=m
@@ -783,7 +782,6 @@ CONFIG_CRYPTO_HCTR2=m
783782
CONFIG_CRYPTO_LRW=m
784783
CONFIG_CRYPTO_PCBC=m
785784
CONFIG_CRYPTO_AEGIS128=m
786-
CONFIG_CRYPTO_CHACHA20POLY1305=m
787785
CONFIG_CRYPTO_GCM=y
788786
CONFIG_CRYPTO_SEQIV=y
789787
CONFIG_CRYPTO_MD4=m
@@ -822,6 +820,7 @@ CONFIG_SYSTEM_BLACKLIST_KEYRING=y
822820
CONFIG_CRYPTO_KRB5=m
823821
CONFIG_CRYPTO_KRB5_SELFTESTS=y
824822
CONFIG_CORDIC=m
823+
CONFIG_TRACE_MMIO_ACCESS=y
825824
CONFIG_RANDOM32_SELFTEST=y
826825
CONFIG_XZ_DEC_MICROLZMA=y
827826
CONFIG_DMA_CMA=y

arch/s390/configs/defconfig

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CONFIG_WATCH_QUEUE=y
44
CONFIG_AUDIT=y
55
CONFIG_NO_HZ_IDLE=y
66
CONFIG_HIGH_RES_TIMERS=y
7+
CONFIG_POSIX_AUX_CLOCKS=y
78
CONFIG_BPF_SYSCALL=y
89
CONFIG_BPF_JIT=y
910
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -17,6 +18,7 @@ CONFIG_TASK_XACCT=y
1718
CONFIG_TASK_IO_ACCOUNTING=y
1819
CONFIG_IKCONFIG=y
1920
CONFIG_IKCONFIG_PROC=y
21+
CONFIG_SCHED_PROXY_EXEC=y
2022
CONFIG_NUMA_BALANCING=y
2123
CONFIG_MEMCG=y
2224
CONFIG_BLK_CGROUP=y
@@ -40,11 +42,12 @@ CONFIG_PROFILING=y
4042
CONFIG_KEXEC=y
4143
CONFIG_KEXEC_FILE=y
4244
CONFIG_KEXEC_SIG=y
45+
CONFIG_CRASH_DM_CRYPT=y
4346
CONFIG_LIVEPATCH=y
4447
CONFIG_MARCH_Z13=y
4548
CONFIG_NR_CPUS=512
4649
CONFIG_NUMA=y
47-
CONFIG_HZ_100=y
50+
CONFIG_HZ_1000=y
4851
CONFIG_CERT_STORE=y
4952
CONFIG_EXPOLINE=y
5053
CONFIG_EXPOLINE_AUTO=y
@@ -97,6 +100,7 @@ CONFIG_CMA_AREAS=7
97100
CONFIG_MEM_SOFT_DIRTY=y
98101
CONFIG_DEFERRED_STRUCT_PAGE_INIT=y
99102
CONFIG_IDLE_PAGE_TRACKING=y
103+
CONFIG_ZONE_DEVICE=y
100104
CONFIG_PERCPU_STATS=y
101105
CONFIG_ANON_VMA_NAME=y
102106
CONFIG_USERFAULTFD=y
@@ -214,17 +218,19 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
214218
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
215219
CONFIG_NETFILTER_XT_TARGET_CT=m
216220
CONFIG_NETFILTER_XT_TARGET_DSCP=m
221+
CONFIG_NETFILTER_XT_TARGET_HL=m
217222
CONFIG_NETFILTER_XT_TARGET_HMARK=m
218223
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
219224
CONFIG_NETFILTER_XT_TARGET_LOG=m
220225
CONFIG_NETFILTER_XT_TARGET_MARK=m
226+
CONFIG_NETFILTER_XT_NAT=m
221227
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
222228
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
223229
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
224230
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
231+
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
225232
CONFIG_NETFILTER_XT_TARGET_TEE=m
226233
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
227-
CONFIG_NETFILTER_XT_TARGET_TRACE=m
228234
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
229235
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
230236
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
@@ -239,6 +245,7 @@ CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
239245
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
240246
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
241247
CONFIG_NETFILTER_XT_MATCH_CPU=m
248+
CONFIG_NETFILTER_XT_MATCH_DCCP=m
242249
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
243250
CONFIG_NETFILTER_XT_MATCH_DSCP=m
244251
CONFIG_NETFILTER_XT_MATCH_ESP=m
@@ -309,16 +316,8 @@ CONFIG_IP_NF_MATCH_AH=m
309316
CONFIG_IP_NF_MATCH_ECN=m
310317
CONFIG_IP_NF_MATCH_RPFILTER=m
311318
CONFIG_IP_NF_MATCH_TTL=m
312-
CONFIG_IP_NF_FILTER=m
313319
CONFIG_IP_NF_TARGET_REJECT=m
314-
CONFIG_IP_NF_NAT=m
315-
CONFIG_IP_NF_TARGET_MASQUERADE=m
316-
CONFIG_IP_NF_MANGLE=m
317320
CONFIG_IP_NF_TARGET_ECN=m
318-
CONFIG_IP_NF_TARGET_TTL=m
319-
CONFIG_IP_NF_RAW=m
320-
CONFIG_IP_NF_SECURITY=m
321-
CONFIG_IP_NF_ARPFILTER=m
322321
CONFIG_IP_NF_ARP_MANGLE=m
323322
CONFIG_NFT_FIB_IPV6=m
324323
CONFIG_IP6_NF_IPTABLES=m
@@ -331,15 +330,9 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
331330
CONFIG_IP6_NF_MATCH_MH=m
332331
CONFIG_IP6_NF_MATCH_RPFILTER=m
333332
CONFIG_IP6_NF_MATCH_RT=m
334-
CONFIG_IP6_NF_TARGET_HL=m
335-
CONFIG_IP6_NF_FILTER=m
336333
CONFIG_IP6_NF_TARGET_REJECT=m
337-
CONFIG_IP6_NF_MANGLE=m
338-
CONFIG_IP6_NF_RAW=m
339-
CONFIG_IP6_NF_SECURITY=m
340-
CONFIG_IP6_NF_NAT=m
341-
CONFIG_IP6_NF_TARGET_MASQUERADE=m
342334
CONFIG_NF_TABLES_BRIDGE=m
335+
CONFIG_IP_SCTP=m
343336
CONFIG_RDS=m
344337
CONFIG_RDS_RDMA=m
345338
CONFIG_RDS_TCP=m
@@ -373,6 +366,7 @@ CONFIG_NET_SCH_FQ_CODEL=m
373366
CONFIG_NET_SCH_INGRESS=m
374367
CONFIG_NET_SCH_PLUG=m
375368
CONFIG_NET_SCH_ETS=m
369+
CONFIG_NET_SCH_DUALPI2=m
376370
CONFIG_NET_CLS_BASIC=m
377371
CONFIG_NET_CLS_ROUTE4=m
378372
CONFIG_NET_CLS_FW=m
@@ -494,6 +488,7 @@ CONFIG_DM_VDO=m
494488
CONFIG_NETDEVICES=y
495489
CONFIG_BONDING=m
496490
CONFIG_DUMMY=m
491+
CONFIG_OVPN=m
497492
CONFIG_EQUALIZER=m
498493
CONFIG_IFB=m
499494
CONFIG_MACVLAN=m
@@ -631,6 +626,7 @@ CONFIG_VP_VDPA=m
631626
CONFIG_VHOST_NET=m
632627
CONFIG_VHOST_VSOCK=m
633628
CONFIG_VHOST_VDPA=m
629+
CONFIG_DEV_DAX=m
634630
CONFIG_EXT4_FS=y
635631
CONFIG_EXT4_FS_POSIX_ACL=y
636632
CONFIG_EXT4_FS_SECURITY=y
@@ -652,6 +648,7 @@ CONFIG_NILFS2_FS=m
652648
CONFIG_BCACHEFS_FS=m
653649
CONFIG_BCACHEFS_QUOTA=y
654650
CONFIG_BCACHEFS_POSIX_ACL=y
651+
CONFIG_FS_DAX=y
655652
CONFIG_EXPORTFS_BLOCK_OPS=y
656653
CONFIG_FS_ENCRYPTION=y
657654
CONFIG_FS_VERITY=y
@@ -683,7 +680,6 @@ CONFIG_TMPFS_POSIX_ACL=y
683680
CONFIG_TMPFS_INODE64=y
684681
CONFIG_TMPFS_QUOTA=y
685682
CONFIG_HUGETLBFS=y
686-
CONFIG_CONFIGFS_FS=m
687683
CONFIG_ECRYPT_FS=m
688684
CONFIG_CRAMFS=m
689685
CONFIG_SQUASHFS=m
@@ -741,6 +737,7 @@ CONFIG_BUG_ON_DATA_CORRUPTION=y
741737
CONFIG_CRYPTO_FIPS=y
742738
CONFIG_CRYPTO_USER=m
743739
CONFIG_CRYPTO_SELFTESTS=y
740+
CONFIG_CRYPTO_NULL=y
744741
CONFIG_CRYPTO_PCRYPT=m
745742
CONFIG_CRYPTO_CRYPTD=m
746743
CONFIG_CRYPTO_BENCHMARK=m
@@ -769,7 +766,6 @@ CONFIG_CRYPTO_HCTR2=m
769766
CONFIG_CRYPTO_LRW=m
770767
CONFIG_CRYPTO_PCBC=m
771768
CONFIG_CRYPTO_AEGIS128=m
772-
CONFIG_CRYPTO_CHACHA20POLY1305=m
773769
CONFIG_CRYPTO_GCM=y
774770
CONFIG_CRYPTO_SEQIV=y
775771
CONFIG_CRYPTO_MD4=m

arch/s390/configs/zfcpdump_defconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
CONFIG_NO_HZ_IDLE=y
22
CONFIG_HIGH_RES_TIMERS=y
3+
CONFIG_POSIX_AUX_CLOCKS=y
34
CONFIG_BPF_SYSCALL=y
45
# CONFIG_CPU_ISOLATION is not set
56
# CONFIG_UTS_NS is not set
@@ -11,7 +12,7 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
1112
CONFIG_KEXEC=y
1213
CONFIG_MARCH_Z13=y
1314
CONFIG_NR_CPUS=2
14-
CONFIG_HZ_100=y
15+
CONFIG_HZ_1000=y
1516
# CONFIG_CHSC_SCH is not set
1617
# CONFIG_SCM_BUS is not set
1718
# CONFIG_AP is not set

arch/s390/hypfs/hypfs_dbfs.c

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* Author(s): Michael Holzheu <[email protected]>
77
*/
88

9+
#include <linux/security.h>
910
#include <linux/slab.h>
1011
#include "hypfs.h"
1112

@@ -66,23 +67,27 @@ static long dbfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
6667
long rc;
6768

6869
mutex_lock(&df->lock);
69-
if (df->unlocked_ioctl)
70-
rc = df->unlocked_ioctl(file, cmd, arg);
71-
else
72-
rc = -ENOTTY;
70+
rc = df->unlocked_ioctl(file, cmd, arg);
7371
mutex_unlock(&df->lock);
7472
return rc;
7573
}
7674

77-
static const struct file_operations dbfs_ops = {
75+
static const struct file_operations dbfs_ops_ioctl = {
7876
.read = dbfs_read,
7977
.unlocked_ioctl = dbfs_ioctl,
8078
};
8179

80+
static const struct file_operations dbfs_ops = {
81+
.read = dbfs_read,
82+
};
83+
8284
void hypfs_dbfs_create_file(struct hypfs_dbfs_file *df)
8385
{
84-
df->dentry = debugfs_create_file(df->name, 0400, dbfs_dir, df,
85-
&dbfs_ops);
86+
const struct file_operations *fops = &dbfs_ops;
87+
88+
if (df->unlocked_ioctl && !security_locked_down(LOCKDOWN_DEBUGFS))
89+
fops = &dbfs_ops_ioctl;
90+
df->dentry = debugfs_create_file(df->name, 0400, dbfs_dir, df, fops);
8691
mutex_init(&df->lock);
8792
}
8893

0 commit comments

Comments
 (0)