]> git.dujemihanovic.xyz Git - linux.git/commitdiff
mm/damon/sysfs-schemes: handle tried regions sysfs directory allocation failure
authorSeongJae Park <sj@kernel.org>
Mon, 6 Nov 2023 23:34:07 +0000 (23:34 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 15 Nov 2023 23:30:09 +0000 (15:30 -0800)
DAMOS tried regions sysfs directory allocation function
(damon_sysfs_scheme_regions_alloc()) is not handling the memory allocation
failure.  In the case, the code will dereference NULL pointer.  Handle the
failure to avoid such invalid access.

Link: https://lkml.kernel.org/r/20231106233408.51159-3-sj@kernel.org
Fixes: 9277d0367ba1 ("mm/damon/sysfs-schemes: implement scheme region directory")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org> [6.2+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/sysfs-schemes.c

index 45bd0fd4a8b1616d6336d27175fc33a372db41e7..7413cb35c5a9c43c5801215e760c62d4fcf3e68a 100644 (file)
@@ -162,6 +162,9 @@ damon_sysfs_scheme_regions_alloc(void)
        struct damon_sysfs_scheme_regions *regions = kmalloc(sizeof(*regions),
                        GFP_KERNEL);
 
+       if (!regions)
+               return NULL;
+
        regions->kobj = (struct kobject){};
        INIT_LIST_HEAD(&regions->regions_list);
        regions->nr_regions = 0;