This is a preparation for debugfs restricted mode.
We don't need debugfs to trace, the removed check stop tracefs to work
if debugfs is not initialised. We instead tries to automount within
debugfs and relay on it's handling. The code path is to create a
backward compatibility from when tracefs was part of debugfs, it is now
standalone and does not need debugfs. When debugfs is in restricted
it is compiled in but not active and return EPERM to clients and
tracefs wont work if it assumes it is active it is compiled in
kernel.
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Peter Enderborg <[email protected]>
---
kernel/trace/trace.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index ec44b0e2a19c..34ed82364edb 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -8946,9 +8946,7 @@ struct dentry *tracing_init_dentry(void)
if (tr->dir)
return NULL;
- if (WARN_ON(!tracefs_initialized()) ||
- (IS_ENABLED(CONFIG_DEBUG_FS) &&
- WARN_ON(!debugfs_initialized())))
+ if (WARN_ON(!tracefs_initialized()))
return ERR_PTR(-ENODEV);
/*
--
2.26.2
On Mon, 22 Jun 2020 10:30:18 +0200
Peter Enderborg <[email protected]> wrote:
> This is a preparation for debugfs restricted mode.
> We don't need debugfs to trace, the removed check stop tracefs to work
> if debugfs is not initialised. We instead tries to automount within
> debugfs and relay on it's handling. The code path is to create a
> backward compatibility from when tracefs was part of debugfs, it is now
> standalone and does not need debugfs. When debugfs is in restricted
> it is compiled in but not active and return EPERM to clients and
> tracefs wont work if it assumes it is active it is compiled in
> kernel.
>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Peter Enderborg <[email protected]>
Acked-by: Steven Rostedt (VMware) <[email protected]>
-- Steve
> ---
> kernel/trace/trace.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index ec44b0e2a19c..34ed82364edb 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -8946,9 +8946,7 @@ struct dentry *tracing_init_dentry(void)
> if (tr->dir)
> return NULL;
>
> - if (WARN_ON(!tracefs_initialized()) ||
> - (IS_ENABLED(CONFIG_DEBUG_FS) &&
> - WARN_ON(!debugfs_initialized())))
> + if (WARN_ON(!tracefs_initialized()))
> return ERR_PTR(-ENODEV);
>
> /*
On Mon, Jun 22, 2020 at 10:30:18AM +0200, Peter Enderborg wrote:
> This is a preparation for debugfs restricted mode.
> We don't need debugfs to trace, the removed check stop tracefs to work
> if debugfs is not initialised. We instead tries to automount within
> debugfs and relay on it's handling. The code path is to create a
> backward compatibility from when tracefs was part of debugfs, it is now
> standalone and does not need debugfs. When debugfs is in restricted
> it is compiled in but not active and return EPERM to clients and
> tracefs wont work if it assumes it is active it is compiled in
> kernel.
I'm sorry, but I can't parse this changelog text at all. Why exactly
are you doing this?
>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Peter Enderborg <[email protected]>
> ---
> kernel/trace/trace.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index ec44b0e2a19c..34ed82364edb 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -8946,9 +8946,7 @@ struct dentry *tracing_init_dentry(void)
> if (tr->dir)
> return NULL;
>
> - if (WARN_ON(!tracefs_initialized()) ||
> - (IS_ENABLED(CONFIG_DEBUG_FS) &&
> - WARN_ON(!debugfs_initialized())))
> + if (WARN_ON(!tracefs_initialized()))
> return ERR_PTR(-ENODEV);
>
This change makes sense to me anyway, so:
Reviewed-by: Greg Kroah-Hartman <[email protected]>