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-5.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Heiko Carstens:

- Convert current_stack_pointer to a register alias like it is assumed
if ARCH_HAS_CURRENT_STACK_POINTER is selected. The existing
implementation as a function breaks CONFIG_HARDENED_USERCOPY
sanity-checks

- Get rid of -Warray-bounds warning within kexec code

- Add minimal IBM z16 support by reporting a proper elf platform, and
adding compile options

- Update defconfigs

* tag 's390-5.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390: enable CONFIG_HARDENED_USERCOPY in debug_defconfig
s390: current_stack_pointer shouldn't be a function
s390: update defconfigs
s390/kexec: silence -Warray-bounds warning
s390: allow to compile with z16 optimizations
s390: add z16 elf platform

+43 -18
+19
arch/s390/Kconfig
··· 255 255 def_bool n 256 256 select HAVE_MARCH_Z14_FEATURES 257 257 258 + config HAVE_MARCH_Z16_FEATURES 259 + def_bool n 260 + select HAVE_MARCH_Z15_FEATURES 261 + 258 262 choice 259 263 prompt "Processor type" 260 264 default MARCH_Z196 ··· 316 312 and 8561 series). The kernel will be slightly faster but will not 317 313 work on older machines. 318 314 315 + config MARCH_Z16 316 + bool "IBM z16" 317 + select HAVE_MARCH_Z16_FEATURES 318 + depends on $(cc-option,-march=z16) 319 + help 320 + Select this to enable optimizations for IBM z16 (3931 and 321 + 3932 series). 322 + 319 323 endchoice 320 324 321 325 config MARCH_Z10_TUNE ··· 343 331 344 332 config MARCH_Z15_TUNE 345 333 def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT 334 + 335 + config MARCH_Z16_TUNE 336 + def_bool TUNE_Z16 || MARCH_Z16 && TUNE_DEFAULT 346 337 347 338 choice 348 339 prompt "Tune code generation" ··· 386 371 config TUNE_Z15 387 372 bool "IBM z15" 388 373 depends on $(cc-option,-mtune=z15) 374 + 375 + config TUNE_Z16 376 + bool "IBM z16" 377 + depends on $(cc-option,-mtune=z16) 389 378 390 379 endchoice 391 380
+2
arch/s390/Makefile
··· 42 42 mflags-$(CONFIG_MARCH_Z13) := -march=z13 43 43 mflags-$(CONFIG_MARCH_Z14) := -march=z14 44 44 mflags-$(CONFIG_MARCH_Z15) := -march=z15 45 + mflags-$(CONFIG_MARCH_Z16) := -march=z16 45 46 46 47 export CC_FLAGS_MARCH := $(mflags-y) 47 48 ··· 55 54 cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13 56 55 cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14 57 56 cflags-$(CONFIG_MARCH_Z15_TUNE) += -mtune=z15 57 + cflags-$(CONFIG_MARCH_Z16_TUNE) += -mtune=z16 58 58 59 59 cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include 60 60
+6 -2
arch/s390/configs/debug_defconfig
··· 499 499 # CONFIG_NET_VENDOR_CHELSIO is not set 500 500 # CONFIG_NET_VENDOR_CISCO is not set 501 501 # CONFIG_NET_VENDOR_CORTINA is not set 502 + # CONFIG_NET_VENDOR_DAVICOM is not set 502 503 # CONFIG_NET_VENDOR_DEC is not set 503 504 # CONFIG_NET_VENDOR_DLINK is not set 504 505 # CONFIG_NET_VENDOR_EMULEX is not set 505 506 # CONFIG_NET_VENDOR_ENGLEDER is not set 506 507 # CONFIG_NET_VENDOR_EZCHIP is not set 508 + # CONFIG_NET_VENDOR_FUNGIBLE is not set 507 509 # CONFIG_NET_VENDOR_GOOGLE is not set 508 510 # CONFIG_NET_VENDOR_HUAWEI is not set 509 511 # CONFIG_NET_VENDOR_INTEL is not set ··· 590 588 CONFIG_SYNC_FILE=y 591 589 CONFIG_VFIO=m 592 590 CONFIG_VFIO_PCI=m 591 + CONFIG_MLX5_VFIO_PCI=m 593 592 CONFIG_VFIO_MDEV=m 594 593 CONFIG_VIRTIO_PCI=m 595 594 CONFIG_VIRTIO_BALLOON=m 596 595 CONFIG_VIRTIO_INPUT=y 597 596 CONFIG_VHOST_NET=m 598 597 CONFIG_VHOST_VSOCK=m 599 - # CONFIG_SURFACE_PLATFORMS is not set 600 598 CONFIG_S390_CCW_IOMMU=y 601 599 CONFIG_S390_AP_IOMMU=y 602 600 CONFIG_EXT4_FS=y ··· 692 690 CONFIG_KEY_NOTIFICATIONS=y 693 691 CONFIG_SECURITY=y 694 692 CONFIG_SECURITY_NETWORK=y 693 + CONFIG_HARDENED_USERCOPY=y 695 694 CONFIG_FORTIFY_SOURCE=y 696 695 CONFIG_SECURITY_SELINUX=y 697 696 CONFIG_SECURITY_SELINUX_BOOTPARAM=y ··· 736 733 CONFIG_CRYPTO_MICHAEL_MIC=m 737 734 CONFIG_CRYPTO_RMD160=m 738 735 CONFIG_CRYPTO_SHA3=m 736 + CONFIG_CRYPTO_SM3=m 739 737 CONFIG_CRYPTO_WP512=m 740 738 CONFIG_CRYPTO_AES_TI=m 741 739 CONFIG_CRYPTO_ANUBIS=m ··· 790 786 CONFIG_CMA_SIZE_MBYTES=0 791 787 CONFIG_PRINTK_TIME=y 792 788 CONFIG_DYNAMIC_DEBUG=y 793 - CONFIG_DEBUG_INFO=y 794 789 CONFIG_DEBUG_INFO_DWARF4=y 795 790 CONFIG_DEBUG_INFO_BTF=y 796 791 CONFIG_GDB_SCRIPTS=y ··· 817 814 CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m 818 815 CONFIG_DEBUG_PER_CPU_MAPS=y 819 816 CONFIG_KFENCE=y 817 + CONFIG_KFENCE_DEFERRABLE=y 820 818 CONFIG_KFENCE_STATIC_KEYS=y 821 819 CONFIG_DEBUG_SHIRQ=y 822 820 CONFIG_PANIC_ON_OOPS=y
+4 -2
arch/s390/configs/defconfig
··· 490 490 # CONFIG_NET_VENDOR_CHELSIO is not set 491 491 # CONFIG_NET_VENDOR_CISCO is not set 492 492 # CONFIG_NET_VENDOR_CORTINA is not set 493 + # CONFIG_NET_VENDOR_DAVICOM is not set 493 494 # CONFIG_NET_VENDOR_DEC is not set 494 495 # CONFIG_NET_VENDOR_DLINK is not set 495 496 # CONFIG_NET_VENDOR_EMULEX is not set 496 497 # CONFIG_NET_VENDOR_ENGLEDER is not set 497 498 # CONFIG_NET_VENDOR_EZCHIP is not set 499 + # CONFIG_NET_VENDOR_FUNGIBLE is not set 498 500 # CONFIG_NET_VENDOR_GOOGLE is not set 499 501 # CONFIG_NET_VENDOR_HUAWEI is not set 500 502 # CONFIG_NET_VENDOR_INTEL is not set ··· 580 578 CONFIG_SYNC_FILE=y 581 579 CONFIG_VFIO=m 582 580 CONFIG_VFIO_PCI=m 581 + CONFIG_MLX5_VFIO_PCI=m 583 582 CONFIG_VFIO_MDEV=m 584 583 CONFIG_VIRTIO_PCI=m 585 584 CONFIG_VIRTIO_BALLOON=m 586 585 CONFIG_VIRTIO_INPUT=y 587 586 CONFIG_VHOST_NET=m 588 587 CONFIG_VHOST_VSOCK=m 589 - # CONFIG_SURFACE_PLATFORMS is not set 590 588 CONFIG_S390_CCW_IOMMU=y 591 589 CONFIG_S390_AP_IOMMU=y 592 590 CONFIG_EXT4_FS=y ··· 722 720 CONFIG_CRYPTO_MICHAEL_MIC=m 723 721 CONFIG_CRYPTO_RMD160=m 724 722 CONFIG_CRYPTO_SHA3=m 723 + CONFIG_CRYPTO_SM3=m 725 724 CONFIG_CRYPTO_WP512=m 726 725 CONFIG_CRYPTO_AES_TI=m 727 726 CONFIG_CRYPTO_ANUBIS=m ··· 775 772 CONFIG_CMA_SIZE_MBYTES=0 776 773 CONFIG_PRINTK_TIME=y 777 774 CONFIG_DYNAMIC_DEBUG=y 778 - CONFIG_DEBUG_INFO=y 779 775 CONFIG_DEBUG_INFO_DWARF4=y 780 776 CONFIG_DEBUG_INFO_BTF=y 781 777 CONFIG_GDB_SCRIPTS=y
+3 -3
arch/s390/configs/zfcpdump_defconfig
··· 26 26 # CONFIG_S390_GUEST is not set 27 27 # CONFIG_SECCOMP is not set 28 28 # CONFIG_GCC_PLUGINS is not set 29 + # CONFIG_BLOCK_LEGACY_AUTOLOAD is not set 29 30 CONFIG_PARTITION_ADVANCED=y 30 31 # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 31 32 # CONFIG_COMPACTION is not set ··· 61 60 # CONFIG_HID is not set 62 61 # CONFIG_VIRTIO_MENU is not set 63 62 # CONFIG_VHOST_MENU is not set 64 - # CONFIG_SURFACE_PLATFORMS is not set 65 63 # CONFIG_IOMMU_SUPPORT is not set 66 64 # CONFIG_DNOTIFY is not set 67 65 # CONFIG_INOTIFY_USER is not set ··· 71 71 CONFIG_XZ_DEC_MICROLZMA=y 72 72 CONFIG_PRINTK_TIME=y 73 73 # CONFIG_SYMBOLIC_ERRNAME is not set 74 - CONFIG_DEBUG_INFO=y 74 + CONFIG_DEBUG_KERNEL=y 75 + CONFIG_DEBUG_INFO_DWARF4=y 75 76 CONFIG_DEBUG_INFO_BTF=y 76 77 CONFIG_DEBUG_FS=y 77 - CONFIG_DEBUG_KERNEL=y 78 78 CONFIG_PANIC_ON_OOPS=y 79 79 # CONFIG_SCHED_DEBUG is not set 80 80 CONFIG_RCU_CPU_STALL_TIMEOUT=60
+1 -1
arch/s390/include/asm/entry-common.h
··· 58 58 59 59 static inline bool on_thread_stack(void) 60 60 { 61 - return !(((unsigned long)(current->stack) ^ current_stack_pointer()) & ~(THREAD_SIZE - 1)); 61 + return !(((unsigned long)(current->stack) ^ current_stack_pointer) & ~(THREAD_SIZE - 1)); 62 62 } 63 63 64 64 #endif
+1 -7
arch/s390/include/asm/processor.h
··· 200 200 /* Has task runtime instrumentation enabled ? */ 201 201 #define is_ri_task(tsk) (!!(tsk)->thread.ri_cb) 202 202 203 - static __always_inline unsigned long current_stack_pointer(void) 204 - { 205 - unsigned long sp; 206 - 207 - asm volatile("la %0,0(15)" : "=a" (sp)); 208 - return sp; 209 - } 203 + register unsigned long current_stack_pointer asm("r15"); 210 204 211 205 static __always_inline unsigned short stap(void) 212 206 {
+1 -1
arch/s390/include/asm/stacktrace.h
··· 46 46 }; 47 47 48 48 /* 49 - * Unlike current_stack_pointer() which simply returns current value of %r15 49 + * Unlike current_stack_pointer which simply contains the current value of %r15 50 50 * current_frame_address() returns function stack frame address, which matches 51 51 * %r15 upon function invocation. It may differ from %r15 later if function 52 52 * allocates stack for local variables or new stack frame to call other
+1 -1
arch/s390/kernel/machine_kexec.c
··· 54 54 * This need to be done *after* s390_reset_system set the 55 55 * prefix register of this CPU to zero 56 56 */ 57 - memcpy((void *) __LC_FPREGS_SAVE_AREA, 57 + memcpy(absolute_pointer(__LC_FPREGS_SAVE_AREA), 58 58 (void *)(prefix + __LC_FPREGS_SAVE_AREA), 512); 59 59 60 60 __load_psw_mask(PSW_MASK_BASE | PSW_DEFAULT_KEY | PSW_MASK_EA | PSW_MASK_BA);
+4
arch/s390/kernel/processor.c
··· 283 283 case 0x8562: 284 284 strcpy(elf_platform, "z15"); 285 285 break; 286 + case 0x3931: 287 + case 0x3932: 288 + strcpy(elf_platform, "z16"); 289 + break; 286 290 } 287 291 return 0; 288 292 }
+1 -1
arch/s390/lib/test_unwind.c
··· 147 147 struct pt_regs regs; 148 148 149 149 memset(&regs, 0, sizeof(regs)); 150 - regs.gprs[15] = current_stack_pointer(); 150 + regs.gprs[15] = current_stack_pointer; 151 151 152 152 asm volatile( 153 153 "basr %[psw_addr],0\n"