Message ID | 20231023110308.1202042-2-arnd@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Herbert Xu |
Headers | show |
Series | [1/2] kexec: fix KEXEC_FILE dependencies | expand |
On 10/23/23 at 01:01pm, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > All other users of crypto code use 'select' instead of 'depends on', > so do the same thing with KEXEC_FILE for consistency. > > In practice this makes very little difference as kernels with kexec > support are very likely to also include some other feature that already > selects both crypto and crypto_sha256, but being consistent here helps > for usability as well as to avoid potential circular dependencies. > > This reverts the dependency back to what it was originally before commit > 74ca317c26a3f ("kexec: create a new config option CONFIG_KEXEC_FILE for > new syscall"), which changed changed it with the comment "This should ~~~~~~~~~~~~~~ typo > be safer as "select" is not recursive", but that appears to have been > done in error, as "select" is indeed recursive, and there are no other > dependencies that prevent CRYPTO_SHA256 from being selected here. > > Fixes: 74ca317c26a3f ("kexec: create a new config option CONFIG_KEXEC_FILE for new syscall") > Cc: Herbert Xu <herbert@gondor.apana.org.au> > Cc: "David S. Miller" <davem@davemloft.net> > Cc: linux-crypto@vger.kernel.org > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > kernel/Kconfig.kexec | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) LGTM, Acked-by: Baoquan He <bhe@redhat.com> > > diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec > index bfc636d64ff2b..51f719af10e79 100644 > --- a/kernel/Kconfig.kexec > +++ b/kernel/Kconfig.kexec > @@ -36,7 +36,8 @@ config KEXEC > config KEXEC_FILE > bool "Enable kexec file based system call" > depends on ARCH_SUPPORTS_KEXEC_FILE > - depends on CRYPTO_SHA256=y || !ARCH_SUPPORTS_KEXEC_PURGATORY > + select CRYPTO > + select CRYPTO_SHA256 > select KEXEC_CORE > help > This is new version of kexec system call. This system call is > -- > 2.39.2 >
On 10/24/23 at 11:55am, Baoquan He wrote: > On 10/23/23 at 01:01pm, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > All other users of crypto code use 'select' instead of 'depends on', > > so do the same thing with KEXEC_FILE for consistency. > > > > In practice this makes very little difference as kernels with kexec > > support are very likely to also include some other feature that already > > selects both crypto and crypto_sha256, but being consistent here helps > > for usability as well as to avoid potential circular dependencies. > > > > This reverts the dependency back to what it was originally before commit > > 74ca317c26a3f ("kexec: create a new config option CONFIG_KEXEC_FILE for > > new syscall"), which changed changed it with the comment "This should > ~~~~~~~~~~~~~~ typo > > be safer as "select" is not recursive", but that appears to have been > > done in error, as "select" is indeed recursive, and there are no other > > dependencies that prevent CRYPTO_SHA256 from being selected here. > > > > Fixes: 74ca317c26a3f ("kexec: create a new config option CONFIG_KEXEC_FILE for new syscall") > > Cc: Herbert Xu <herbert@gondor.apana.org.au> > > Cc: "David S. Miller" <davem@davemloft.net> > > Cc: linux-crypto@vger.kernel.org > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > --- > > kernel/Kconfig.kexec | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > LGTM, > > Acked-by: Baoquan He <bhe@redhat.com> Sorry, the patch 1/2 is not sent to me and kexec mailing list, so I didn't get the intention of the entire patchset. I need hold the ack until I read the patch 1. I have some concerns about patch 1 if I didn't misunderstand it. Will come back later when patch 1 reviewing is finished. > > > > > diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec > > index bfc636d64ff2b..51f719af10e79 100644 > > --- a/kernel/Kconfig.kexec > > +++ b/kernel/Kconfig.kexec > > @@ -36,7 +36,8 @@ config KEXEC > > config KEXEC_FILE > > bool "Enable kexec file based system call" > > depends on ARCH_SUPPORTS_KEXEC_FILE > > - depends on CRYPTO_SHA256=y || !ARCH_SUPPORTS_KEXEC_PURGATORY > > + select CRYPTO > > + select CRYPTO_SHA256 > > select KEXEC_CORE > > help > > This is new version of kexec system call. This system call is > > -- > > 2.39.2 > > >
On Tue, Oct 24, 2023, at 06:10, Baoquan He wrote: > On 10/24/23 at 11:55am, Baoquan He wrote: >> On 10/23/23 at 01:01pm, Arnd Bergmann wrote: >> > From: Arnd Bergmann <arnd@arndb.de> >> > >> > All other users of crypto code use 'select' instead of 'depends on', >> > so do the same thing with KEXEC_FILE for consistency. >> > >> > In practice this makes very little difference as kernels with kexec >> > support are very likely to also include some other feature that already >> > selects both crypto and crypto_sha256, but being consistent here helps >> > for usability as well as to avoid potential circular dependencies. >> > >> > This reverts the dependency back to what it was originally before commit >> > 74ca317c26a3f ("kexec: create a new config option CONFIG_KEXEC_FILE for >> > new syscall"), which changed changed it with the comment "This should >> ~~~~~~~~~~~~~~ typo >> > be safer as "select" is not recursive", but that appears to have been >> > done in error, as "select" is indeed recursive, and there are no other >> > dependencies that prevent CRYPTO_SHA256 from being selected here. >> > >> > Fixes: 74ca317c26a3f ("kexec: create a new config option CONFIG_KEXEC_FILE for new syscall") >> > Cc: Herbert Xu <herbert@gondor.apana.org.au> >> > Cc: "David S. Miller" <davem@davemloft.net> >> > Cc: linux-crypto@vger.kernel.org >> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> >> > --- >> > kernel/Kconfig.kexec | 3 ++- >> > 1 file changed, 2 insertions(+), 1 deletion(-) >> >> LGTM, >> >> Acked-by: Baoquan He <bhe@redhat.com> > > Sorry, the patch 1/2 is not sent to me and kexec mailing list, so I > didn't get the intention of the entire patchset. I need hold the ack > until I read the patch 1. I have some concerns about patch 1 if I didn't > misunderstand it. Will come back later when patch 1 reviewing is > finished. Sorry about missing you on Cc. If anyone else is looking for the patch, it's archived at https://lore.kernel.org/lkml/20231023110308.1202042-1-arnd@kernel.org/ The idea of patch 1 was only to address the build regression on x86, so I was hoping that part would be uncontroversial. I split out patch 2/2 since that is intended to actually change the behavior, hopefully for the better. I introduced a new regression on riscv that Conor Dooley found, and that should already be fixed now. It looks like we may need a similar change on s390 --- a/arch/s390/Kbuild +++ b/arch/s390/Kbuild @@ -7,7 +7,7 @@ obj-$(CONFIG_S390_HYPFS) += hypfs/ obj-$(CONFIG_APPLDATA_BASE) += appldata/ obj-y += net/ obj-$(CONFIG_PCI) += pci/ -obj-$(CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY) += purgatory/ +obj-$(CONFIG_KEXEC_FILE) += purgatory/ # for cleaning subdir- += boot tools but I haven't tested that, and I'll wait for your reply then. Arnd
diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec index bfc636d64ff2b..51f719af10e79 100644 --- a/kernel/Kconfig.kexec +++ b/kernel/Kconfig.kexec @@ -36,7 +36,8 @@ config KEXEC config KEXEC_FILE bool "Enable kexec file based system call" depends on ARCH_SUPPORTS_KEXEC_FILE - depends on CRYPTO_SHA256=y || !ARCH_SUPPORTS_KEXEC_PURGATORY + select CRYPTO + select CRYPTO_SHA256 select KEXEC_CORE help This is new version of kexec system call. This system call is