[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <71b57f2d-37cd-9c33-c6b2-7f4b14b2b691@suse.cz>
Date: Mon, 7 Nov 2022 17:23:40 +0100
From: Vlastimil Babka <vbabka@...e.cz>
To: Akira Yokosawa <akiyks@...il.com>,
Kees Cook <keescook@...omium.org>,
Hyeonggon Yoo <42.hyeyoo@...il.com>,
Christoph Lameter <cl@...ux.com>,
David Rientjes <rientjes@...gle.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Pekka Enberg <penberg@...nel.org>,
Roman Gushchin <roman.gushchin@...ux.dev>
Cc: Jonathan Corbet <corbet@....net>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: Duplicate kernel-doc comments for ksize()
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
Powered by blists - more mailing lists