Duplicate kernel-doc comments for ksize()
From: Akira Yokosawa
Date: Mon Nov 07 2022 - 05:41:16 EST
Hi Kees,
"make htmldocs" reports duplicate C declaration of ksize()
as follows:
/linux/Documentation/core-api/mm-api:43: ./mm/slab_common.c:1428: WARNING: Duplicate C declaration, also defined at core-api/mm-api:212.
Declaration is '.. c:function:: size_t ksize (const void *objp)'.
This is due to the kernel-doc comment for ksize() added in
include/linux/slab.h by a commit you have authored:
05a940656e1e ("slab:Introduce kmalloc_size_roundup()").
/**
* ksize - Report actual allocation size of associated object
*
* @objp: Pointer returned from a prior kmalloc()-family allocation.
*
* This should not be used for writing beyond the originally requested
* allocation size. Either use krealloc() or round up the allocation size
* with kmalloc_size_roundup() prior to allocation. If this is used to
* access beyond the originally requested allocation size, UBSAN_BOUNDS
* and/or FORTIFY_SOURCE may trip, since they only know about the
* originally allocated size via the __alloc_size attribute.
*/
There is another kernel-doc comment in mm/slab_common.c (originally
by Manfred, since v2.6.14):
/**
* ksize - get the actual amount of memory allocated for a given object
* @objp: Pointer to the object
*
* kmalloc may internally round up allocations and return more memory
* than requested. ksize() can be used to determine the actual amount of
* memory allocated. The caller may use this additional memory, even though
* a smaller amount of memory was initially specified with the kmalloc call.
* The caller must guarantee that objp points to a valid object previously
* allocated with either kmalloc() or kmem_cache_alloc(). The object
* must not be freed during the duration of the call.
*
* Return: size of the actual memory used by @objp in bytes
*/
I guess the one in slab_common.c is outdated and can be removed.
Can you please take care of it?
Thanks, Akira