Messages in this thread | | | Date | Thu, 14 Apr 2022 19:09:27 -0700 | From | Davidlohr Bueso <> | Subject | Re: [PATCH v3 1/4] hugetlb: Fix wrong use of nr_online_nodes |
| |
On Wed, 13 Apr 2022, Peng Liu wrote:
>Certain systems are designed to have sparse/discontiguous nodes. In >this case, nr_online_nodes can not be used to walk through numa node. >Also, a valid node may be greater than nr_online_nodes. > >However, in hugetlb, it is assumed that nodes are contiguous. Recheck >all the places that use nr_online_nodes, and repair them one by one. > >Suggested-by: David Hildenbrand <david@redhat.com> >Fixes: 4178158ef8ca ("hugetlbfs: fix issue of preallocation of gigantic pages can't work") >Fixes: b5389086ad7b ("hugetlbfs: extend the definition of hugepages parameter to support node allocation") >Fixes: e79ce9832316 ("hugetlbfs: fix a truncation issue in hugepages parameter") >Fixes: f9317f77a6e0 ("hugetlb: clean up potential spectre issue warnings") >Signed-off-by: Peng Liu <liupeng256@huawei.com> >Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> >Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
... but
>--- > mm/hugetlb.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > >diff --git a/mm/hugetlb.c b/mm/hugetlb.c >index b34f50156f7e..5b5a2a5a742f 100644 >--- a/mm/hugetlb.c >+++ b/mm/hugetlb.c >@@ -2979,7 +2979,7 @@ int __alloc_bootmem_huge_page(struct hstate *h, int nid) > struct huge_bootmem_page *m = NULL; /* initialize for clang */ > int nr_nodes, node; > >- if (nid != NUMA_NO_NODE && nid >= nr_online_nodes) >+ if (nid != NUMA_NO_NODE && !node_online(nid))
afaict null_blk could also use this, actually the whole thing wants a helper - node_valid()?
| |