On Wed, Feb 28, 2024 at 9:51 PM 刘海龙(LaoLiu) <liuhailong@xxxxxxxx> wrote: > > If vm_map_ram(page, 0, 0) would cause panic by vmap_pages_range_noflush, so > change IS_ERR to IS_ERR_OR_NULL to fix this. > > Signed-off-by: Hailong.Liu <liuhailong@xxxxxxxx> > --- > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index d12a17fc0c17..109732006cf7 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2387,7 +2387,7 @@ void *vm_map_ram(struct page **pages, unsigned int > count, int node) > > if (likely(count <= VMAP_MAX_ALLOC)) { > mem = vb_alloc(size, GFP_KERNEL); > - if (IS_ERR(mem)) > + if (IS_ERR_OR_NULL(mem)) it seems the only case for vb_alloc to return NULL is size = 0, isn't it a bug of caller? > return NULL; > addr = (unsigned long)mem; > } else { > -- > 2.34.1 Thanks Barry