Le 01/02/2023 à 12:51, Hyunmin Lee a écrit : > As per the coding standards, in the event of an abnormal condition that > should not occur under normal circumstances, the kernel should attempt > recovery and proceed with execution, rather than halting the machine. > > Specifically, in the alloc_vmap_area() function, use a simple if() > instead of using BUG_ON() halting the machine. > > Co-Developed-by: Gwan-gyeong Mun <gwan-gyeong.mun@xxxxxxxxx> > Co-Developed-by: Jeungwoo Yoo <casionwoo@xxxxxxxxx> > Co-Developed-by: Sangyun Kim <sangyun.kim@xxxxxxxxx> > Signed-off-by: Hyunmin Lee <hn.min.lee@xxxxxxxxx> > Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@xxxxxxxxx> > Signed-off-by: Jeungwoo Yoo <casionwoo@xxxxxxxxx> > Signed-off-by: Sangyun Kim <sangyun.kim@xxxxxxxxx> > Cc: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx> Reviewed-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx> > --- > v1->v2 : Add commit description > v2->v3 : Change WARN_ON() to if() > v3->v4 : Use only one if() for three conditions > --- > mm/vmalloc.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 74afa2208558..3b7e8856be35 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -1587,9 +1587,8 @@ static struct vmap_area *alloc_vmap_area(unsigned long size, > int purged = 0; > int ret; > > - BUG_ON(!size); > - BUG_ON(offset_in_page(size)); > - BUG_ON(!is_power_of_2(align)); > + if (unlikely(!size || offset_in_page(size) || !is_power_of_2(align))) > + return ERR_PTR(-EINVAL); > > if (unlikely(!vmap_initialized)) > return ERR_PTR(-EBUSY);