autofs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ian Kent <raven@themaw.net>
To: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Cc: Jeff Mahoney <jeffm@suse.com>, autofs@vger.kernel.org
Subject: Re: [PATCH] autofs: Add BUG_ON(1) for non dir/link inode case
Date: Mon, 04 Jul 2016 14:08:27 +0800	[thread overview]
Message-ID: <1467612507.3317.13.camel@themaw.net> (raw)
In-Reply-To: <CAHndrB=8zS7zdr4X6aTby4TsqKc5waGjc3Lbrva-puZZv6q9pw@mail.gmail.com>

On Mon, 2016-07-04 at 13:04 +0900, Tomohiro Kusumi wrote:
> Thanks for your review.
> I've submitted the v2 patch which only changed BUG_ON to WARN_ON.

Yep, it's always called internally and should return something close to sensible
on error.

The case really shouldn't happen so a WARN_ON() is the better way to handle
this.

> 
> I didn't use a return value of EINVAL as this function returns a pointer.
> (and I didn't want to return EINVAL casted to a pointer)
> 
> 2016-07-04 11:24 GMT+09:00 Ian Kent <raven@themaw.net>:
> > On Sun, 2016-07-03 at 18:51 -0400, Jeff Mahoney wrote:
> > > On 7/3/16 6:29 AM, Tomohiro Kusumi wrote:
> > > > It's invalid if the given mode is neither dir nor link,
> > > > so don't let it fallthrough on else case.
> > > 
> > > Is this case really worth crashing the entire system?
> > > 
> > > Wouldn't a WARN_ON + return -EINVAL be sufficient?  At the very least it
> > > means that a developer doesn't need to reboot to reload the module if
> > > they hit this.
> > 
> > That error return should be sufficient to cover this case and the WARN_ON()
> > is
> > useful too.
> > 
> > And while there is some justification for the BUG_ON() earlier I also think
> > an E
> > INVAL return would be more sensible there too.
> > 
> > BUG()ing on errors that should be handled is really bad IMHO.
> > 
> > > 
> > > -Jeff
> > > 
> > > > Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
> > > > ---
> > > >  fs/autofs4/inode.c | 4 +++-
> > > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c
> > > > index ad0ee93..7f35c82 100644
> > > > --- a/fs/autofs4/inode.c
> > > > +++ b/fs/autofs4/inode.c
> > > > @@ -305,6 +305,7 @@ int autofs4_fill_super(struct super_block *s, void
> > > > *data, int silent)
> > > >     if (autofs_type_trigger(sbi->type))
> > > >             __managed_dentry_set_managed(root);
> > > > 
> > > > +   BUG_ON(!root_inode->i_fop || !root_inode->i_op);
> > > >     root_inode->i_fop = &autofs4_root_operations;
> > > >     root_inode->i_op = &autofs4_dir_inode_operations;
> > > > 
> > > > @@ -368,7 +369,8 @@ struct inode *autofs4_get_inode(struct super_block
> > > > *sb,
> > > > umode_t mode)
> > > >             inode->i_fop = &autofs4_dir_operations;
> > > >     } else if (S_ISLNK(mode)) {
> > > >             inode->i_op = &autofs4_symlink_inode_operations;
> > > > -   }
> > > > +   } else
> > > > +           BUG_ON(1);
> > > > 
> > > >     return inode;
> > > >  }
> > > > 
> > > 
> > > 
--
To unsubscribe from this list: send the line "unsubscribe autofs" in

      reply	other threads:[~2016-07-04  6:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-03 10:29 [PATCH] autofs: Add BUG_ON(1) for non dir/link inode case Tomohiro Kusumi
2016-07-03 22:51 ` Jeff Mahoney
2016-07-04  2:24   ` Ian Kent
2016-07-04  4:04     ` Tomohiro Kusumi
2016-07-04  6:08       ` Ian Kent [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1467612507.3317.13.camel@themaw.net \
    --to=raven@themaw.net \
    --cc=autofs@vger.kernel.org \
    --cc=jeffm@suse.com \
    --cc=kusumi.tomohiro@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).