Message ID | 5302e6d48429465259bd0868a7dc357290a2e8a5.1605046662.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kasan: boot parameters for hardware tag-based mode | expand |
On Tue, Nov 10, 2020 at 11:20PM +0100, Andrey Konovalov wrote: > Add set_alloc_info() helper and move kasan_set_track() into it. This will > simplify the code for one of the upcoming changes. > > No functional changes. > > Signed-off-by: Andrey Konovalov <andreyknvl@google.com> > Reviewed-by: Dmitry Vyukov <dvyukov@google.com> > Link: https://linux-review.googlesource.com/id/I0316193cbb4ecc9b87b7c2eee0dd79f8ec908c1a > --- Reviewed-by: Marco Elver <elver@google.com> > mm/kasan/common.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > index 8fd04415d8f4..a880e5a547ed 100644 > --- a/mm/kasan/common.c > +++ b/mm/kasan/common.c > @@ -318,6 +318,11 @@ bool kasan_slab_free(struct kmem_cache *cache, void *object, unsigned long ip) > return __kasan_slab_free(cache, object, ip, true); > } > > +static void set_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags) > +{ > + kasan_set_track(&kasan_get_alloc_meta(cache, object)->alloc_track, flags); > +} > + > static void *__kasan_kmalloc(struct kmem_cache *cache, const void *object, > size_t size, gfp_t flags, bool keep_tag) > { > @@ -345,7 +350,7 @@ static void *__kasan_kmalloc(struct kmem_cache *cache, const void *object, > KASAN_KMALLOC_REDZONE); > > if (cache->flags & SLAB_KASAN) > - kasan_set_track(&kasan_get_alloc_meta(cache, object)->alloc_track, flags); > + set_alloc_info(cache, (void *)object, flags); > > return set_tag(object, tag); > } > -- > 2.29.2.222.g5d2a92d10f8-goog >
diff --git a/mm/kasan/common.c b/mm/kasan/common.c index 8fd04415d8f4..a880e5a547ed 100644 --- a/mm/kasan/common.c +++ b/mm/kasan/common.c @@ -318,6 +318,11 @@ bool kasan_slab_free(struct kmem_cache *cache, void *object, unsigned long ip) return __kasan_slab_free(cache, object, ip, true); } +static void set_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags) +{ + kasan_set_track(&kasan_get_alloc_meta(cache, object)->alloc_track, flags); +} + static void *__kasan_kmalloc(struct kmem_cache *cache, const void *object, size_t size, gfp_t flags, bool keep_tag) { @@ -345,7 +350,7 @@ static void *__kasan_kmalloc(struct kmem_cache *cache, const void *object, KASAN_KMALLOC_REDZONE); if (cache->flags & SLAB_KASAN) - kasan_set_track(&kasan_get_alloc_meta(cache, object)->alloc_track, flags); + set_alloc_info(cache, (void *)object, flags); return set_tag(object, tag); }