docs/core-api: memory-allocation: add mention of kmem_cache_create_userspace

Mention that when a part of a slab cache might be exported to the
userspace, the cache should be created using kmem_cache_create_usercopy()

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Mike Rapoport 2019-01-14 13:47:34 +02:00 committed by Jonathan Corbet
parent 58f4df3c1b
commit 98e5f349c9
1 changed files with 5 additions and 3 deletions

View File

@ -113,9 +113,11 @@ see :c:func:`kvmalloc_node` reference documentation. Note that
If you need to allocate many identical objects you can use the slab If you need to allocate many identical objects you can use the slab
cache allocator. The cache should be set up with cache allocator. The cache should be set up with
:c:func:`kmem_cache_create` before it can be used. Afterwards :c:func:`kmem_cache_create` or :c:func:`kmem_cache_create_usercopy`
:c:func:`kmem_cache_alloc` and its convenience wrappers can allocate before it can be used. The second function should be used if a part of
memory from that cache. the cache might be copied to the userspace. After the cache is
created :c:func:`kmem_cache_alloc` and its convenience wrappers can
allocate memory from that cache.
When the allocated memory is no longer needed it must be freed. You When the allocated memory is no longer needed it must be freed. You
can use :c:func:`kvfree` for the memory allocated with `kmalloc`, can use :c:func:`kvfree` for the memory allocated with `kmalloc`,