| From: Danilo Krummrich <dakr@kernel.org> |
| Subject: mm: kvrealloc: disable KASAN when switching to vmalloc |
| Date: Tue, 30 Jul 2024 20:49:41 +0200 |
| |
| Disable KASAN accessibility checks when switching from a kmalloc buffer |
| to a vmalloc buffer. |
| |
| Link: https://lkml.kernel.org/r/20240730185049.6244-2-dakr@kernel.org |
| Fixes: 923a26b4c679 ("mm: kvmalloc: align kvrealloc() with krealloc()") |
| Signed-off-by: Danilo Krummrich <dakr@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/util.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/mm/util.c~mm-kvmalloc-align-kvrealloc-with-krealloc-fix-2 |
| +++ a/mm/util.c |
| @@ -753,7 +753,10 @@ void *kvrealloc_noprof(const void *p, si |
| |
| if (p) { |
| /* We already know that `p` is not a vmalloc address. */ |
| - memcpy(n, p, ksize(p)); |
| + kasan_disable_current(); |
| + memcpy(n, kasan_reset_tag(p), ksize(p)); |
| + kasan_enable_current(); |
| + |
| kfree(p); |
| } |
| } |
| _ |