Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-19 Thread Vlastimil Babka
On 3/19/20 1:32 AM, Michael Ellerman wrote: > Seems like a nice solution to me Thanks :) >> 8< >> diff --git a/mm/slub.c b/mm/slub.c >> index 17dc00e33115..1d4f2d7a0080 100644 >> --- a/mm/slub.c >> +++ b/mm/slub.c >> @@ -1511,7 +1511,7 @@ static inline struct page *alloc_slab_page(struct

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Michael Ellerman
Michael Ellerman writes: > Vlastimil Babka writes: >> On 3/18/20 11:02 AM, Michal Hocko wrote: >>> On Wed 18-03-20 12:58:07, Srikar Dronamraju wrote: Calling a kmalloc_node on a possible node which is not yet onlined can lead to panic. Currently node_present_pages() doesn't verify the

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Michael Ellerman
Vlastimil Babka writes: > On 3/18/20 11:02 AM, Michal Hocko wrote: >> On Wed 18-03-20 12:58:07, Srikar Dronamraju wrote: >>> Calling a kmalloc_node on a possible node which is not yet onlined can >>> lead to panic. Currently node_present_pages() doesn't verify the node is >>> online before

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Michal Hocko
On Wed 18-03-20 12:53:32, Vlastimil Babka wrote: [...] > Yes. So here's an alternative proposal for fixing the current situation in > SLUB, > before the long-term solution of having all possible nodes provide valid pgdat > with zonelists: > > - fix SLUB with the hunk at the end of this mail -

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Vlastimil Babka
On 3/18/20 11:02 AM, Michal Hocko wrote: > On Wed 18-03-20 12:58:07, Srikar Dronamraju wrote: >> Calling a kmalloc_node on a possible node which is not yet onlined can >> lead to panic. Currently node_present_pages() doesn't verify the node is >> online before accessing the pgdat for the node.

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Michal Hocko
On Wed 18-03-20 16:32:15, Srikar Dronamraju wrote: > * Michal Hocko [2020-03-18 11:02:56]: > > > On Wed 18-03-20 12:58:07, Srikar Dronamraju wrote: [...] > > > -#define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages) > > > -#define node_spanned_pages(nid)

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Srikar Dronamraju
* Michal Hocko [2020-03-18 11:02:56]: > On Wed 18-03-20 12:58:07, Srikar Dronamraju wrote: > > Calling a kmalloc_node on a possible node which is not yet onlined can > > lead to panic. Currently node_present_pages() doesn't verify the node is > > online before accessing the pgdat for the node.

Re: [PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Michal Hocko
On Wed 18-03-20 12:58:07, Srikar Dronamraju wrote: > Calling a kmalloc_node on a possible node which is not yet onlined can > lead to panic. Currently node_present_pages() doesn't verify the node is > online before accessing the pgdat for the node. However pgdat struct may > not be available

[PATCH v2 1/4] mm: Check for node_online in node_present_pages

2020-03-18 Thread Srikar Dronamraju
Calling a kmalloc_node on a possible node which is not yet onlined can lead to panic. Currently node_present_pages() doesn't verify the node is online before accessing the pgdat for the node. However pgdat struct may not be available resulting in a crash. NIP [c03d55f4]