mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
vmalloc: fix NULL pointer dereference in is_vm_area_hugepages()
find_vm_area() can return NULL if the given address is not a valid vmalloc
area. Check the return value before dereferencing it to avoid a kernel
crash.
Link: https://lore.kernel.org/20260529014130.671291-1-hui.zhu@linux.dev
Fixes: 121e6f3258 ("mm/vmalloc: hugepage vmalloc mappings")
Signed-off-by: Hui Zhu <zhuhui@kylinos.cn>
Reviewed-by: Dev Jain <dev.jain@arm.com>
Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Cc: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
d3d58e9469
commit
c55dd3b46c
|
|
@ -265,7 +265,9 @@ static inline bool is_vm_area_hugepages(const void *addr)
|
|||
* allocated in the vmalloc layer.
|
||||
*/
|
||||
#ifdef CONFIG_HAVE_ARCH_HUGE_VMALLOC
|
||||
return find_vm_area(addr)->page_order > 0;
|
||||
struct vm_struct *area = find_vm_area(addr);
|
||||
|
||||
return area && area->page_order > 0;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user