Re: [PATCH] memory hotplug: fix warnings

From: Andrew Morton
Date: Tue Apr 30 2013 - 13:04:27 EST


On Tue, 30 Apr 2013 09:54:18 -0700 (PDT) David Rientjes <rientjes@xxxxxxxxxx> wrote:

> On Tue, 30 Apr 2013, Andrew Morton wrote:
>
> > > > diff --git a/include/linux/memory.h b/include/linux/memory.h
> > > > index 73817af..85c31a8 100644
> > > > --- a/include/linux/memory.h
> > > > +++ b/include/linux/memory.h
> > > > @@ -137,7 +137,7 @@ enum mem_add_context { BOOT, HOTPLUG };
> > > > #define register_hotmemory_notifier(nb) register_memory_notifier(nb)
> > > > #define unregister_hotmemory_notifier(nb) unregister_memory_notifier(nb)
> > > > #else
> > > > -#define hotplug_memory_notifier(fn, pri) (0)
> > > > +#define hotplug_memory_notifier(fn, pri) ({ 0; })
> > > > /* These aren't inline functions due to a GCC bug. */
> > > > #define register_hotmemory_notifier(nb) ({ (void)(nb); 0; })
> > > > #define unregister_hotmemory_notifier(nb) ({ (void)(nb); })
> > >
> > > You can't use the standard do {} while (0)?
> >
> > register_memory_notifier() (and hence hotplug_memory_notifier())
> > returns an errno. Which nobody bothers checking.
> >
>
> The notifier itself is statically allocated so there's no memory
> allocations in this path, there's no chance it'll fail. Should we just
> make register_memory_notifier() return void?

Drill down and we end up in notifier_chain_register(), which
unconditionally returns 0.

So we can either leave things as they are under the assumption that
notifier_chain_register() might one day be changed to return an errno
or we can change everything to return void.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/