ubifs: Remove #ifdef around CONFIG_FS_ENCRYPTION
ifdefs reduce readablity and compile coverage. This removes the ifdefs around CONFIG_FS_ENCRYPTION by using IS_ENABLED and relying on static inline wrappers. A new static inline wrapper for setting sb->s_cop is introduced to allow filesystems to unconditionally compile in their s_cop operations. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Richard Weinberger <richard@nod.at>
此提交包含在:
@@ -193,7 +193,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
return err;
|
||||
}
|
||||
case FS_IOC_SET_ENCRYPTION_POLICY: {
|
||||
#ifdef CONFIG_FS_ENCRYPTION
|
||||
struct ubifs_info *c = inode->i_sb->s_fs_info;
|
||||
|
||||
err = ubifs_enable_encryption(c);
|
||||
@@ -201,9 +200,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
return err;
|
||||
|
||||
return fscrypt_ioctl_set_policy(file, (const void __user *)arg);
|
||||
#else
|
||||
return -EOPNOTSUPP;
|
||||
#endif
|
||||
}
|
||||
case FS_IOC_GET_ENCRYPTION_POLICY:
|
||||
return fscrypt_ioctl_get_policy(file, (void __user *)arg);
|
||||
|
@@ -748,14 +748,12 @@ int ubifs_read_superblock(struct ubifs_info *c)
|
||||
goto out;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_FS_ENCRYPTION
|
||||
if (c->encrypted) {
|
||||
if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION) && c->encrypted) {
|
||||
ubifs_err(c, "file system contains encrypted files but UBIFS"
|
||||
" was built without crypto support.");
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Automatically increase file system size to the maximum size */
|
||||
c->old_leb_cnt = c->leb_cnt;
|
||||
@@ -943,6 +941,9 @@ int ubifs_enable_encryption(struct ubifs_info *c)
|
||||
int err;
|
||||
struct ubifs_sb_node *sup = c->sup_node;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (c->encrypted)
|
||||
return 0;
|
||||
|
||||
|
@@ -2146,9 +2146,7 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
#ifdef CONFIG_UBIFS_FS_XATTR
|
||||
sb->s_xattr = ubifs_xattr_handlers;
|
||||
#endif
|
||||
#ifdef CONFIG_FS_ENCRYPTION
|
||||
sb->s_cop = &ubifs_crypt_operations;
|
||||
#endif
|
||||
fscrypt_set_ops(sb, &ubifs_crypt_operations);
|
||||
|
||||
mutex_lock(&c->umount_mutex);
|
||||
err = mount_ubifs(c);
|
||||
|
新增問題並參考
封鎖使用者