From: Kees Cook <keescook@chromium.org>
To: Eric DeVolder <eric.devolder@oracle.com>
Cc: linux@armlinux.org.uk, catalin.marinas@arm.com, will@kernel.org,
chenhuacai@kernel.org, geert@linux-m68k.org,
tsbogend@alpha.franken.de, James.Bottomley@hansenpartnership.com,
deller@gmx.de, ysato@users.sourceforge.jp, dalias@libc.org,
glaubitz@physik.fu-berlin.de, tglx@linutronix.de,
mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
86@kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,
linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
kernel@xen0n.name, mpe@ellerman.id.au, npiggin@gmail.com,
christophe.leroy@csgroup.eu, paul.walmsley@sifive.com,
palmer@dabbelt.com, aou@eecs.berkeley.edu, hca@linux.ibm.com,
gor@linux.ibm.com, agordeev@linux.ibm.com,
borntraeger@linux.ibm.com, svens@linux.ibm.com, hpa@zytor.com,
paulmck@kernel.org, peterz@infradead.org, frederic@kernel.org,
akpm@linux-foundation.org, ardb@kernel.org,
samitolvanen@google.com, juerg.haefliger@canonical.com,
arnd@arndb.de, rmk+kernel@armlinux.org.uk,
linus.walleij@linaro.org, sebastian.reichel@collabora.com,
rppt@kernel.org, kirill.shutemov@linux.intel.com,
anshuman.khandual@arm.com, ziy@nvidia.com, masahiroy@kernel.org,
ndesaulniers@google.com, mhiramat@kernel.org, ojeda@kernel.org,
thunder.leizhen@huawei.com, xin3.li@intel.com, tj@kernel.org,
gregkh@linuxfoundation.org, tsi@tuyoix.net, bhe@redhat.com,
hbathini@linux.ibm.com, sourabhjain@linux.ibm.com,
boris.ostrovsky@oracle.com, konrad.wilk@oracle.com
Subject: Re: [PATCH v1 00/21] refactor Kconfig to consolidate KEXEC and CRASH options
Date: Tue, 13 Jun 2023 13:21:05 -0700 [thread overview]
Message-ID: <202306131314.EFA558B7@keescook> (raw)
In-Reply-To: <20230612172805.681179-1-eric.devolder@oracle.com>
On Mon, Jun 12, 2023 at 01:27:52PM -0400, Eric DeVolder wrote:
> The Kconfig is refactored to consolidate KEXEC and CRASH options from
> various arch/<arch>/Kconfig files into new file kernel/Kconfig.kexec.
This looks very nice!
> [...]
> - The boolean ARCH_HAS_<option> in effect allows the arch to determine
> when the feature is allowed. Archs which don't have the feature
> simply do not provide the corresponding ARCH_HAS_<option>.
> For each arch, where there previously were KEXEC and/or CRASH
> options, these have been replaced with the corresponding boolean
> ARCH_HAS_<option>, and an appropriate def_bool statement.
>
> For example, if the arch supports KEXEC_FILE, then the
> ARCH_HAS_KEXEC_FILE simply has a 'def_bool y'. This permits the
> KEXEC_FILE option to be available.
>
> If the arch has a 'depends on' statement in its original coding
> of the option, then that expression becomes part of the def_bool
> expression. For example, arm64 had:
>
> config KEXEC
> depends on PM_SLEEP_SMP
>
> and in this solution, this converts to:
>
> config ARCH_HAS_KEXEC
> def_bool PM_SLEEP_SMP
>
>
> - In order to account for the differences in the config coding for
> the three common options, the ARCH_SUPPORTS_<option> is used.
> This options has a 'depends on <option>' statement to couple it
> to the main option, and from there can insert the differences
> from the common option and the arch original coding of that option.
>
> For example, a few archs enable CRYPTO and CRYTPO_SHA256 for
> KEXEC_FILE. These require a ARCH_SUPPORTS_KEXEC_FILE and
> 'select CRYPTO' and 'select CRYPTO_SHA256' statements.
Naming nit: "HAS" and "SUPPORTS" feel very similar, and looking at
existing configs, "ARCH_SUPPORTS_..." is already used for doing this
kind of bare "bool" management. e.g. see ARCH_SUPPORTS_INT128
It looks like you need to split "depends" and "select" so the options
can be chosen separately from the "selectable" configs.
How about naming this ARCH_SELECTS_<option>, since that's what it's
there for?
-Kees
--
Kees Cook
WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: Eric DeVolder <eric.devolder@oracle.com>
Cc: linux@armlinux.org.uk, catalin.marinas@arm.com, will@kernel.org,
chenhuacai@kernel.org, geert@linux-m68k.org,
tsbogend@alpha.franken.de, James.Bottomley@hansenpartnership.com,
deller@gmx.de, ysato@users.sourceforge.jp, dalias@libc.org,
glaubitz@physik.fu-berlin.de, tglx@linutronix.de,
mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
86@kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,
linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
kernel@xen0n.name, mpe@ellerman.id.au, npiggin@gmail.com,
christophe.leroy@csgroup.eu, paul.walmsley@sifive.com,
palmer@dabbelt.com, aou@eecs.berkeley.edu, hca@linux.ibm.com,
gor@linux.ibm.com, agordeev@linux.ibm.com,
borntraeger@linux.ibm.com, svens@linux.ibm.com, hpa@zytor.com,
paulmck@kernel.org, peterz@infradead.org, frederic@kernel.org,
akpm@linux-foundation.org, ardb@kernel.org,
samitolvanen@google.com, juerg.haefliger@canonical.com,
arnd@arndb.de, rmk+kernel@armlinux.org.uk,
linus.walleij@linaro.org, sebastian.reichel@collabora.com,
rppt@kernel.org, kirill.shutemov@linux.intel.com,
anshuman.khandual@arm.com, ziy@nvidia.com, masahiroy@kernel.org,
ndesaulniers@google.com, mhiramat@kernel.org, ojeda@kernel.org,
thunder.leizhen@huawei.com, xin3.li@intel.com, tj@kernel.org,
gregkh@linuxfoundation.org, tsi@tuyoix.net, bhe@redhat.com,
hbathini@linux.ibm.com, sourabhjain@linux.ibm.com,
boris.ostrovsky@oracle.com, konrad.wilk@oracle.com
Subject: Re: [PATCH v1 00/21] refactor Kconfig to consolidate KEXEC and CRASH options
Date: Tue, 13 Jun 2023 13:21:05 -0700 [thread overview]
Message-ID: <202306131314.EFA558B7@keescook> (raw)
In-Reply-To: <20230612172805.681179-1-eric.devolder@oracle.com>
On Mon, Jun 12, 2023 at 01:27:52PM -0400, Eric DeVolder wrote:
> The Kconfig is refactored to consolidate KEXEC and CRASH options from
> various arch/<arch>/Kconfig files into new file kernel/Kconfig.kexec.
This looks very nice!
> [...]
> - The boolean ARCH_HAS_<option> in effect allows the arch to determine
> when the feature is allowed. Archs which don't have the feature
> simply do not provide the corresponding ARCH_HAS_<option>.
> For each arch, where there previously were KEXEC and/or CRASH
> options, these have been replaced with the corresponding boolean
> ARCH_HAS_<option>, and an appropriate def_bool statement.
>
> For example, if the arch supports KEXEC_FILE, then the
> ARCH_HAS_KEXEC_FILE simply has a 'def_bool y'. This permits the
> KEXEC_FILE option to be available.
>
> If the arch has a 'depends on' statement in its original coding
> of the option, then that expression becomes part of the def_bool
> expression. For example, arm64 had:
>
> config KEXEC
> depends on PM_SLEEP_SMP
>
> and in this solution, this converts to:
>
> config ARCH_HAS_KEXEC
> def_bool PM_SLEEP_SMP
>
>
> - In order to account for the differences in the config coding for
> the three common options, the ARCH_SUPPORTS_<option> is used.
> This options has a 'depends on <option>' statement to couple it
> to the main option, and from there can insert the differences
> from the common option and the arch original coding of that option.
>
> For example, a few archs enable CRYPTO and CRYTPO_SHA256 for
> KEXEC_FILE. These require a ARCH_SUPPORTS_KEXEC_FILE and
> 'select CRYPTO' and 'select CRYPTO_SHA256' statements.
Naming nit: "HAS" and "SUPPORTS" feel very similar, and looking at
existing configs, "ARCH_SUPPORTS_..." is already used for doing this
kind of bare "bool" management. e.g. see ARCH_SUPPORTS_INT128
It looks like you need to split "depends" and "select" so the options
can be chosen separately from the "selectable" configs.
How about naming this ARCH_SELECTS_<option>, since that's what it's
there for?
-Kees
--
Kees Cook
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: Eric DeVolder <eric.devolder@oracle.com>
Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
linux-sh@vger.kernel.org, peterz@infradead.org,
catalin.marinas@arm.com, linus.walleij@linaro.org,
dave.hansen@linux.intel.com, linux-mips@vger.kernel.org,
James.Bottomley@hansenpartnership.com, hpa@zytor.com,
linux-riscv@lists.infradead.org, will@kernel.org,
kernel@xen0n.name, tsi@tuyoix.net, linux-s390@vger.kernel.org,
agordeev@linux.ibm.com, rmk+kernel@armlinux.org.uk,
paulmck@kernel.org, ysato@users.sourceforge.jp, deller@gmx.de,
chenhuacai@kernel.org, linux@armlinux.org.uk,
paul.walmsley@sifive.com, 86@kernel.org, mingo@redhat.com,
geert@linux-m68k.org, hbathini@linux.ibm.com,
samitolvanen@google.com, ojeda@kernel.org,
juerg.haefliger@canonical.com, borntraeger@linux.ibm.com,
frederic@kernel.org, arnd@arndb.de, mhiramat@kernel.org,
ardb@kernel.org, thunder.leizhen@huawei.com,
aou@eecs.berkeley.edu, ziy@nvidia.com, gor@linux.ibm.com,
anshuman.khandual@arm.com, hca@linux.ibm.com, xin3.li@intel.com,
npiggin@gmail.com, konrad.wilk@ora cle.com,
linux-m68k@lists.linux-m68k.org, bp@alien8.de,
loongarch@lists.linux.dev, glaubitz@physik.fu-berlin.de,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
boris.ostrovsky@oracle.com, tsbogend@alpha.franken.de,
sebastian.reichel@collabora.com, bhe@redhat.com,
linux-parisc@vger.kernel.org, gregkh@linuxfoundation.org,
kirill.shutemov@linux.intel.com, ndesaulniers@google.com,
linux-kernel@vger.kernel.org, sourabhjain@linux.ibm.com,
palmer@dabbelt.com, svens@linux.ibm.com, tj@kernel.org,
akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org,
masahiroy@kernel.org, rppt@kernel.org
Subject: Re: [PATCH v1 00/21] refactor Kconfig to consolidate KEXEC and CRASH options
Date: Tue, 13 Jun 2023 13:21:05 -0700 [thread overview]
Message-ID: <202306131314.EFA558B7@keescook> (raw)
In-Reply-To: <20230612172805.681179-1-eric.devolder@oracle.com>
On Mon, Jun 12, 2023 at 01:27:52PM -0400, Eric DeVolder wrote:
> The Kconfig is refactored to consolidate KEXEC and CRASH options from
> various arch/<arch>/Kconfig files into new file kernel/Kconfig.kexec.
This looks very nice!
> [...]
> - The boolean ARCH_HAS_<option> in effect allows the arch to determine
> when the feature is allowed. Archs which don't have the feature
> simply do not provide the corresponding ARCH_HAS_<option>.
> For each arch, where there previously were KEXEC and/or CRASH
> options, these have been replaced with the corresponding boolean
> ARCH_HAS_<option>, and an appropriate def_bool statement.
>
> For example, if the arch supports KEXEC_FILE, then the
> ARCH_HAS_KEXEC_FILE simply has a 'def_bool y'. This permits the
> KEXEC_FILE option to be available.
>
> If the arch has a 'depends on' statement in its original coding
> of the option, then that expression becomes part of the def_bool
> expression. For example, arm64 had:
>
> config KEXEC
> depends on PM_SLEEP_SMP
>
> and in this solution, this converts to:
>
> config ARCH_HAS_KEXEC
> def_bool PM_SLEEP_SMP
>
>
> - In order to account for the differences in the config coding for
> the three common options, the ARCH_SUPPORTS_<option> is used.
> This options has a 'depends on <option>' statement to couple it
> to the main option, and from there can insert the differences
> from the common option and the arch original coding of that option.
>
> For example, a few archs enable CRYPTO and CRYTPO_SHA256 for
> KEXEC_FILE. These require a ARCH_SUPPORTS_KEXEC_FILE and
> 'select CRYPTO' and 'select CRYPTO_SHA256' statements.
Naming nit: "HAS" and "SUPPORTS" feel very similar, and looking at
existing configs, "ARCH_SUPPORTS_..." is already used for doing this
kind of bare "bool" management. e.g. see ARCH_SUPPORTS_INT128
It looks like you need to split "depends" and "select" so the options
can be chosen separately from the "selectable" configs.
How about naming this ARCH_SELECTS_<option>, since that's what it's
there for?
-Kees
--
Kees Cook
next prev parent reply other threads:[~2023-06-13 20:21 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 17:27 [PATCH v1 00/21] refactor Kconfig to consolidate KEXEC and CRASH options Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 01/21] kexec: consolidate kexec and crash options into kernel/Kconfig.kexec Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-14 1:19 ` Leizhen (ThunderTown)
2023-06-14 1:19 ` Leizhen (ThunderTown)
2023-06-14 1:19 ` Leizhen (ThunderTown)
2023-06-14 11:54 ` Eric DeVolder
2023-06-14 11:54 ` Eric DeVolder
2023-06-14 11:54 ` Eric DeVolder
2023-06-14 15:24 ` Alexander Gordeev
2023-06-14 15:24 ` Alexander Gordeev
2023-06-14 15:24 ` Alexander Gordeev
2023-06-14 22:11 ` Eric DeVolder
2023-06-14 22:11 ` Eric DeVolder
2023-06-14 22:11 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 02/21] x86/kexec: refactor for kernel/Kconfig.kexec Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 03/21] arm/kexec: " Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 04/21] ia64/kexec: " Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 05/21] arm64/kexec: " Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-14 1:22 ` Leizhen (ThunderTown)
2023-06-14 1:22 ` Leizhen (ThunderTown)
2023-06-14 1:22 ` Leizhen (ThunderTown)
2023-06-14 11:57 ` Eric DeVolder
2023-06-14 11:57 ` Eric DeVolder
2023-06-14 11:57 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 06/21] loongarch/kexec: " Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` [PATCH v1 07/21] m68k/kexec: " Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 17:27 ` Eric DeVolder
2023-06-12 19:38 ` Geert Uytterhoeven
2023-06-12 19:38 ` Geert Uytterhoeven
2023-06-12 19:38 ` Geert Uytterhoeven
2023-06-14 11:58 ` Eric DeVolder
2023-06-14 11:58 ` Eric DeVolder
2023-06-14 11:58 ` Eric DeVolder
2023-06-12 17:28 ` [PATCH v1 08/21] mips/kexec: " Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` [PATCH v1 09/21] parisc/kexec: " Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` [PATCH v1 10/21] powerpc/kexec: " Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-15 3:34 ` Michael Ellerman
2023-06-15 3:34 ` Michael Ellerman
2023-06-15 3:34 ` Michael Ellerman
2023-06-15 16:17 ` Eric DeVolder
2023-06-15 16:17 ` Eric DeVolder
2023-06-15 16:17 ` Eric DeVolder
2023-06-15 16:19 ` Segher Boessenkool
2023-06-15 16:19 ` Segher Boessenkool
2023-06-15 16:19 ` Segher Boessenkool
2023-06-12 17:28 ` [PATCH v1 11/21] riscv/kexec: " Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` [PATCH v1 12/21] s390/kexec: " Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` [PATCH v1 13/21] sh/kexec: " Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:28 ` Eric DeVolder
2023-06-12 17:32 ` [PATCH v1 00/21] refactor Kconfig to consolidate KEXEC and CRASH options Eric DeVolder
2023-06-12 17:32 ` Eric DeVolder
2023-06-12 17:32 ` Eric DeVolder
2023-06-13 20:21 ` Kees Cook [this message]
2023-06-13 20:21 ` Kees Cook
2023-06-13 20:21 ` Kees Cook
2023-06-14 12:01 ` Eric DeVolder
2023-06-14 12:01 ` Eric DeVolder
2023-06-14 12:01 ` Eric DeVolder
2023-06-15 3:26 ` Michael Ellerman
2023-06-15 3:26 ` Michael Ellerman
2023-06-15 3:26 ` Michael Ellerman
2023-06-15 16:18 ` Eric DeVolder
2023-06-15 16:18 ` Eric DeVolder
2023-06-15 16:18 ` Eric DeVolder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202306131314.EFA558B7@keescook \
--to=keescook@chromium.org \
--cc=86@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=anshuman.khandual@arm.com \
--cc=aou@eecs.berkeley.edu \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=bhe@redhat.com \
--cc=boris.ostrovsky@oracle.com \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=dalias@libc.org \
--cc=dave.hansen@linux.intel.com \
--cc=deller@gmx.de \
--cc=eric.devolder@oracle.com \
--cc=frederic@kernel.org \
--cc=geert@linux-m68k.org \
--cc=glaubitz@physik.fu-berlin.de \
--cc=gor@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=hbathini@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=juerg.haefliger@canonical.com \
--cc=kernel@xen0n.name \
--cc=kirill.shutemov@linux.intel.com \
--cc=konrad.wilk@oracle.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=masahiroy@kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=ndesaulniers@google.com \
--cc=npiggin@gmail.com \
--cc=ojeda@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=rmk+kernel@armlinux.org.uk \
--cc=rppt@kernel.org \
--cc=samitolvanen@google.com \
--cc=sebastian.reichel@collabora.com \
--cc=sourabhjain@linux.ibm.com \
--cc=svens@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=thunder.leizhen@huawei.com \
--cc=tj@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=tsi@tuyoix.net \
--cc=will@kernel.org \
--cc=xin3.li@intel.com \
--cc=ysato@users.sourceforge.jp \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.