diff options
Diffstat (limited to 'mm/slab.h')
| -rw-r--r-- | mm/slab.h | 7 |
1 files changed, 3 insertions, 4 deletions
| @@ -437,11 +437,10 @@ static inline void slab_post_alloc_hook(struct kmem_cache *s, gfp_t flags, | |||
| 437 | 437 | ||
| 438 | flags &= gfp_allowed_mask; | 438 | flags &= gfp_allowed_mask; |
| 439 | for (i = 0; i < size; i++) { | 439 | for (i = 0; i < size; i++) { |
| 440 | void *object = p[i]; | 440 | p[i] = kasan_slab_alloc(s, p[i], flags); |
| 441 | 441 | /* As p[i] might get tagged, call kmemleak hook after KASAN. */ | |
| 442 | kmemleak_alloc_recursive(object, s->object_size, 1, | 442 | kmemleak_alloc_recursive(p[i], s->object_size, 1, |
| 443 | s->flags, flags); | 443 | s->flags, flags); |
| 444 | p[i] = kasan_slab_alloc(s, object, flags); | ||
| 445 | } | 444 | } |
| 446 | 445 | ||
| 447 | if (memcg_kmem_enabled()) | 446 | if (memcg_kmem_enabled()) |
