btrfs: return error instead of crash when detecting unexpected type in btrfs_get_acl
authorChengguang Xu <cgxu519@gmx.com>
Wed, 27 Jun 2018 04:16:34 +0000 (12:16 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 6 Aug 2018 11:12:40 +0000 (13:12 +0200)
The caller of btrfs_get_acl() checks error condition so there is no
impact from this change. In practice there is no chance to get into
default case of switch statement because VFS has already checked the
type.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/acl.c

index 15e1dfef56a5915a5979c3b74c513a714cc310c6..60f83a3bd77caf03281a0974e9a728e12a99fc87 100644 (file)
@@ -30,7 +30,7 @@ struct posix_acl *btrfs_get_acl(struct inode *inode, int type)
                name = XATTR_NAME_POSIX_ACL_DEFAULT;
                break;
        default:
-               BUG();
+               return ERR_PTR(-EINVAL);
        }
 
        size = btrfs_getxattr(inode, name, "", 0);