On 2013/5/7 10:40, Li Zefan wrote: > Searching PPC_EFIKA results segmentation fault, and it's because > get_symbol_prop() returns NULL. > > In this case CONFIG_PPC_EFIKA is defined in arch/powerpc/platforms/ > 52xx/Kconfig, so it won't be parsed if ARCH!=PPC, but menuconfig > knows this symbol when it parses sound/soc/fsl/Kconfig: > > config SND_MPC52xx_SOC_EFIKA > tristate "SoC AC97 Audio support for bbplan Efika and STAC9766" > depends on PPC_EFIKA > > This bug was introduced by commit bcdedcc1afd6 ("menuconfig: print more > info for symbol without prompts"). It works! Tested-by: Libo Chen <libo.chen@xxxxxxxxxx> > > Reported-by: Borislav Petkov <bp@xxxxxxxxx> > Signed-off-by: Li Zefan <lizefan@xxxxxxxxxx> > --- > scripts/kconfig/menu.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c > index 826da66..b5c7d90 100644 > --- a/scripts/kconfig/menu.c > +++ b/scripts/kconfig/menu.c > @@ -600,14 +600,18 @@ void get_symbol_str(struct gstr *r, struct symbol *sym, > } > for_all_prompts(sym, prop) > get_prompt_str(r, prop, head); > + > prop = get_symbol_prop(sym); > - str_printf(r, _(" Defined at %s:%d\n"), prop->menu->file->name, > - prop->menu->lineno); > - if (!expr_is_yes(prop->visible.expr)) { > - str_append(r, _(" Depends on: ")); > - expr_gstr_print(prop->visible.expr, r); > - str_append(r, "\n"); > + if (prop) { > + str_printf(r, _(" Defined at %s:%d\n"), prop->menu->file->name, > + prop->menu->lineno); > + if (!expr_is_yes(prop->visible.expr)) { > + str_append(r, _(" Depends on: ")); > + expr_gstr_print(prop->visible.expr, r); > + str_append(r, "\n"); > + } > } > + > hit = false; > for_all_properties(sym, prop, P_SELECT) { > if (!hit) { > -- 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