Re: [PATCH] mm/memcontrol.c: add memory allocation result check

From: Michal Hocko
Date: Mon May 30 2016 - 07:22:27 EST


On Mon 30-05-16 17:28:40, Wenwei Tao wrote:
> I think explicit BUG_ON may make the debug easier, since it can point
> out the wrong line.

Does it? NULL ptr dereferencec 6 lines below sounds pretty close to me.
I am not nacking this patch I just think it doesn't add much. If others
think it will be useful I will not object.

> 2016-05-30 16:53 GMT+08:00 Michal Hocko <mhocko@xxxxxxxxxx>:
> > On Mon 30-05-16 16:45:51, Wenwei Tao wrote:
> >> From: Wenwei Tao <ww.tao0320@xxxxxxxxx>
> >>
> >> The mem_cgroup_tree_per_node allocation might fail,
> >> check that before continue the memcg init. Since it
> >> is in the init phase, trigger the panic if that failure
> >> happens.
> >
> > We would blow up in the very same function so what is the point of the
> > explicit BUG_ON?
> >
> >> Signed-off-by: Wenwei Tao <ww.tao0320@xxxxxxxxx>
> >> ---
> >> mm/memcontrol.c | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> >> index 925b431..6385c62 100644
> >> --- a/mm/memcontrol.c
> >> +++ b/mm/memcontrol.c
> >> @@ -5712,6 +5712,7 @@ static int __init mem_cgroup_init(void)
> >>
> >> rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL,
> >> node_online(node) ? node : NUMA_NO_NODE);
> >> + BUG_ON(!rtpn);
> >>
> >> for (zone = 0; zone < MAX_NR_ZONES; zone++) {
> >> struct mem_cgroup_tree_per_zone *rtpz;
> >> --
> >> 1.8.3.1
> >>
> >>
> >> --
> >> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> >> the body to majordomo@xxxxxxxxxx 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@xxxxxxxxxx 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