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@xxxxxxxxx> > > --- > > 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