Merge tag 'docs-5.0' of git://git.lwn.net/linux
[platform/kernel/linux-starfive.git] / mm / slab_common.c
index dbf63d6..81732d0 100644 (file)
@@ -751,7 +751,7 @@ void slab_deactivate_memcg_cache_rcu_sched(struct kmem_cache *s,
        css_get(&s->memcg_params.memcg->css);
 
        s->memcg_params.deact_fn = deact_fn;
-       call_rcu_sched(&s->memcg_params.deact_rcu_head, kmemcg_deactivate_rcufn);
+       call_rcu(&s->memcg_params.deact_rcu_head, kmemcg_deactivate_rcufn);
 }
 
 void memcg_deactivate_kmem_caches(struct mem_cgroup *memcg)
@@ -866,11 +866,11 @@ static void flush_memcg_workqueue(struct kmem_cache *s)
        mutex_unlock(&slab_mutex);
 
        /*
-        * SLUB deactivates the kmem_caches through call_rcu_sched. Make
+        * SLUB deactivates the kmem_caches through call_rcu. Make
         * sure all registered rcu callbacks have been invoked.
         */
        if (IS_ENABLED(CONFIG_SLUB))
-               rcu_barrier_sched();
+               rcu_barrier();
 
        /*
         * SLAB and SLUB create memcg kmem_caches through workqueue and SLUB
@@ -1056,10 +1056,8 @@ struct kmem_cache *kmalloc_slab(size_t size, gfp_t flags)
 
                index = size_index[size_index_elem(size)];
        } else {
-               if (unlikely(size > KMALLOC_MAX_CACHE_SIZE)) {
-                       WARN_ON(1);
+               if (WARN_ON_ONCE(size > KMALLOC_MAX_CACHE_SIZE))
                        return NULL;
-               }
                index = fls(size - 1);
        }
 
@@ -1231,7 +1229,7 @@ void *kmalloc_order(size_t size, gfp_t flags, unsigned int order)
        page = alloc_pages(flags, order);
        ret = page ? page_address(page) : NULL;
        kmemleak_alloc(ret, size, 1, flags);
-       kasan_kmalloc_large(ret, size, flags);
+       ret = kasan_kmalloc_large(ret, size, flags);
        return ret;
 }
 EXPORT_SYMBOL(kmalloc_order);
@@ -1509,7 +1507,7 @@ static __always_inline void *__do_krealloc(const void *p, size_t new_size,
                ks = ksize(p);
 
        if (ks >= new_size) {
-               kasan_krealloc((void *)p, new_size, flags);
+               p = kasan_krealloc((void *)p, new_size, flags);
                return (void *)p;
        }
 
@@ -1561,7 +1559,7 @@ void *krealloc(const void *p, size_t new_size, gfp_t flags)
        }
 
        ret = __do_krealloc(p, new_size, flags);
-       if (ret && p != ret)
+       if (ret && kasan_reset_tag(p) != kasan_reset_tag(ret))
                kfree(p);
 
        return ret;