2021-06-30 04:09:34

by Claire Chang

[permalink] [raw]
Subject: [PATCH v3] swiotlb: fix implicit debugfs_create_dir declaration

Factor out the debugfs bits from rmem_swiotlb_device_init() into a separate
rmem_swiotlb_debugfs_init().

Fixes: 461021875c50 ("swiotlb: Add restricted DMA pool initialization")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Claire Chang <[email protected]>
---
kernel/dma/swiotlb.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 0ffbaae9fba2..355dc98d381c 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -709,6 +709,16 @@ static int __init swiotlb_create_default_debugfs(void)

late_initcall(swiotlb_create_default_debugfs);

+static void rmem_swiotlb_debugfs_init(const char *name, struct io_tlb_mem *mem)
+{
+ mem->debugfs = debugfs_create_dir(name, debugfs_dir);
+ swiotlb_create_debugfs_files(mem);
+}
+#else
+__maybe_unused static void rmem_swiotlb_debugfs_init(const char *name,
+ struct io_tlb_mem *mem)
+{
+}
#endif

#ifdef CONFIG_DMA_RESTRICTED_POOL
@@ -766,11 +776,8 @@ static int rmem_swiotlb_device_init(struct reserved_mem *rmem,

rmem->priv = mem;

- if (IS_ENABLED(CONFIG_DEBUG_FS)) {
- mem->debugfs =
- debugfs_create_dir(rmem->name, debugfs_dir);
- swiotlb_create_debugfs_files(mem);
- }
+ if (IS_ENABLED(CONFIG_DEBUG_FS))
+ rmem_swiotlb_debugfs_init(rmem->name, mem);
}

dev->dma_io_tlb_mem = mem;
--
2.32.0.93.g670b81a890-goog


2021-06-30 13:57:09

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH v3] swiotlb: fix implicit debugfs_create_dir declaration

On 2021-06-30 05:06, Claire Chang wrote:
> Factor out the debugfs bits from rmem_swiotlb_device_init() into a separate
> rmem_swiotlb_debugfs_init().
>
> Fixes: 461021875c50 ("swiotlb: Add restricted DMA pool initialization")
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Claire Chang <[email protected]>
> ---
> kernel/dma/swiotlb.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index 0ffbaae9fba2..355dc98d381c 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -709,6 +709,16 @@ static int __init swiotlb_create_default_debugfs(void)
>
> late_initcall(swiotlb_create_default_debugfs);
>
> +static void rmem_swiotlb_debugfs_init(const char *name, struct io_tlb_mem *mem)

Nit: maybe just pass in the reserved_mem, then dereference rmem->name
and rmem->priv inside here?

> +{
> + mem->debugfs = debugfs_create_dir(name, debugfs_dir);
> + swiotlb_create_debugfs_files(mem);
> +}
> +#else
> +__maybe_unused static void rmem_swiotlb_debugfs_init(const char *name,
> + struct io_tlb_mem *mem)
> +{
> +}
> #endif
>
> #ifdef CONFIG_DMA_RESTRICTED_POOL
> @@ -766,11 +776,8 @@ static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
>
> rmem->priv = mem;
>
> - if (IS_ENABLED(CONFIG_DEBUG_FS)) {
> - mem->debugfs =
> - debugfs_create_dir(rmem->name, debugfs_dir);
> - swiotlb_create_debugfs_files(mem);
> - }
> + if (IS_ENABLED(CONFIG_DEBUG_FS))
> + rmem_swiotlb_debugfs_init(rmem->name, mem);

Just make the call unconditional (and drop the __maybe_unused annotation
above) - the stub already does nothing for the DEBUG_FS=n case, so the
IS_ENABLED() is pointless.

Robin.

> }
>
> dev->dma_io_tlb_mem = mem;
>