mm: slab: Verify the nodeid passed to ____cache_alloc_node
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi,
This patch is in response to bz#42967 [1]. Using VM_BUG_ON instead of a generic BUG_ON so it's used only when CONFIG_DEBUG_VM is set, given that ____cache_alloc_node() is a hot code path.
Cheers,
Aaron
[1]: https://bugzilla.kernel.org/show_bug.cgi?id=42967
---8<---
mm: slab: Verify the nodeid passed to ____cache_alloc_node
If the nodeid is > num_online_nodes() this can cause an Oops and a panic(). The purpose of this patch is to assert if this condition is true to aid debugging efforts rather than some random NULL pointer dereference or page fault.
slab.c | 1 + 1 file changed, 1 insertion(+)
mm/slab.c +1 -0
@@ -3412,6 +3412,7 @@ static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags,void *obj;int x; +VM_BUG_ON (nodeid >num_online_nodes ()); l3 = cachep->nodelists[nodeid];BUG_ON (!l3);
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Rik van Riel
Reviewed-byQuoted 8 lines · Aaron Tomlin
mm: slab: Verify the nodeid passed to
____cache_alloc_nodeIf the nodeid is >
num_online_nodes()this can cause an Oops and apanic(). The purpose of this patch is to assert if this condition is true to aid debugging efforts rather than some random NULL pointer dereference or page fault.Signed-off-by Aaron Tomlin <[email protected]>
Signature · 7 lines
All rights reversed -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 4 lines · Rik van Riel
Quoted 2 lines · Aaron Tomlin
mm: slab: Verify the nodeid passed to
____cache_alloc_node
Quoted 8 lines
Quoted 6 lines
If the nodeid is >
num_online_nodes()this can cause an Oops and apanic(). The purpose of this patch is to assert if this condition is true to aid debugging efforts rather than some random NULL pointer dereference or page fault.Signed-off-by Aaron Tomlin <[email protected]>Reviewed-by Rik van Riel <[email protected]>
It may be helpful to cc the slab maintainers...
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>