fscrypt: split fscrypt_dummy_context_enabled() into supp/notsupp versions
authorEric Biggers <ebiggers@google.com>
Fri, 5 Jan 2018 18:44:56 +0000 (10:44 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 12 Jan 2018 03:06:18 +0000 (22:06 -0500)
fscrypt_dummy_context_enabled() accesses ->s_cop, which now is only set
when the filesystem is built with encryption support.  This didn't
actually matter because no filesystems called it.  However, it will
start being used soon, so fix it by moving it from fscrypt.h to
fscrypt_supp.h and stubbing it out in fscrypt_notsupp.h.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
include/linux/fscrypt.h
include/linux/fscrypt_notsupp.h
include/linux/fscrypt_supp.h

index 0f94d087a6d171202ffcb7af445729d59e9588bb..b671a4eef47f94925f95089ced4f82659a068444 100644 (file)
@@ -75,14 +75,6 @@ struct fscrypt_operations {
 /* Maximum value for the third parameter of fscrypt_operations.set_context(). */
 #define FSCRYPT_SET_CONTEXT_MAX_SIZE   28
 
-static inline bool fscrypt_dummy_context_enabled(struct inode *inode)
-{
-       if (inode->i_sb->s_cop->dummy_context &&
-                               inode->i_sb->s_cop->dummy_context(inode))
-               return true;
-       return false;
-}
-
 static inline bool fscrypt_valid_enc_modes(u32 contents_mode,
                                        u32 filenames_mode)
 {
index 812dc701a5b3a6e2fb34f78bd30e29f0b47bad80..81e02201b215af57db201e2477fd712c90f3f1a8 100644 (file)
@@ -19,6 +19,11 @@ static inline bool fscrypt_has_encryption_key(const struct inode *inode)
        return false;
 }
 
+static inline bool fscrypt_dummy_context_enabled(struct inode *inode)
+{
+       return false;
+}
+
 /* crypto.c */
 static inline struct fscrypt_ctx *fscrypt_get_ctx(const struct inode *inode,
                                                  gfp_t gfp_flags)
index fd6ee089ced0430b6d50963264779c4cb3873051..e7dfa29749062618009f6d009bae1f444f925a17 100644 (file)
@@ -31,6 +31,12 @@ static inline bool fscrypt_has_encryption_key(const struct inode *inode)
        return (inode->i_crypt_info != NULL);
 }
 
+static inline bool fscrypt_dummy_context_enabled(struct inode *inode)
+{
+       return inode->i_sb->s_cop->dummy_context &&
+               inode->i_sb->s_cop->dummy_context(inode);
+}
+
 /* crypto.c */
 extern struct fscrypt_ctx *fscrypt_get_ctx(const struct inode *, gfp_t);
 extern void fscrypt_release_ctx(struct fscrypt_ctx *);