On Tue 30-05-17 16:24:36, Gustavo A. R. Silva wrote: > NULL check at line 1226: if (!pgdat), implies that pointer pgdat > might be NULL. > Function rollback_node_hotadd() dereference this pointer. > Add NULL check to avoid a potential NULL pointer dereference. The changelog is quite cryptic to be honest. Well the code is as well but what do you say about the following replacement. " If a new pgdat has to be allocated in add_memory_resource and the initialization fails for some reason we have to rollback_node_hotadd. This, however, assumes that pgdat allocation itself is successful which cannot be assumed. Add a check for pgdat to cover that case and skip rollback_node_hotadd altogether because there is nothing to roll back. This has been pointed out by coverity. " > > Addresses-Coverity-ID: 1369133 > Signed-off-by: Gustavo A. R. Silva <garsilva@xxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > mm/memory_hotplug.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 599c675..ea3bc3e 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1273,7 +1273,7 @@ int __ref add_memory_resource(int nid, struct resource *res, bool online) > > error: > /* rollback pgdat allocation and others */ > - if (new_pgdat) > + if (new_pgdat && pgdat) > rollback_node_hotadd(nid, pgdat); > memblock_remove(start, size); > > -- > 2.5.0 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxx. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>