@@ -282,29 +282,6 @@ void __kasan_kfree_large(void *ptr, unsigned long ip)
282
282
____kasan_kfree_large (ptr , ip );
283
283
}
284
284
285
- void __kasan_mempool_poison_object (void * ptr , unsigned long ip )
286
- {
287
- struct folio * folio ;
288
-
289
- folio = virt_to_folio (ptr );
290
-
291
- /*
292
- * Even though this function is only called for kmem_cache_alloc and
293
- * kmalloc backed mempool allocations, those allocations can still be
294
- * !PageSlab() when the size provided to kmalloc is larger than
295
- * KMALLOC_MAX_SIZE, and kmalloc falls back onto page_alloc.
296
- */
297
- if (unlikely (!folio_test_slab (folio ))) {
298
- if (____kasan_kfree_large (ptr , ip ))
299
- return ;
300
- kasan_poison (ptr , folio_size (folio ), KASAN_PAGE_FREE , false);
301
- } else {
302
- struct slab * slab = folio_slab (folio );
303
-
304
- ____kasan_slab_free (slab -> slab_cache , ptr , ip , false, false);
305
- }
306
- }
307
-
308
285
void * __must_check __kasan_slab_alloc (struct kmem_cache * cache ,
309
286
void * object , gfp_t flags , bool init )
310
287
{
@@ -452,6 +429,29 @@ void * __must_check __kasan_krealloc(const void *object, size_t size, gfp_t flag
452
429
return ____kasan_kmalloc (slab -> slab_cache , object , size , flags );
453
430
}
454
431
432
+ void __kasan_mempool_poison_object (void * ptr , unsigned long ip )
433
+ {
434
+ struct folio * folio ;
435
+
436
+ folio = virt_to_folio (ptr );
437
+
438
+ /*
439
+ * Even though this function is only called for kmem_cache_alloc and
440
+ * kmalloc backed mempool allocations, those allocations can still be
441
+ * !PageSlab() when the size provided to kmalloc is larger than
442
+ * KMALLOC_MAX_SIZE, and kmalloc falls back onto page_alloc.
443
+ */
444
+ if (unlikely (!folio_test_slab (folio ))) {
445
+ if (____kasan_kfree_large (ptr , ip ))
446
+ return ;
447
+ kasan_poison (ptr , folio_size (folio ), KASAN_PAGE_FREE , false);
448
+ } else {
449
+ struct slab * slab = folio_slab (folio );
450
+
451
+ ____kasan_slab_free (slab -> slab_cache , ptr , ip , false, false);
452
+ }
453
+ }
454
+
455
455
bool __kasan_check_byte (const void * address , unsigned long ip )
456
456
{
457
457
if (!kasan_byte_accessible (address )) {
0 commit comments