mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	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>
This commit is contained in:
		
							parent
							
								
									9ca2d73264
								
							
						
					
					
						commit
						eea2c05d92
					
				
					 4 changed files with 16 additions and 10 deletions
				
			
		| 
						 | 
					@ -193,7 +193,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	case FS_IOC_SET_ENCRYPTION_POLICY: {
 | 
						case FS_IOC_SET_ENCRYPTION_POLICY: {
 | 
				
			||||||
#ifdef CONFIG_FS_ENCRYPTION
 | 
					 | 
				
			||||||
		struct ubifs_info *c = inode->i_sb->s_fs_info;
 | 
							struct ubifs_info *c = inode->i_sb->s_fs_info;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		err = ubifs_enable_encryption(c);
 | 
							err = ubifs_enable_encryption(c);
 | 
				
			||||||
| 
						 | 
					@ -201,9 +200,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 | 
				
			||||||
			return err;
 | 
								return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return fscrypt_ioctl_set_policy(file, (const void __user *)arg);
 | 
							return fscrypt_ioctl_set_policy(file, (const void __user *)arg);
 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
		return -EOPNOTSUPP;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	case FS_IOC_GET_ENCRYPTION_POLICY:
 | 
						case FS_IOC_GET_ENCRYPTION_POLICY:
 | 
				
			||||||
		return fscrypt_ioctl_get_policy(file, (void __user *)arg);
 | 
							return fscrypt_ioctl_get_policy(file, (void __user *)arg);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -748,14 +748,12 @@ int ubifs_read_superblock(struct ubifs_info *c)
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef CONFIG_FS_ENCRYPTION
 | 
						if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION) && c->encrypted) {
 | 
				
			||||||
	if (c->encrypted) {
 | 
					 | 
				
			||||||
		ubifs_err(c, "file system contains encrypted files but UBIFS"
 | 
							ubifs_err(c, "file system contains encrypted files but UBIFS"
 | 
				
			||||||
			     " was built without crypto support.");
 | 
								     " was built without crypto support.");
 | 
				
			||||||
		err = -EINVAL;
 | 
							err = -EINVAL;
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Automatically increase file system size to the maximum size */
 | 
						/* Automatically increase file system size to the maximum size */
 | 
				
			||||||
	c->old_leb_cnt = c->leb_cnt;
 | 
						c->old_leb_cnt = c->leb_cnt;
 | 
				
			||||||
| 
						 | 
					@ -943,6 +941,9 @@ int ubifs_enable_encryption(struct ubifs_info *c)
 | 
				
			||||||
	int err;
 | 
						int err;
 | 
				
			||||||
	struct ubifs_sb_node *sup = c->sup_node;
 | 
						struct ubifs_sb_node *sup = c->sup_node;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION))
 | 
				
			||||||
 | 
							return -EOPNOTSUPP;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (c->encrypted)
 | 
						if (c->encrypted)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2146,9 +2146,7 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
 | 
				
			||||||
#ifdef CONFIG_UBIFS_FS_XATTR
 | 
					#ifdef CONFIG_UBIFS_FS_XATTR
 | 
				
			||||||
	sb->s_xattr = ubifs_xattr_handlers;
 | 
						sb->s_xattr = ubifs_xattr_handlers;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef CONFIG_FS_ENCRYPTION
 | 
						fscrypt_set_ops(sb, &ubifs_crypt_operations);
 | 
				
			||||||
	sb->s_cop = &ubifs_crypt_operations;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mutex_lock(&c->umount_mutex);
 | 
						mutex_lock(&c->umount_mutex);
 | 
				
			||||||
	err = mount_ubifs(c);
 | 
						err = mount_ubifs(c);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -230,6 +230,11 @@ extern int __fscrypt_encrypt_symlink(struct inode *inode, const char *target,
 | 
				
			||||||
extern const char *fscrypt_get_symlink(struct inode *inode, const void *caddr,
 | 
					extern const char *fscrypt_get_symlink(struct inode *inode, const void *caddr,
 | 
				
			||||||
				       unsigned int max_size,
 | 
									       unsigned int max_size,
 | 
				
			||||||
				       struct delayed_call *done);
 | 
									       struct delayed_call *done);
 | 
				
			||||||
 | 
					static inline void fscrypt_set_ops(struct super_block *sb,
 | 
				
			||||||
 | 
									   const struct fscrypt_operations *s_cop)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						sb->s_cop = s_cop;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
#else  /* !CONFIG_FS_ENCRYPTION */
 | 
					#else  /* !CONFIG_FS_ENCRYPTION */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline bool fscrypt_has_encryption_key(const struct inode *inode)
 | 
					static inline bool fscrypt_has_encryption_key(const struct inode *inode)
 | 
				
			||||||
| 
						 | 
					@ -446,6 +451,12 @@ static inline const char *fscrypt_get_symlink(struct inode *inode,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return ERR_PTR(-EOPNOTSUPP);
 | 
						return ERR_PTR(-EOPNOTSUPP);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static inline void fscrypt_set_ops(struct super_block *sb,
 | 
				
			||||||
 | 
									   const struct fscrypt_operations *s_cop)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif	/* !CONFIG_FS_ENCRYPTION */
 | 
					#endif	/* !CONFIG_FS_ENCRYPTION */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue