lkml.org 
[lkml]   [2020]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] debugfs: Add mount restriction option
    On Thu, May 28, 2020 at 08:39:02AM +0000, Enderborg, Peter wrote:
    > On 5/28/20 10:27 AM, Greg Kroah-Hartman wrote:
    > > On Thu, May 28, 2020 at 10:00:31AM +0200, Peter Enderborg wrote:
    > >> Since debugfs include sensitive information it need to be treated
    > >> carefully. But it also has many very useful debug functions for userspace.
    > >> With this option we can have same configuration for system with
    > >> need of debugfs and a way to turn it off. It is needed new
    > >> kernel command line parameter to be activated.
    > > By "configuration" do you mean "kernel configuration"? What is wrong
    > > with relying on the build option like we do today?
    > >
    > > You might want to reword all of this to make more sense about the
    > > "problem" you are trying to solve here, as I don't really understand it,
    > > sorry.
    > >
    > >
    > >> Signed-off-by: Peter Enderborg <peter.enderborg@sony.com>
    > >> ---
    > >> fs/debugfs/inode.c | 17 ++++++++++++++++-
    > >> lib/Kconfig.debug | 10 ++++++++++
    > >> 2 files changed, 26 insertions(+), 1 deletion(-)
    > > No documentation update? That's not good :(
    > >
    > >
    > >> diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
    > >> index b7f2e971ecbc..bde37dab77e0 100644
    > >> --- a/fs/debugfs/inode.c
    > >> +++ b/fs/debugfs/inode.c
    > >> @@ -786,10 +786,25 @@ bool debugfs_initialized(void)
    > >> }
    > >> EXPORT_SYMBOL_GPL(debugfs_initialized);
    > >>
    > >> +static int allow_debugfs;
    > >> +
    > >> +static int __init debugfs_kernel(char *str)
    > >> +{
    > >> + if (str && !strcmp(str, "true"))
    > >> + allow_debugfs = true;
    > >> +
    > >> + return 0;
    > >> +
    > >> +}
    > >> +early_param("debugfs", debugfs_kernel);
    > >> +
    > >> static int __init debugfs_init(void)
    > >> {
    > >> int retval;
    > >> -
    > >> +#ifdef CONFIG_DEBUG_FS_MOUNT_RESTRICTED
    > >> + if (!allow_debugfs)
    > >> + return -EPERM;
    > >> +#endif
    > > But you are not restricting the ability to mount it here, you are
    > > removing the ability for it to even start up at all. What does this
    > > break for code that thinks the filesystem is registered (i.e. the call
    > > to simple_pin_fs() in start_creating() in fs/debugfs/inode.c?
    > >
    > If it does, the lines below is also cause the same problem.

    In a working system, errors in the lines below will never happen :)

    thanks,

    greg k-h

    \
     
     \ /
      Last update: 2020-05-28 11:29    [W:2.359 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site