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] [thread-next>] [day] [month] [year] [list]
Message-ID: <8059d1c4-759d-9911-73c7-211f8576e7f2@infradead.org>
Date:   Mon, 30 Dec 2019 18:03:26 -0800
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Rob Landley <rob@...dley.net>, linux-kernel@...r.kernel.org
Subject: Re: Why is CONFIG_VT forced on?

On 12/30/19 6:04 PM, 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
> 
> plus of course
> 
> ./arch/x86/Kconfig.cpu:	bool "Supported processor vendors" if EXPERT
> ./arch/x86/Kconfig:	bool "DMA memory allocation support" if EXPERT
> ./arch/x86/Kconfig:	bool "Enable DMI scanning" if EXPERT
> ./arch/x86/Kconfig:	bool "Enable support for 16-bit segments" if EXPERT
> ./arch/x86/Kconfig:       bool "Enable vsyscall emulation" if EXPERT
> ./arch/x86/Kconfig:	bool "Enable the LDT (local descriptor table)" if EXPERT
> ./arch/x86/Kconfig:	bool "Read CNB20LE Host Bridge Windows" if EXPERT
> ./arch/x86/Kconfig:	bool "ISA bus support on modern systems" if EXPERT
> ./arch/x86/Kconfig:	bool "ISA-style DMA support" if (X86_64 && EXPERT)
> 
> So nobody noticed you have a structural "this config option actually switches
> this thing _off_" implemented via magic symbol then?

I guess nobody had a problem with it for the last 10 or 15 or 20 years.

> I think the right fix here involves running sed after kconfig does its thing...

I doubt that would work, but if it does, go for it.

-- 
~Randy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ