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)
committerMichal Marek <mmarek@suse.cz>
Mon, 7 May 2012 18:51:06 +0000 (20:51 +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>
scripts/kconfig/conf.c

index 0fdda91693086de04e8ea613e070e6a1d61cda3b..0dc4a2c779b119ec51e2eb5b3f17c5a4d02645fb 100644 (file)
@@ -574,7 +574,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"),