[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6f936d6e-9f27-ba72-68de-0ed27c0dbbe1@arm.com>
Date: Tue, 29 Aug 2023 15:22:22 +0100
From: Robin Murphy <robin.murphy@....com>
To: Chunhui He <hchunhui@...l.ustc.edu.cn>,
Christoph Hellwig <hch@....de>,
Marek Szyprowski <m.szyprowski@...sung.com>
Cc: iommu@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] dma/pool: trivial: add semicolon after label
attributes
On 26/08/2023 9:53 am, Chunhui He wrote:
> The gcc document says label attributes are ambiguous if they are
> not immediately followed by a semicolon. Although the ambiguity
> does not arise in C90/99, it would be better to add it.
AFAICS, what that clearly says is that *C++* label attributes can be
ambiguous. This is not C++ code. Even in C11, declarations still cannot
be labelled, so it should still be the case that, per the same GCC
documentation, "the ambiguity does not arise". And even if the language
did allow it, an inline declaration at that point at the end of a
function would be downright weird and against the kernel coding style
anyway.
So, I don't really see what's "better" about cluttering up C code with
unnecessary C++isms; it's just weird noise to me. The only thing I think
it *does* achieve is introduce the chance that the static checker
brigade eventually identifies a redundant semicolon and we get more
patches to remove it again.
Thanks,
Robin.
> Link: https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html#Label-Attributes-2
> Signed-off-by: Chunhui He <hchunhui@...l.ustc.edu.cn>
> ---
> kernel/dma/pool.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c
> index 1acec2e22827..f99f02b88c40 100644
> --- a/kernel/dma/pool.c
> +++ b/kernel/dma/pool.c
> @@ -136,7 +136,7 @@ static int atomic_pool_expand(struct gen_pool *pool, size_t pool_size,
> #ifdef CONFIG_DMA_DIRECT_REMAP
> dma_common_free_remap(addr, pool_size);
> #endif
> -free_page: __maybe_unused
> +free_page: __maybe_unused;
> __free_pages(page, order);
> out:
> return ret;
Powered by blists - more mailing lists