On (21/02/17 13:15), Enrico Weigelt, metux IT consult wrote: > Under rare circumstances it may happen that a device node's name is NULL > (most likely kernel bug in some other place). In such situations anything > but helpful, if the debug printout crashes, and nobody knows what actually > happened here. > > Therefore protect it by an explicit NULL check and print out an extra > warning. > > Signed-off-by: Enrico Weigelt, metux IT consult <info@xxxxxxxxx> > --- > lib/vsprintf.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/lib/vsprintf.c b/lib/vsprintf.c > index 3b53c73580c5..050a60b88073 100644 > --- a/lib/vsprintf.c > +++ b/lib/vsprintf.c > @@ -2013,6 +2013,10 @@ char *device_node_string(char *buf, char *end, struct device_node *dn, > break; > case 'n': /* name */ > p = fwnode_get_name(of_fwnode_handle(dn)); > + if (!p) { > + pr_warn("device_node without name. Kernel bug ?\n"); > + p = "<NULL>"; > + } > precision = str_spec.precision; > str_spec.precision = strchrnul(p, '@') - p; > buf = string(buf, end, p, str_spec); What about other fwnode_get_name() calls in vsprintf? -ss