docs/core-api: memory-allocation: add mention of kmem_cache_create_userspace
authorMike Rapoport <rppt@linux.ibm.com>
Mon, 14 Jan 2019 11:47:34 +0000 (13:47 +0200)
committerJonathan Corbet <corbet@lwn.net>
Tue, 15 Jan 2019 00:27:05 +0000 (17:27 -0700)
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>
Documentation/core-api/memory-allocation.rst

index 8954a88ff5b75f5d3f1bff28c04b696ba0ec825e..51a200d59f5159e9b44073dfdaefc6cf2654a1a5 100644 (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
 cache allocator. The cache should be set up with
-:c:func:`kmem_cache_create` before it can be used. Afterwards
-:c:func:`kmem_cache_alloc` and its convenience wrappers can allocate
-memory from that cache.
+:c:func:`kmem_cache_create` or :c:func:`kmem_cache_create_usercopy`
+before it can be used. The second function should be used if a part of
+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
 can use :c:func:`kvfree` for the memory allocated with `kmalloc`,