diff options
author | Vlastimil Babka <vbabka@suse.cz> | 2023-03-02 16:01:00 +0100 |
---|---|---|
committer | Vlastimil Babka <vbabka@suse.cz> | 2023-03-29 10:35:41 +0200 |
commit | ae65a5211d90e54ae604012ce9cf234c48780929 (patch) | |
tree | 426cc35415d01738cf68cbe05f2a587a7713859d /mm/slab_common.c | |
parent | 6630e950d532ffabce3a4bdbac7be844bad193fe (diff) | |
download | linux-stable-ae65a5211d90e54ae604012ce9cf234c48780929.tar.gz linux-stable-ae65a5211d90e54ae604012ce9cf234c48780929.tar.bz2 linux-stable-ae65a5211d90e54ae604012ce9cf234c48780929.zip |
mm/slab: document kfree() as allowed for kmem_cache_alloc() objects
This will make it easier to free objects in situations when they can
come from either kmalloc() or kmem_cache_alloc(), and also allow
kfree_rcu() for freeing objects from kmem_cache_alloc().
For the SLAB and SLUB allocators this was always possible so with SLOB
gone, we can document it as supported.
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Neeraj Upadhyay <quic_neeraju@quicinc.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Diffstat (limited to 'mm/slab_common.c')
-rw-r--r-- | mm/slab_common.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/mm/slab_common.c b/mm/slab_common.c index 1522693295f5..607249785c07 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -989,12 +989,9 @@ EXPORT_SYMBOL(__kmalloc_node_track_caller); /** * kfree - free previously allocated memory - * @object: pointer returned by kmalloc. + * @object: pointer returned by kmalloc() or kmem_cache_alloc() * * If @object is NULL, no operation is performed. - * - * Don't free memory not originally allocated by kmalloc() - * or you will run into trouble. */ void kfree(const void *object) { |