Re: Why is CONFIG_VT forced on?

From: Al Viro
Date: Mon Dec 30 2019 - 21:53:03 EST


On Tue, Dec 31, 2019 at 02:40:54AM +0000, Al Viro wrote:
> On Mon, Dec 30, 2019 at 08:04:35PM -0600, Rob Landley wrote:
> >
> >
> > On 12/30/19 7:45 PM, Rob Landley wrote:
> > > On 12/30/19 6:59 PM, Randy Dunlap wrote:
> > >> #
> > >> # Character devices
> > >> #
> > >> CONFIG_TTY=y
> > >> # CONFIG_VT is not set
> > >>
> > >> But first you must set/enable EXPERT. See the bool prompt.
> > >
> > > Wait, the if doesn't _disable_ the symbol? It disables _editability_ of the
> > > symbol, but the symbol can still be on (and displayed) when the if is false?
> > > (Why would...)
> > >
> > > Ok. Thanks for pointing that out. Any idea why the menuconfig help text has no
> > > mention of this?
> >
> > So if I disable CONFIG_EXPERT, using miniconfig I then need to manually switch on:
> >
> > ./init/Kconfig: bool "Namespaces support" if EXPERT
> > ./init/Kconfig: bool "Multiple users, groups and capabilities support" if EXPERT
> > ./init/Kconfig: bool "Sysfs syscall support" if EXPERT
> > ./init/Kconfig: bool "open by fhandle syscalls" if EXPERT
> > ./init/Kconfig: bool "Posix Clocks & timers" if EXPERT
> > ./init/Kconfig: bool "Enable support for printk" if EXPERT
> > ./init/Kconfig: bool "BUG() support" if EXPERT
> > ./init/Kconfig: bool "Enable ELF core dumps" if EXPERT
> > ./init/Kconfig: bool "Enable full-sized data structures for core" if EXPERT
> > ./init/Kconfig: bool "Enable futex support" if EXPERT
> > ./init/Kconfig: bool "Enable eventpoll support" if EXPERT
> > ./init/Kconfig: bool "Enable signalfd() system call" if EXPERT
> > ./init/Kconfig: bool "Enable timerfd() system call" if EXPERT
> > ./init/Kconfig: bool "Enable eventfd() system call" if EXPERT
> > ./init/Kconfig: bool "Use full shmem filesystem" if EXPERT
> > ./init/Kconfig: bool "Enable AIO support" if EXPERT
> > ./init/Kconfig: bool "Enable IO uring support" if EXPERT
> > ./init/Kconfig: bool "Enable madvise/fadvise syscalls" if EXPERT
> > ./init/Kconfig: bool "Enable membarrier() system call" if EXPERT
> > ./init/Kconfig: bool "Load all symbols for debugging/ksymoops" if EXPERT
> > ./init/Kconfig: bool "Enable rseq() system call" if EXPERT
> > ./init/Kconfig: bool "Enabled debugging of rseq() system call" if EXPERT
> > ./init/Kconfig: bool "PC/104 support" if EXPERT
> > ./init/Kconfig: bool "Enable VM event counters for /proc/vmstat" if EXPERT
>
> No. What you need is
> * actually attempt to flip CONFIG_EXPERT (go to "General setup" submenu and
> set "Configure standard kernel features (expert users)" there)
> * check the resulting .config (or look at the items in question via
> menuconfig)
> * get enlightened
>
> Rob, if you are in a mood for a long wank, it's your business. But try to avoid
> spraying the results over public lists.

To elaborate: you are complaining about VT being treated the same way as e.g.
ELF_CORE or UID16. Which might or might not be reasonable, but kconfig folks
have nothing to do with that.

Your complaint is basically that the same thing is forcing all of those on
in default configs. Instead of having a separate ROB_WANTS_THOSE that would
prop the rest, but not VT (and frankly, quite a bit of that rest is
questionable for minimal setups). With ROB_WANTS_THOSE (or equivalent
information) enshrined in the kernel tree for your convenience.

Pardon me, but... why is that anyone else's problem?