Hi folks, make randconfig seems to allow chosing more than one slab allocator although they are all part of a choice,endchoice block (and none are tristate). The following quickly finds both CONFIG_SLUB and CONFIG_SLOB enabled: $ while [ 1 ]; do make randconfig &> /dev/null; if [ $(grep "CONFIG_SL[OU]B=y" .config | wc -l) == 2 ]; then break; fi; done $ grep CONFIG_SL[OU]B=y .config CONFIG_SLUB=y CONFIG_SLOB=y whereas if I do this: diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -1063,7 +1063,7 @@ static void randomize_choice_values(struct symbol *csym) expr_list_for_each_sym(prop->expr, e, sym) { if (def == cnt++) { sym->def[S_DEF_USER].tri = yes; - csym->def[S_DEF_USER].val = sym; +// csym->def[S_DEF_USER].val = sym; } else { sym->def[S_DEF_USER].tri = no; then it never happens and the "while [ 1 ]; done" loop above never returns. I haven't investigated it yet, but thought I'd bring it up because it often creates invalid configs. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html