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] [day] [month] [year] [list]
Message-ID: <CAK7LNAS5vG8YLT20H+qc9EeBbV1zyq8ey0rdrGAXjs+J6EEcng@mail.gmail.com>
Date:   Fri, 3 Aug 2018 00:31:03 +0900
From:   Masahiro Yamada <yamada.masahiro@...ionext.com>
To:     Joe Perches <joe@...ches.com>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        Michal Marek <michal.lkml@...kovi.net>,
        linux-kbuild <linux-kbuild@...r.kernel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        "H. Peter Anvin" <hpa@...or.com>, X86 ML <x86@...nel.org>,
        Arnd Bergmann <arnd@...db.de>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Jani Nikula <jani.nikula@...ux.intel.com>,
        Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
        Rodrigo Vivi <rodrigo.vivi@...el.com>,
        David Airlie <airlied@...ux.ie>,
        Rob Clark <robdclark@...il.com>,
        Johannes Berg <johannes.berg@...el.com>,
        Emmanuel Grumbach <emmanuel.grumbach@...el.com>,
        Luca Coelho <luciano.coelho@...el.com>,
        Intel Linux Wireless <linuxwifi@...el.com>,
        Kalle Valo <kvalo@...eaurora.org>,
        "David S. Miller" <davem@...emloft.net>,
        Michael Buesch <m@...s.ch>,
        Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
        "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Len Brown <len.brown@...el.com>, Pavel Machek <pavel@....cz>,
        James Morris <jmorris@...ei.org>,
        "Serge E. Hallyn" <serge@...lyn.com>
Subject: Re: [TRIVIAL RFC PATCH] Kconfigs - reduce use of "depends on EXPERT"

2018-07-29 7:13 GMT+09:00 Joe Perches <joe@...ches.com>:
> Most uses of EXPERT are in the form
>
>         bool "something" if EXPERT
>
> but some are
>
>         depends on EXPERT
>
> The difference is the the 'depends on' use makes it
> easier to select the CONFIG_EXPERT option.


I could not understand why
'if EXPERT' is preferred to 'depends on EXPERT'



'depends on EXPERT' hides the symbol.
'<prompt> if EXPERT' keeps the symbol visible,
but forbid users from changing the value.

Both have appropriate usage.





> $ git grep "if EXPERT" -- "*/Kconfig*" | wc -l
> 155
> $ git grep "depends on.*EXPERT" -- "*/Kconfig*" | wc -l
> 26
>
> Some of the 'depends on' uses with EXPERT are more menus
> or complex logic with || and can not easily be modified,
> but it's perhaps reasonable to modify the simpler ones
> to the "if EXPERT" form.
> ---
>  arch/x86/Kconfig.debug                     |  3 +--
>  drivers/char/Kconfig                       |  4 ++--
>  drivers/gpu/drm/i915/Kconfig.debug         |  3 +--
>  drivers/gpu/drm/msm/Kconfig                |  4 ++--
>  drivers/net/wireless/intel/iwlwifi/Kconfig |  4 ++--
>  drivers/ssb/Kconfig                        |  4 ++--
>  drivers/video/fbdev/Kconfig                |  4 ++--
>  init/Kconfig                               | 10 ++++------
>  kernel/power/Kconfig                       |  7 +++----
>  net/wireless/Kconfig                       |  3 +--
>  security/Kconfig                           |  3 +--
>  11 files changed, 21 insertions(+), 28 deletions(-)
>
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index c6dd1d980081..f175c00c3786 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -393,8 +393,7 @@ config UNWINDER_FRAME_POINTER
>           reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
>
>  config UNWINDER_GUESS
> -       bool "Guess unwinder"
> -       depends on EXPERT
> +       bool "Guess unwinder" if EXPERT
>         depends on !STACKDEPOT
>         ---help---
>           This option enables the "guess" unwinder for unwinding kernel stack
> diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
> index ce277ee0a28a..c1c231a32521 100644
> --- a/drivers/char/Kconfig
> +++ b/drivers/char/Kconfig
> @@ -52,8 +52,8 @@ source "drivers/tty/serial/Kconfig"
>  source "drivers/tty/serdev/Kconfig"
>
>  config TTY_PRINTK
> -       tristate "TTY driver to output user messages via printk"
> -       depends on EXPERT && TTY
> +       tristate "TTY driver to output user messages via printk" if EXPERT
> +       depends on TTY
>         default n
>         ---help---
>           If you say Y here, the support for writing user messages (i.e.
> diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
> index 459f8f88a34c..cbf61c0d3917 100644
> --- a/drivers/gpu/drm/i915/Kconfig.debug
> +++ b/drivers/gpu/drm/i915/Kconfig.debug
> @@ -1,8 +1,7 @@
>  config DRM_I915_WERROR
> -        bool "Force GCC to throw an error instead of a warning when compiling"
> +        bool "Force GCC to throw an error instead of a warning when compiling" if EXPERT
>          # As this may inadvertently break the build, only allow the user
>          # to shoot oneself in the foot iff they aim really hard
> -        depends on EXPERT
>          # We use the dependency on !COMPILE_TEST to not be enabled in
>          # allmodconfig or allyesconfig configurations
>          depends on !COMPILE_TEST
> diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
> index 843a9d40c05e..4fe57693005f 100644
> --- a/drivers/gpu/drm/msm/Kconfig
> +++ b/drivers/gpu/drm/msm/Kconfig
> @@ -30,8 +30,8 @@ config DRM_MSM_REGISTER_LOGGING
>           logging can be switched on via msm.reglog=y module param.
>
>  config DRM_MSM_GPU_SUDO
> -       bool "Enable SUDO flag on submits"
> -       depends on DRM_MSM && EXPERT
> +       bool "Enable SUDO flag on submits" if EXPERT
> +       depends on DRM_MSM
>         default n
>         help
>           Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
> diff --git a/drivers/net/wireless/intel/iwlwifi/Kconfig b/drivers/net/wireless/intel/iwlwifi/Kconfig
> index e5a2fc738ac3..d82d0bdd837e 100644
> --- a/drivers/net/wireless/intel/iwlwifi/Kconfig
> +++ b/drivers/net/wireless/intel/iwlwifi/Kconfig
> @@ -89,8 +89,8 @@ config IWLWIFI_BCAST_FILTERING
>           expect incoming broadcasts for their normal operations.
>
>  config IWLWIFI_PCIE_RTPM
> -       bool "Enable runtime power management mode for PCIe devices"
> -       depends on IWLMVM && PM && EXPERT
> +       bool "Enable runtime power management mode for PCIe devices" if EXPERT
> +       depends on IWLMVM && PM
>         help
>           Say Y here to enable runtime power management for PCIe
>           devices.  If enabled, the device will go into low power mode
> diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
> index c574dd210500..e6036784c260 100644
> --- a/drivers/ssb/Kconfig
> +++ b/drivers/ssb/Kconfig
> @@ -90,8 +90,8 @@ config SSB_HOST_SOC
>           If unsure, say N
>
>  config SSB_SILENT
> -       bool "No SSB kernel messages"
> -       depends on SSB && EXPERT
> +       bool "No SSB kernel messages" if EXPERT
> +       depends on SSB
>         help
>           This option turns off all Sonics Silicon Backplane printks.
>           Note that you won't be able to identify problems, once
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 591a13a59787..371c6c6ac414 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -1076,8 +1076,8 @@ config FB_CARILLO_RANCH
>           This driver supports the LE80578 (Carillo Ranch) board
>
>  config FB_INTEL
> -       tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support"
> -       depends on FB && PCI && X86 && AGP_INTEL && EXPERT
> +       tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support" if EXPERT
> +       depends on FB && PCI && X86 && AGP_INTEL
>         select FB_MODE_HELPERS
>         select FB_CFB_FILLRECT
>         select FB_CFB_COPYAREA
> diff --git a/init/Kconfig b/init/Kconfig
> index 3f44cae1f88c..fe17a3261a8f 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1086,9 +1086,8 @@ config HAVE_LD_DEAD_CODE_DATA_ELIMINATION
>           is used to distinguish them from label names / C identifiers.
>
>  config LD_DEAD_CODE_DATA_ELIMINATION
> -       bool "Dead code and data elimination (EXPERIMENTAL)"
> +       bool "Dead code and data elimination (EXPERIMENTAL)" if EXPERT
>         depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
> -       depends on EXPERT
>         help
>           Enable this if you want to do dead code and data elimination with
>           the linker by compiling with -ffunction-sections -fdata-sections,
> @@ -1626,8 +1625,7 @@ config SLUB
>            a slab allocator.
>
>  config SLOB
> -       depends on EXPERT
> -       bool "SLOB (Simple Allocator)"
> +       bool "SLOB (Simple Allocator)" if EXPERT
>         help
>            SLOB replaces the stock allocator with a drastically simpler
>            allocator. SLOB is generally more space efficient but
> @@ -1679,8 +1677,8 @@ config SLUB_CPU_PARTIAL
>           Typically one would choose no for a realtime system.
>
>  config MMAP_ALLOW_UNINITIALIZED
> -       bool "Allow mmapped anonymous memory to be uninitialized"
> -       depends on EXPERT && !MMU
> +       bool "Allow mmapped anonymous memory to be uninitialized" if EXPERT
> +       depends on !MMU
>         default n
>         help
>           Normally, and according to the Linux spec, anonymous memory obtained
> diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
> index e880ca22c5a5..d684fcdeaa89 100644
> --- a/kernel/power/Kconfig
> +++ b/kernel/power/Kconfig
> @@ -19,9 +19,8 @@ config SUSPEND_FREEZER
>           Turning OFF this setting is NOT recommended! If in doubt, say Y.
>
>  config SUSPEND_SKIP_SYNC
> -       bool "Skip kernel's sys_sync() on suspend to RAM/standby"
> +       bool "Skip kernel's sys_sync() on suspend to RAM/standby" if EXPERT
>         depends on SUSPEND
> -       depends on EXPERT
>         help
>           Skip the kernel sys_sync() before freezing user processes.
>           Some systems prefer not to pay this cost on every invocation
> @@ -185,8 +184,8 @@ config PM_SLEEP_DEBUG
>         depends on PM_DEBUG && PM_SLEEP
>
>  config DPM_WATCHDOG
> -       bool "Device suspend/resume watchdog"
> -       depends on PM_DEBUG && PSTORE && EXPERT
> +       bool "Device suspend/resume watchdog" if EXPERT
> +       depends on PM_DEBUG && PSTORE
>         ---help---
>           Sets up a watchdog timer to capture drivers that are
>           locked up attempting to suspend/resume a device.
> diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
> index 41722046b937..50bcd75cc881 100644
> --- a/net/wireless/Kconfig
> +++ b/net/wireless/Kconfig
> @@ -67,8 +67,7 @@ config CFG80211_DEVELOPER_WARNINGS
>
>
>  config CFG80211_CERTIFICATION_ONUS
> -       bool "cfg80211 certification onus"
> -       depends on EXPERT
> +       bool "cfg80211 certification onus" if EXPERT
>         default n
>         ---help---
>           You should disable this option unless you are both capable
> diff --git a/security/Kconfig b/security/Kconfig
> index afa91c6f06bb..b017771a3012 100644
> --- a/security/Kconfig
> +++ b/security/Kconfig
> @@ -179,9 +179,8 @@ config HARDENED_USERCOPY_FALLBACK
>           this setting.
>
>  config HARDENED_USERCOPY_PAGESPAN
> -       bool "Refuse to copy allocations that span multiple pages"
> +       bool "Refuse to copy allocations that span multiple pages" if EXPERT
>         depends on HARDENED_USERCOPY
> -       depends on EXPERT
>         help
>           When a multi-page allocation is done without __GFP_COMP,
>           hardened usercopy will reject attempts to copy it. There are,
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ