Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+57 -46
+3
arch/s390/boot/vmem.c
··· 530 530 lowcore_address + sizeof(struct lowcore), 531 531 POPULATE_LOWCORE); 532 532 for_each_physmem_usable_range(i, &start, &end) { 533 + /* Do not map lowcore with identity mapping */ 534 + if (!start) 535 + start = sizeof(struct lowcore); 533 536 pgtable_populate((unsigned long)__identity_va(start), 534 537 (unsigned long)__identity_va(end), 535 538 POPULATE_IDENTITY);
+16 -17
arch/s390/configs/debug_defconfig
··· 5 5 CONFIG_AUDIT=y 6 6 CONFIG_NO_HZ_IDLE=y 7 7 CONFIG_HIGH_RES_TIMERS=y 8 + CONFIG_POSIX_AUX_CLOCKS=y 8 9 CONFIG_BPF_SYSCALL=y 9 10 CONFIG_BPF_JIT=y 10 11 CONFIG_BPF_JIT_ALWAYS_ON=y ··· 20 19 CONFIG_TASK_IO_ACCOUNTING=y 21 20 CONFIG_IKCONFIG=y 22 21 CONFIG_IKCONFIG_PROC=y 22 + CONFIG_SCHED_PROXY_EXEC=y 23 23 CONFIG_NUMA_BALANCING=y 24 24 CONFIG_MEMCG=y 25 25 CONFIG_BLK_CGROUP=y ··· 44 42 CONFIG_KEXEC=y 45 43 CONFIG_KEXEC_FILE=y 46 44 CONFIG_KEXEC_SIG=y 45 + CONFIG_CRASH_DM_CRYPT=y 47 46 CONFIG_LIVEPATCH=y 48 47 CONFIG_MARCH_Z13=y 49 48 CONFIG_NR_CPUS=512 ··· 108 105 CONFIG_MEM_SOFT_DIRTY=y 109 106 CONFIG_DEFERRED_STRUCT_PAGE_INIT=y 110 107 CONFIG_IDLE_PAGE_TRACKING=y 108 + CONFIG_ZONE_DEVICE=y 111 109 CONFIG_PERCPU_STATS=y 112 110 CONFIG_GUP_TEST=y 113 111 CONFIG_ANON_VMA_NAME=y ··· 227 223 CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m 228 224 CONFIG_NETFILTER_XT_TARGET_CT=m 229 225 CONFIG_NETFILTER_XT_TARGET_DSCP=m 226 + CONFIG_NETFILTER_XT_TARGET_HL=m 230 227 CONFIG_NETFILTER_XT_TARGET_HMARK=m 231 228 CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m 232 229 CONFIG_NETFILTER_XT_TARGET_LOG=m 233 230 CONFIG_NETFILTER_XT_TARGET_MARK=m 231 + CONFIG_NETFILTER_XT_NAT=m 234 232 CONFIG_NETFILTER_XT_TARGET_NETMAP=m 235 233 CONFIG_NETFILTER_XT_TARGET_NFLOG=m 236 234 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 237 235 CONFIG_NETFILTER_XT_TARGET_REDIRECT=m 236 + CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m 238 237 CONFIG_NETFILTER_XT_TARGET_TEE=m 239 238 CONFIG_NETFILTER_XT_TARGET_TPROXY=m 240 - CONFIG_NETFILTER_XT_TARGET_TRACE=m 241 239 CONFIG_NETFILTER_XT_TARGET_SECMARK=m 242 240 CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 243 241 CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m ··· 254 248 CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 255 249 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 256 250 CONFIG_NETFILTER_XT_MATCH_CPU=m 251 + CONFIG_NETFILTER_XT_MATCH_DCCP=m 257 252 CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m 258 253 CONFIG_NETFILTER_XT_MATCH_DSCP=m 259 254 CONFIG_NETFILTER_XT_MATCH_ESP=m ··· 325 318 CONFIG_IP_NF_MATCH_ECN=m 326 319 CONFIG_IP_NF_MATCH_RPFILTER=m 327 320 CONFIG_IP_NF_MATCH_TTL=m 328 - CONFIG_IP_NF_FILTER=m 329 321 CONFIG_IP_NF_TARGET_REJECT=m 330 - CONFIG_IP_NF_NAT=m 331 - CONFIG_IP_NF_TARGET_MASQUERADE=m 332 - CONFIG_IP_NF_MANGLE=m 333 322 CONFIG_IP_NF_TARGET_ECN=m 334 - CONFIG_IP_NF_TARGET_TTL=m 335 - CONFIG_IP_NF_RAW=m 336 - CONFIG_IP_NF_SECURITY=m 337 - CONFIG_IP_NF_ARPFILTER=m 338 323 CONFIG_IP_NF_ARP_MANGLE=m 339 324 CONFIG_NFT_FIB_IPV6=m 340 325 CONFIG_IP6_NF_IPTABLES=m ··· 339 340 CONFIG_IP6_NF_MATCH_MH=m 340 341 CONFIG_IP6_NF_MATCH_RPFILTER=m 341 342 CONFIG_IP6_NF_MATCH_RT=m 342 - CONFIG_IP6_NF_TARGET_HL=m 343 - CONFIG_IP6_NF_FILTER=m 344 343 CONFIG_IP6_NF_TARGET_REJECT=m 345 - CONFIG_IP6_NF_MANGLE=m 346 - CONFIG_IP6_NF_RAW=m 347 - CONFIG_IP6_NF_SECURITY=m 348 - CONFIG_IP6_NF_NAT=m 349 - CONFIG_IP6_NF_TARGET_MASQUERADE=m 350 344 CONFIG_NF_TABLES_BRIDGE=m 345 + CONFIG_IP_SCTP=m 351 346 CONFIG_RDS=m 352 347 CONFIG_RDS_RDMA=m 353 348 CONFIG_RDS_TCP=m ··· 376 383 CONFIG_NET_SCH_INGRESS=m 377 384 CONFIG_NET_SCH_PLUG=m 378 385 CONFIG_NET_SCH_ETS=m 386 + CONFIG_NET_SCH_DUALPI2=m 379 387 CONFIG_NET_CLS_BASIC=m 380 388 CONFIG_NET_CLS_ROUTE4=m 381 389 CONFIG_NET_CLS_FW=m ··· 498 504 CONFIG_NETDEVICES=y 499 505 CONFIG_BONDING=m 500 506 CONFIG_DUMMY=m 507 + CONFIG_OVPN=m 501 508 CONFIG_EQUALIZER=m 502 509 CONFIG_IFB=m 503 510 CONFIG_MACVLAN=m ··· 636 641 CONFIG_VHOST_NET=m 637 642 CONFIG_VHOST_VSOCK=m 638 643 CONFIG_VHOST_VDPA=m 644 + CONFIG_DEV_DAX=m 639 645 CONFIG_EXT4_FS=y 640 646 CONFIG_EXT4_FS_POSIX_ACL=y 641 647 CONFIG_EXT4_FS_SECURITY=y ··· 661 665 CONFIG_BCACHEFS_FS=y 662 666 CONFIG_BCACHEFS_QUOTA=y 663 667 CONFIG_BCACHEFS_POSIX_ACL=y 668 + CONFIG_FS_DAX=y 664 669 CONFIG_EXPORTFS_BLOCK_OPS=y 665 670 CONFIG_FS_ENCRYPTION=y 666 671 CONFIG_FS_VERITY=y ··· 752 755 CONFIG_BUG_ON_DATA_CORRUPTION=y 753 756 CONFIG_CRYPTO_USER=m 754 757 CONFIG_CRYPTO_SELFTESTS=y 758 + CONFIG_CRYPTO_SELFTESTS_FULL=y 759 + CONFIG_CRYPTO_NULL=y 755 760 CONFIG_CRYPTO_PCRYPT=m 756 761 CONFIG_CRYPTO_CRYPTD=m 757 762 CONFIG_CRYPTO_BENCHMARK=m ··· 782 783 CONFIG_CRYPTO_LRW=m 783 784 CONFIG_CRYPTO_PCBC=m 784 785 CONFIG_CRYPTO_AEGIS128=m 785 - CONFIG_CRYPTO_CHACHA20POLY1305=m 786 786 CONFIG_CRYPTO_GCM=y 787 787 CONFIG_CRYPTO_SEQIV=y 788 788 CONFIG_CRYPTO_MD4=m ··· 820 822 CONFIG_CRYPTO_KRB5=m 821 823 CONFIG_CRYPTO_KRB5_SELFTESTS=y 822 824 CONFIG_CORDIC=m 825 + CONFIG_TRACE_MMIO_ACCESS=y 823 826 CONFIG_RANDOM32_SELFTEST=y 824 827 CONFIG_XZ_DEC_MICROLZMA=y 825 828 CONFIG_DMA_CMA=y
+15 -19
arch/s390/configs/defconfig
··· 4 4 CONFIG_AUDIT=y 5 5 CONFIG_NO_HZ_IDLE=y 6 6 CONFIG_HIGH_RES_TIMERS=y 7 + CONFIG_POSIX_AUX_CLOCKS=y 7 8 CONFIG_BPF_SYSCALL=y 8 9 CONFIG_BPF_JIT=y 9 10 CONFIG_BPF_JIT_ALWAYS_ON=y ··· 18 17 CONFIG_TASK_IO_ACCOUNTING=y 19 18 CONFIG_IKCONFIG=y 20 19 CONFIG_IKCONFIG_PROC=y 20 + CONFIG_SCHED_PROXY_EXEC=y 21 21 CONFIG_NUMA_BALANCING=y 22 22 CONFIG_MEMCG=y 23 23 CONFIG_BLK_CGROUP=y ··· 42 40 CONFIG_KEXEC=y 43 41 CONFIG_KEXEC_FILE=y 44 42 CONFIG_KEXEC_SIG=y 43 + CONFIG_CRASH_DM_CRYPT=y 45 44 CONFIG_LIVEPATCH=y 46 45 CONFIG_MARCH_Z13=y 47 46 CONFIG_NR_CPUS=512 48 47 CONFIG_NUMA=y 49 - CONFIG_HZ_100=y 48 + CONFIG_HZ_1000=y 50 49 CONFIG_CERT_STORE=y 51 50 CONFIG_EXPOLINE=y 52 51 CONFIG_EXPOLINE_AUTO=y ··· 100 97 CONFIG_MEM_SOFT_DIRTY=y 101 98 CONFIG_DEFERRED_STRUCT_PAGE_INIT=y 102 99 CONFIG_IDLE_PAGE_TRACKING=y 100 + CONFIG_ZONE_DEVICE=y 103 101 CONFIG_PERCPU_STATS=y 104 102 CONFIG_ANON_VMA_NAME=y 105 103 CONFIG_USERFAULTFD=y ··· 218 214 CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m 219 215 CONFIG_NETFILTER_XT_TARGET_CT=m 220 216 CONFIG_NETFILTER_XT_TARGET_DSCP=m 217 + CONFIG_NETFILTER_XT_TARGET_HL=m 221 218 CONFIG_NETFILTER_XT_TARGET_HMARK=m 222 219 CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m 223 220 CONFIG_NETFILTER_XT_TARGET_LOG=m 224 221 CONFIG_NETFILTER_XT_TARGET_MARK=m 222 + CONFIG_NETFILTER_XT_NAT=m 225 223 CONFIG_NETFILTER_XT_TARGET_NETMAP=m 226 224 CONFIG_NETFILTER_XT_TARGET_NFLOG=m 227 225 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 228 226 CONFIG_NETFILTER_XT_TARGET_REDIRECT=m 227 + CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m 229 228 CONFIG_NETFILTER_XT_TARGET_TEE=m 230 229 CONFIG_NETFILTER_XT_TARGET_TPROXY=m 231 - CONFIG_NETFILTER_XT_TARGET_TRACE=m 232 230 CONFIG_NETFILTER_XT_TARGET_SECMARK=m 233 231 CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 234 232 CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m ··· 245 239 CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 246 240 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 247 241 CONFIG_NETFILTER_XT_MATCH_CPU=m 242 + CONFIG_NETFILTER_XT_MATCH_DCCP=m 248 243 CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m 249 244 CONFIG_NETFILTER_XT_MATCH_DSCP=m 250 245 CONFIG_NETFILTER_XT_MATCH_ESP=m ··· 316 309 CONFIG_IP_NF_MATCH_ECN=m 317 310 CONFIG_IP_NF_MATCH_RPFILTER=m 318 311 CONFIG_IP_NF_MATCH_TTL=m 319 - CONFIG_IP_NF_FILTER=m 320 312 CONFIG_IP_NF_TARGET_REJECT=m 321 - CONFIG_IP_NF_NAT=m 322 - CONFIG_IP_NF_TARGET_MASQUERADE=m 323 - CONFIG_IP_NF_MANGLE=m 324 313 CONFIG_IP_NF_TARGET_ECN=m 325 - CONFIG_IP_NF_TARGET_TTL=m 326 - CONFIG_IP_NF_RAW=m 327 - CONFIG_IP_NF_SECURITY=m 328 - CONFIG_IP_NF_ARPFILTER=m 329 314 CONFIG_IP_NF_ARP_MANGLE=m 330 315 CONFIG_NFT_FIB_IPV6=m 331 316 CONFIG_IP6_NF_IPTABLES=m ··· 330 331 CONFIG_IP6_NF_MATCH_MH=m 331 332 CONFIG_IP6_NF_MATCH_RPFILTER=m 332 333 CONFIG_IP6_NF_MATCH_RT=m 333 - CONFIG_IP6_NF_TARGET_HL=m 334 - CONFIG_IP6_NF_FILTER=m 335 334 CONFIG_IP6_NF_TARGET_REJECT=m 336 - CONFIG_IP6_NF_MANGLE=m 337 - CONFIG_IP6_NF_RAW=m 338 - CONFIG_IP6_NF_SECURITY=m 339 - CONFIG_IP6_NF_NAT=m 340 - CONFIG_IP6_NF_TARGET_MASQUERADE=m 341 335 CONFIG_NF_TABLES_BRIDGE=m 336 + CONFIG_IP_SCTP=m 342 337 CONFIG_RDS=m 343 338 CONFIG_RDS_RDMA=m 344 339 CONFIG_RDS_TCP=m ··· 366 373 CONFIG_NET_SCH_INGRESS=m 367 374 CONFIG_NET_SCH_PLUG=m 368 375 CONFIG_NET_SCH_ETS=m 376 + CONFIG_NET_SCH_DUALPI2=m 369 377 CONFIG_NET_CLS_BASIC=m 370 378 CONFIG_NET_CLS_ROUTE4=m 371 379 CONFIG_NET_CLS_FW=m ··· 488 494 CONFIG_NETDEVICES=y 489 495 CONFIG_BONDING=m 490 496 CONFIG_DUMMY=m 497 + CONFIG_OVPN=m 491 498 CONFIG_EQUALIZER=m 492 499 CONFIG_IFB=m 493 500 CONFIG_MACVLAN=m ··· 626 631 CONFIG_VHOST_NET=m 627 632 CONFIG_VHOST_VSOCK=m 628 633 CONFIG_VHOST_VDPA=m 634 + CONFIG_DEV_DAX=m 629 635 CONFIG_EXT4_FS=y 630 636 CONFIG_EXT4_FS_POSIX_ACL=y 631 637 CONFIG_EXT4_FS_SECURITY=y ··· 648 652 CONFIG_BCACHEFS_FS=m 649 653 CONFIG_BCACHEFS_QUOTA=y 650 654 CONFIG_BCACHEFS_POSIX_ACL=y 655 + CONFIG_FS_DAX=y 651 656 CONFIG_EXPORTFS_BLOCK_OPS=y 652 657 CONFIG_FS_ENCRYPTION=y 653 658 CONFIG_FS_VERITY=y ··· 680 683 CONFIG_TMPFS_INODE64=y 681 684 CONFIG_TMPFS_QUOTA=y 682 685 CONFIG_HUGETLBFS=y 683 - CONFIG_CONFIGFS_FS=m 684 686 CONFIG_ECRYPT_FS=m 685 687 CONFIG_CRAMFS=m 686 688 CONFIG_SQUASHFS=m ··· 737 741 CONFIG_CRYPTO_FIPS=y 738 742 CONFIG_CRYPTO_USER=m 739 743 CONFIG_CRYPTO_SELFTESTS=y 744 + CONFIG_CRYPTO_NULL=y 740 745 CONFIG_CRYPTO_PCRYPT=m 741 746 CONFIG_CRYPTO_CRYPTD=m 742 747 CONFIG_CRYPTO_BENCHMARK=m ··· 766 769 CONFIG_CRYPTO_LRW=m 767 770 CONFIG_CRYPTO_PCBC=m 768 771 CONFIG_CRYPTO_AEGIS128=m 769 - CONFIG_CRYPTO_CHACHA20POLY1305=m 770 772 CONFIG_CRYPTO_GCM=y 771 773 CONFIG_CRYPTO_SEQIV=y 772 774 CONFIG_CRYPTO_MD4=m
+2 -1
arch/s390/configs/zfcpdump_defconfig
··· 1 1 CONFIG_NO_HZ_IDLE=y 2 2 CONFIG_HIGH_RES_TIMERS=y 3 + CONFIG_POSIX_AUX_CLOCKS=y 3 4 CONFIG_BPF_SYSCALL=y 4 5 # CONFIG_CPU_ISOLATION is not set 5 6 # CONFIG_UTS_NS is not set ··· 12 11 CONFIG_KEXEC=y 13 12 CONFIG_MARCH_Z13=y 14 13 CONFIG_NR_CPUS=2 15 - CONFIG_HZ_100=y 14 + CONFIG_HZ_1000=y 16 15 # CONFIG_CHSC_SCH is not set 17 16 # CONFIG_SCM_BUS is not set 18 17 # CONFIG_AP is not set
+12 -7
arch/s390/hypfs/hypfs_dbfs.c
··· 6 6 * Author(s): Michael Holzheu <holzheu@linux.vnet.ibm.com> 7 7 */ 8 8 9 + #include <linux/security.h> 9 10 #include <linux/slab.h> 10 11 #include "hypfs.h" 11 12 ··· 67 66 long rc; 68 67 69 68 mutex_lock(&df->lock); 70 - if (df->unlocked_ioctl) 71 - rc = df->unlocked_ioctl(file, cmd, arg); 72 - else 73 - rc = -ENOTTY; 69 + rc = df->unlocked_ioctl(file, cmd, arg); 74 70 mutex_unlock(&df->lock); 75 71 return rc; 76 72 } 77 73 78 - static const struct file_operations dbfs_ops = { 74 + static const struct file_operations dbfs_ops_ioctl = { 79 75 .read = dbfs_read, 80 76 .unlocked_ioctl = dbfs_ioctl, 81 77 }; 82 78 79 + static const struct file_operations dbfs_ops = { 80 + .read = dbfs_read, 81 + }; 82 + 83 83 void hypfs_dbfs_create_file(struct hypfs_dbfs_file *df) 84 84 { 85 - df->dentry = debugfs_create_file(df->name, 0400, dbfs_dir, df, 86 - &dbfs_ops); 85 + const struct file_operations *fops = &dbfs_ops; 86 + 87 + if (df->unlocked_ioctl && !security_locked_down(LOCKDOWN_DEBUGFS)) 88 + fops = &dbfs_ops_ioctl; 89 + df->dentry = debugfs_create_file(df->name, 0400, dbfs_dir, df, fops); 87 90 mutex_init(&df->lock); 88 91 } 89 92
+9 -2
drivers/s390/char/sclp.c
··· 77 77 /* The currently active SCLP command word. */ 78 78 static sclp_cmdw_t active_cmd; 79 79 80 + static inline struct sccb_header *sclpint_to_sccb(u32 sccb_int) 81 + { 82 + if (sccb_int) 83 + return __va(sccb_int); 84 + return NULL; 85 + } 86 + 80 87 static inline void sclp_trace(int prio, char *id, u32 a, u64 b, bool err) 81 88 { 82 89 struct sclp_trace_entry e; ··· 627 620 628 621 static bool ok_response(u32 sccb_int, sclp_cmdw_t cmd) 629 622 { 630 - struct sccb_header *sccb = (struct sccb_header *)__va(sccb_int); 623 + struct sccb_header *sccb = sclpint_to_sccb(sccb_int); 631 624 struct evbuf_header *evbuf; 632 625 u16 response; 633 626 ··· 666 659 667 660 /* INT: Interrupt received (a=intparm, b=cmd) */ 668 661 sclp_trace_sccb(0, "INT", param32, active_cmd, active_cmd, 669 - (struct sccb_header *)__va(finished_sccb), 662 + sclpint_to_sccb(finished_sccb), 670 663 !ok_response(finished_sccb, active_cmd)); 671 664 672 665 if (finished_sccb) {