* Duplicate kernel-doc comments for ksize()
@ 2022-11-07 10:41 Akira Yokosawa
2022-11-07 16:23 ` Vlastimil Babka
0 siblings, 1 reply; 2+ messages in thread
From: Akira Yokosawa @ 2022-11-07 10:41 UTC (permalink / raw)
To: Kees Cook
Cc: Vlastimil Babka, Jonathan Corbet, Akira Yokosawa, linux-mm, linux-kernel
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Duplicate kernel-doc comments for ksize()
2022-11-07 10:41 Duplicate kernel-doc comments for ksize() Akira Yokosawa
@ 2022-11-07 16:23 ` Vlastimil Babka
0 siblings, 0 replies; 2+ messages in thread
From: Vlastimil Babka @ 2022-11-07 16:23 UTC (permalink / raw)
To: Akira Yokosawa, Kees Cook, Hyeonggon Yoo, Christoph Lameter,
David Rientjes, Joonsoo Kim, Pekka Enberg, Roman Gushchin
Cc: Jonathan Corbet, linux-mm, linux-kernel
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-11-07 16:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-07 10:41 Duplicate kernel-doc comments for ksize() Akira Yokosawa
2022-11-07 16:23 ` Vlastimil Babka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox