| From: Hyunmin Lee <hn.min.lee@gmail.com> |
| Subject: mm/vmalloc: replace BUG_ON with a simple if statement |
| Date: Wed, 1 Feb 2023 20:51:42 +0900 |
| |
| 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. |
| |
| Link: https://lkml.kernel.org/r/20230201115142.GA7772@min-iamroot |
| Co-developed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> |
| Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com> |
| Co-developed-by: Jeungwoo Yoo <casionwoo@gmail.com> |
| Signed-off-by: Jeungwoo Yoo <casionwoo@gmail.com> |
| Co-developed-by: Sangyun Kim <sangyun.kim@snu.ac.kr> |
| Signed-off-by: Sangyun Kim <sangyun.kim@snu.ac.kr> |
| Signed-off-by: Hyunmin Lee <hn.min.lee@gmail.com> |
| Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> |
| Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> |
| Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org> |
| Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com> |
| Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/vmalloc.c | 5 ++--- |
| 1 file changed, 2 insertions(+), 3 deletions(-) |
| |
| --- a/mm/vmalloc.c~mm-vmalloc-replace-bug_on-to-a-simple-if-statement |
| +++ a/mm/vmalloc.c |
| @@ -1586,9 +1586,8 @@ static struct vmap_area *alloc_vmap_area |
| 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); |
| _ |