kbuild: all{no,yes,mod,def,rand}config only read files when instructed to.
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 7 May 2012 12:37:45 +0000 (05:37 -0700)
committerChristian Lamparter <chunkeey@googlemail.com>
Sat, 21 Jul 2012 13:55:17 +0000 (15:55 +0200)
Prevent subtle surprises to both people working on the kconfig code
and people using make allnoconfig allyesconfig allmoconfig and
randconfig by only attempting to read a config file if
KCONFIG_ALLCONFIG is set.

Common sense suggests attempting to read the extra config files does
not make sense unless requested.  The documentation says the code
won't attempt to read the extra config files unless requested.
Current usage does not appear to include people depending on the code
reading the config files without the variable being set So do the
simple thing and stop reading config files when passed
all{no,yes,mod,def,rand}config unless KCONFIG_ALLCONFIG environment
variable is set.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
config/conf.c

index b8ba1d3e53b578e5fc4e62f27d6d51063077b923..649ea82772335ebf8e159fc4bede8ef8cf8a39c4 100644 (file)
@@ -552,7 +552,9 @@ int main(int ac, char **av)
        case alldefconfig:
        case randconfig:
                name = getenv("KCONFIG_ALLCONFIG");
-               if (name && (strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) {
+               if (!name)
+                       break;
+               if ((strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) {
                        if (conf_read_simple(name, S_DEF_USER)) {
                                fprintf(stderr,
                                        _("*** Can't read seed configuration \"%s\"!\n"),