On 11/7/22 11:41, Akira Yokosawa wrote: > 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 for the report, I've removed the comment myself in a slab.git fixes branch I'll be sending a PR for this week: https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?h=slab/for-6.1-rc4/fixes&id=c18c20f16219516b12a4f2fd29c25e06be97e064 > Thanks, Akira