lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230827203401.5559-B-hca@linux.ibm.com>
Date:   Sun, 27 Aug 2023 22:34:01 +0200
From:   Heiko Carstens <hca@...ux.ibm.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Vasily Gorbik <gor@...ux.ibm.com>,
        Alexander Gordeev <agordeev@...ux.ibm.com>,
        linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL] s390 updates for 6.6 merge window

On Sun, Aug 27, 2023 at 10:31:00PM +0200, Heiko Carstens wrote:
> Hi Linus,
> 
> please pull s390 updates for the 6.6 merge window.
> 
> There will be a merge conflict with Andrew's mm-nonmm-stable tree.
> Since the diff of the merge resolution is quite large I'm going to
> reply to this mail.

Maybe I'm doing something wrong, but below is the rather large diff
of the merge commit, using "git diff HEAD HEAD^@", where HEAD is the
merge commit.

diff --cc arch/s390/Kconfig
index 18bf754e1fad,4d011f7c26e5..42446cbb53e2
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@@ -245,6 -245,25 +246,25 @@@ config PGTABLE_LEVEL
  
  source "kernel/livepatch/Kconfig"
  
+ config ARCH_SUPPORTS_KEXEC
+ 	def_bool y
+ 
+ config ARCH_SUPPORTS_KEXEC_FILE
+ 	def_bool CRYPTO && CRYPTO_SHA256 && CRYPTO_SHA256_S390
+ 
+ config ARCH_SUPPORTS_KEXEC_SIG
+ 	def_bool MODULE_SIG_FORMAT
+ 
+ config ARCH_SUPPORTS_KEXEC_PURGATORY
+ 	def_bool KEXEC_FILE
+ 
+ config ARCH_SUPPORTS_CRASH_DUMP
+ 	def_bool y
+ 	help
 -	  Refer to <file:Documentation/s390/zfcpdump.rst> for more details on this.
++	  Refer to <file:Documentation/arch/s390/zfcpdump.rst> for more details on this.
+ 	  This option also enables s390 zfcpdump.
 -	  See also <file:Documentation/s390/zfcpdump.rst>
++	  See also <file:Documentation/arch/s390/zfcpdump.rst>
+ 
  menu "Processor type and features"
  
  config HAVE_MARCH_Z10_FEATURES
@@@ -483,47 -502,6 +503,17 @@@ config SCHED_TOPOLOG
  
  source "kernel/Kconfig.hz"
  
- config KEXEC
- 	def_bool y
- 	select KEXEC_CORE
- 
- config KEXEC_FILE
- 	bool "kexec file based system call"
- 	select KEXEC_CORE
- 	depends on CRYPTO
- 	depends on CRYPTO_SHA256
- 	depends on CRYPTO_SHA256_S390
- 	help
- 	  Enable the kexec file based system call. In contrast to the normal
- 	  kexec system call this system call takes file descriptors for the
- 	  kernel and initramfs as arguments.
- 
- config ARCH_HAS_KEXEC_PURGATORY
- 	def_bool y
- 	depends on KEXEC_FILE
- 
- config KEXEC_SIG
- 	bool "Verify kernel signature during kexec_file_load() syscall"
- 	depends on KEXEC_FILE && MODULE_SIG_FORMAT
- 	help
- 	  This option makes kernel signature verification mandatory for
- 	  the kexec_file_load() syscall.
- 
- 	  In addition to that option, you need to enable signature
- 	  verification for the corresponding kernel image type being
- 	  loaded in order for this to work.
- 
 +config CERT_STORE
 +	bool "Get user certificates via DIAG320"
 +	depends on KEYS
 +	select CRYPTO_LIB_SHA256
 +	help
 +	  Enable this option if you want to access user-provided secure boot
 +	  certificates via DIAG 0x320.
 +
 +	  These certificates will be made available via the keyring named
 +	  'cert_store'.
 +
  config KERNEL_NOBP
  	def_bool n
  	prompt "Enable modified branch prediction for the kernel by default"
diff --cc kernel/Kconfig.kexec
index 000000000000,9bfe68fe9676..7aff28ded2f4
mode 000000,100644..100644
--- a/kernel/Kconfig.kexec
+++ b/kernel/Kconfig.kexec
@@@ -1,0 -1,150 +1,150 @@@
+ # SPDX-License-Identifier: GPL-2.0-only
+ 
+ menu "Kexec and crash features"
+ 
+ config CRASH_CORE
+ 	bool
+ 
+ config KEXEC_CORE
+ 	select CRASH_CORE
+ 	bool
+ 
+ config KEXEC_ELF
+ 	bool
+ 
+ config HAVE_IMA_KEXEC
+ 	bool
+ 
+ config KEXEC
+ 	bool "Enable kexec system call"
+ 	depends on ARCH_SUPPORTS_KEXEC
+ 	select KEXEC_CORE
+ 	help
+ 	  kexec is a system call that implements the ability to shutdown your
+ 	  current kernel, and to start another kernel. It is like a reboot
+ 	  but it is independent of the system firmware. And like a reboot
+ 	  you can start any kernel with it, not just Linux.
+ 
+ 	  The name comes from the similarity to the exec system call.
+ 
+ 	  It is an ongoing process to be certain the hardware in a machine
+ 	  is properly shutdown, so do not be surprised if this code does not
+ 	  initially work for you. As of this writing the exact hardware
+ 	  interface is strongly in flux, so no good recommendation can be
+ 	  made.
+ 
+ config KEXEC_FILE
+ 	bool "Enable kexec file based system call"
+ 	depends on ARCH_SUPPORTS_KEXEC_FILE
+ 	select KEXEC_CORE
+ 	help
+ 	  This is new version of kexec system call. This system call is
+ 	  file based and takes file descriptors as system call argument
+ 	  for kernel and initramfs as opposed to list of segments as
+ 	  accepted by kexec system call.
+ 
+ config KEXEC_SIG
+ 	bool "Verify kernel signature during kexec_file_load() syscall"
+ 	depends on ARCH_SUPPORTS_KEXEC_SIG
+ 	depends on KEXEC_FILE
+ 	help
+ 	  This option makes the kexec_file_load() syscall check for a valid
+ 	  signature of the kernel image. The image can still be loaded without
+ 	  a valid signature unless you also enable KEXEC_SIG_FORCE, though if
+ 	  there's a signature that we can check, then it must be valid.
+ 
+ 	  In addition to this option, you need to enable signature
+ 	  verification for the corresponding kernel image type being
+ 	  loaded in order for this to work.
+ 
+ config KEXEC_SIG_FORCE
+ 	bool "Require a valid signature in kexec_file_load() syscall"
+ 	depends on ARCH_SUPPORTS_KEXEC_SIG_FORCE
+ 	depends on KEXEC_SIG
+ 	help
+ 	  This option makes kernel signature verification mandatory for
+ 	  the kexec_file_load() syscall.
+ 
+ config KEXEC_IMAGE_VERIFY_SIG
+ 	bool "Enable Image signature verification support (ARM)"
+ 	default ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG
+ 	depends on ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG
+ 	depends on KEXEC_SIG
+ 	depends on EFI && SIGNED_PE_FILE_VERIFICATION
+ 	help
+ 	  Enable Image signature verification support.
+ 
+ config KEXEC_BZIMAGE_VERIFY_SIG
+ 	bool "Enable bzImage signature verification support"
+ 	depends on ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG
+ 	depends on KEXEC_SIG
+ 	depends on SIGNED_PE_FILE_VERIFICATION
+ 	select SYSTEM_TRUSTED_KEYRING
+ 	help
+ 	  Enable bzImage signature verification support.
+ 
+ config KEXEC_JUMP
+ 	bool "kexec jump"
+ 	depends on ARCH_SUPPORTS_KEXEC_JUMP
+ 	depends on KEXEC && HIBERNATION
+ 	help
+ 	  Jump between original kernel and kexeced kernel and invoke
+ 	  code in physical address mode via KEXEC
+ 
+ config CRASH_DUMP
+ 	bool "kernel crash dumps"
+ 	depends on ARCH_SUPPORTS_CRASH_DUMP
+ 	depends on ARCH_SUPPORTS_KEXEC
+ 	select CRASH_CORE
+ 	select KEXEC_CORE
+ 	select KEXEC
+ 	help
+ 	  Generate crash dump after being started by kexec.
+ 	  This should be normally only set in special crash dump kernels
+ 	  which are loaded in the main kernel with kexec-tools into
+ 	  a specially reserved region and then later executed after
+ 	  a crash by kdump/kexec. The crash dump kernel must be compiled
+ 	  to a memory address not used by the main kernel or BIOS using
+ 	  PHYSICAL_START, or it must be built as a relocatable image
+ 	  (CONFIG_RELOCATABLE=y).
+ 	  For more details see Documentation/admin-guide/kdump/kdump.rst
+ 
+ 	  For s390, this option also enables zfcpdump.
 -	  See also <file:Documentation/s390/zfcpdump.rst>
++	  See also <file:Documentation/arch/s390/zfcpdump.rst>
+ 
+ config CRASH_HOTPLUG
+ 	bool "Update the crash elfcorehdr on system configuration changes"
+ 	default y
+ 	depends on CRASH_DUMP && (HOTPLUG_CPU || MEMORY_HOTPLUG)
+ 	depends on ARCH_SUPPORTS_CRASH_HOTPLUG
+ 	help
+ 	  Enable direct update to the crash elfcorehdr (which contains
+ 	  the list of CPUs and memory regions to be dumped upon a crash)
+ 	  in response to hot plug/unplug or online/offline of CPUs or
+ 	  memory. This is a much more advanced approach than userspace
+ 	  attempting that.
+ 
+ 	  If unsure, say Y.
+ 
+ config CRASH_MAX_MEMORY_RANGES
+ 	int "Specify the maximum number of memory regions for the elfcorehdr"
+ 	default 8192
+ 	depends on CRASH_HOTPLUG
+ 	help
+ 	  For the kexec_file_load() syscall path, specify the maximum number of
+ 	  memory regions that the elfcorehdr buffer/segment can accommodate.
+ 	  These regions are obtained via walk_system_ram_res(); eg. the
+ 	  'System RAM' entries in /proc/iomem.
+ 	  This value is combined with NR_CPUS_DEFAULT and multiplied by
+ 	  sizeof(Elf64_Phdr) to determine the final elfcorehdr memory buffer/
+ 	  segment size.
+ 	  The value 8192, for example, covers a (sparsely populated) 1TiB system
+ 	  consisting of 128MiB memblocks, while resulting in an elfcorehdr
+ 	  memory buffer/segment size under 1MiB. This represents a sane choice
+ 	  to accommodate both baremetal and virtual machine configurations.
+ 
+ 	  For the kexec_load() syscall path, CRASH_MAX_MEMORY_RANGES is part of
+ 	  the computation behind the value provided through the
+ 	  /sys/kernel/crash_elfcorehdr_size attribute.
+ 
+ endmenu

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ