[PATCH] mm-kasan-kunit-extend-vmalloc-oob-tests-to-cover-vrealloc-fix

Andrey Ryabinin posted 1 patch 3 weeks, 1 day ago
mm/kasan/kasan_test_c.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] mm-kasan-kunit-extend-vmalloc-oob-tests-to-cover-vrealloc-fix
Posted by Andrey Ryabinin 3 weeks, 1 day ago
Adjust vrealloc() size to verify full-granule poisoning/unpoisoning
in tag-based modes.

Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
---
 mm/kasan/kasan_test_c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/kasan/kasan_test_c.c b/mm/kasan/kasan_test_c.c
index cc8fc479e13a..b4d157962121 100644
--- a/mm/kasan/kasan_test_c.c
+++ b/mm/kasan/kasan_test_c.c
@@ -1881,7 +1881,7 @@ static void vmalloc_oob(struct kunit *test)
 
 	vmalloc_oob_helper(test, v_ptr, size);
 
-	size--;
+	size -= KASAN_GRANULE_SIZE + 1;
 	v_ptr = vrealloc(v_ptr, size, GFP_KERNEL);
 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, v_ptr);
 
@@ -1889,7 +1889,7 @@ static void vmalloc_oob(struct kunit *test)
 
 	vmalloc_oob_helper(test, v_ptr, size);
 
-	size += 2;
+	size += 2 * KASAN_GRANULE_SIZE + 2;
 	v_ptr = vrealloc(v_ptr, size, GFP_KERNEL);
 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, v_ptr);
 
-- 
2.52.0
Re: [PATCH] mm-kasan-kunit-extend-vmalloc-oob-tests-to-cover-vrealloc-fix
Posted by Andrey Konovalov 3 weeks ago
On Fri, Jan 16, 2026 at 2:29 PM Andrey Ryabinin <ryabinin.a.a@gmail.com> wrote:
>
> Adjust vrealloc() size to verify full-granule poisoning/unpoisoning
> in tag-based modes.
>
> Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
> Cc: Andrey Konovalov <andreyknvl@gmail.com>
> ---
>  mm/kasan/kasan_test_c.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/kasan/kasan_test_c.c b/mm/kasan/kasan_test_c.c
> index cc8fc479e13a..b4d157962121 100644
> --- a/mm/kasan/kasan_test_c.c
> +++ b/mm/kasan/kasan_test_c.c
> @@ -1881,7 +1881,7 @@ static void vmalloc_oob(struct kunit *test)
>
>         vmalloc_oob_helper(test, v_ptr, size);
>
> -       size--;
> +       size -= KASAN_GRANULE_SIZE + 1;
>         v_ptr = vrealloc(v_ptr, size, GFP_KERNEL);
>         KUNIT_ASSERT_NOT_ERR_OR_NULL(test, v_ptr);
>
> @@ -1889,7 +1889,7 @@ static void vmalloc_oob(struct kunit *test)
>
>         vmalloc_oob_helper(test, v_ptr, size);
>
> -       size += 2;
> +       size += 2 * KASAN_GRANULE_SIZE + 2;
>         v_ptr = vrealloc(v_ptr, size, GFP_KERNEL);
>         KUNIT_ASSERT_NOT_ERR_OR_NULL(test, v_ptr);
>
> --
> 2.52.0
>

Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
Re: [PATCH] mm-kasan-kunit-extend-vmalloc-oob-tests-to-cover-vrealloc-fix
Posted by Maciej Wieczor-Retman 3 weeks, 1 day ago
Tested on a Sierra Forest server this time, still no issues both on generic and
sw_tags.

Tested-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>

On 2026-01-16 at 14:28:22 +0100, Andrey Ryabinin wrote:
>Adjust vrealloc() size to verify full-granule poisoning/unpoisoning
>in tag-based modes.
>
>Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
>Cc: Andrey Konovalov <andreyknvl@gmail.com>
>---
> mm/kasan/kasan_test_c.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/mm/kasan/kasan_test_c.c b/mm/kasan/kasan_test_c.c
>index cc8fc479e13a..b4d157962121 100644
>--- a/mm/kasan/kasan_test_c.c
>+++ b/mm/kasan/kasan_test_c.c
>@@ -1881,7 +1881,7 @@ static void vmalloc_oob(struct kunit *test)
> 
> 	vmalloc_oob_helper(test, v_ptr, size);
> 
>-	size--;
>+	size -= KASAN_GRANULE_SIZE + 1;
> 	v_ptr = vrealloc(v_ptr, size, GFP_KERNEL);
> 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, v_ptr);
> 
>@@ -1889,7 +1889,7 @@ static void vmalloc_oob(struct kunit *test)
> 
> 	vmalloc_oob_helper(test, v_ptr, size);
> 
>-	size += 2;
>+	size += 2 * KASAN_GRANULE_SIZE + 2;
> 	v_ptr = vrealloc(v_ptr, size, GFP_KERNEL);
> 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, v_ptr);
> 
>-- 
>2.52.0
>
>

-- 
Kind regards
Maciej Wieczór-Retman