On Wed 05-06-19 18:37:28, Bharath Vedartham wrote: > [Not replying inline as my mail is bouncing back] > > This patch is based on reading the code rather than a kernel crash. My > thought process was that if an invalid node id was passed to > __alloc_pages_node, it would be better to add a VM_WARN_ON and fail the > allocation rather than crashing the kernel. This makes some sense to me because BUG_ONs are usually a wrong way to handle wrong usage of the API. On the other hand VM_BUG_ON is special in the way that production although some distributions enable it by default IIRC. > I feel it would be better to fail the allocation early in the hot path > if an invalid node id is passed. This is irrespective of whether the > VM_[BUG|WARN]_*s are enabled or not. I do not see any checks in the hot > path for the node id, which in turn may cause NODE_DATA(nid) to fail to > get the pglist_data pointer for the node id. > We can optimise the branch by wrapping it around in unlikely(), if > performance is the issue? unlikely will just move the return NULL ouside of the main code flow. The check will still be done. > What are your thoughts on this? I don't know. I would leave the code as it is now or remove the VM_BUG_ON. I do not remember this would be catching any real issues in the past. -- Michal Hocko SUSE Labs