Package: linux-source-4.7 Severity: normal Dear Maintainer,
we are using the kernel source packages to generate minimized configurations for particular use cases. As our tools only give us a partial configuration, we need to expand our precomputed set of options to a full kernel config. We do that by using the following command: KCONFIG_ALLCONFIG="path_to_partial_conf" make allnoconfig which should set all configuration options not present in the initial partial configuration to 'n'. With the source code in this package, all previously unset variables are set to 'y' instead, leading to a much bigger configuration than we anticipate. The cause for this lies in the Debian patch debian/patches/features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch which #defines the newly introduced SYMBOL_NEW macro in scripts/kconfig/expr.h to the same value (0x200000) as SYMBOL_ALLNOCONFIG_Y in the previous line. This leads to all new values being treated as if they were marked in Kconfig to be set to "y" if the are not found in the initial seed configuration when we try to build 'make allnoconfig' - which is exactly the opposite of a 'noconfig'. * How to reproduce (in the Linux source tree from this package): $> make allnoconfig $> cat .config | grep '=y' | wc -l 8112 $> make allyesconfig $> cat .config | grep '=y' | wc -l 8112 * Expected outcome (with the above mentioned patch un-applied or the #define changed to '#define SYMBOL_NEW 0x400000'): $> make allnoconfig $> cat .config | grep '=y' | wc -l 206 -- System Information: Debian Release: 8.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/32 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init)