On 6/20/23 03:21, Baoquan He wrote:
Hi Eric,

On 06/19/23 at 10:57am, Eric DeVolder wrote:
......
+config ARCH_SUPPORTS_KEXEC
+       def_bool y
-config ARCH_HAS_KEXEC_PURGATORY
-       def_bool KEXEC_FILE
+config ARCH_SUPPORTS_KEXEC_FILE
+       def_bool X86_64 && CRYPTO && CRYPTO_SHA256
......
+config ARCH_SELECTS_KEXEC_FILE
+       def_bool y
        depends on KEXEC_FILE
-       help

I am a little confused about this ARCH_SELECTS_XX adding. Wondering what
limits us defining the ARCH_SUPPORTS_KEXEC_FILE like below? I have limited
knowledge about Kconfig, please correct me if I am wrong. Thanks in
advance.

  +config ARCH_SUPPORTS_KEXEC_FILE
  +     def_bool y
        depends on KEXEC_FILE
        depends on X86_64 && CRYPTO && CRYPTO_SHA256


For the ARCH_SUPPORTS_ options, I chose to list the dependencies on the def_bool line to show that it took all those conditions to result in True.
However, as you point out, using a def_bool y and then listing them as 'depends 
on' works as well.
Probably would have resulted in fewer changes to the Kconfig file.
Either way is ok (the 'depends on KEXEC_FILE' is erroneous in your example).
eric


-
-         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.
-

Reply via email to