Skip to contentSkip to conversation

ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()

PATCH In review Eric Biggers 3 participants 6 messages Dec 9, 2019 – Jan 20, 2020

Subsystems (3)
lore
Share & tools
lore

Eric Biggers

author maintainer
#0 lore raw

PATCH 1/1 ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()

From: Eric Biggers <[email protected]>

There's no need for the ubifs_crypt_is_encrypted() function anymore. Just use IS_ENCRYPTED() instead, like ext4 and f2fs do. IS_ENCRYPTED() checks the VFS-level flag instead of the UBIFS-specific flag, but it shouldn't change any behavior since the flags are kept in sync.

---
 fs/ubifs/dir.c     | 8 ++++----
 fs/ubifs/file.c    | 4 ++--
 fs/ubifs/journal.c | 6 +++---
 fs/ubifs/ubifs.h   | 7 -------
 4 files changed, 9 insertions(+), 16 deletions(-)
fs/ubifs/dir.c +4 -4
index acc4f942d25b6..636c3222c2308 100644
@@ -81,7 +81,7 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, struct inode *dir,
 	struct ubifs_inode *ui;
 	bool encrypted = false;
 
-	if (ubifs_crypt_is_encrypted(dir)) {
+	if (IS_ENCRYPTED(dir)) {
 		err = fscrypt_get_encryption_info(dir);
 		if (err) {
 			ubifs_err(c, "fscrypt_get_encryption_info failed: %i", err);
@@ -261,7 +261,7 @@ static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,
 		goto done;
 	}
 
-	if (ubifs_crypt_is_encrypted(dir) &&
+	if (IS_ENCRYPTED(dir) &&
 	    (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
 	    !fscrypt_has_permitted_context(dir, inode)) {
 		ubifs_warn(c, "Inconsistent encryption contexts: %lu/%lu",
@@ -499,7 +499,7 @@ static int ubifs_readdir(struct file *file, struct dir_context *ctx)
 	struct ubifs_dent_node *dent;
 	struct inode *dir = file_inode(file);
 	struct ubifs_info *c = dir->i_sb->s_fs_info;
-	bool encrypted = ubifs_crypt_is_encrypted(dir);
+	bool encrypted = IS_ENCRYPTED(dir);
 
 	dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, ctx->pos);
 
@@ -1618,7 +1618,7 @@ int ubifs_getattr(const struct path *path, struct kstat *stat,
 
 static int ubifs_dir_open(struct inode *dir, struct file *file)
 {
-	if (ubifs_crypt_is_encrypted(dir))
+	if (IS_ENCRYPTED(dir))
 		return fscrypt_get_encryption_info(dir) ? -EACCES : 0;
 
 	return 0;
fs/ubifs/file.c +2 -2
index cd52585c8f4fe..c8e8f50c6054f 100644
@@ -67,7 +67,7 @@ static int read_block(struct inode *inode, void *addr, unsigned int block,
 
 	dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
 
-	if (ubifs_crypt_is_encrypted(inode)) {
+	if (IS_ENCRYPTED(inode)) {
 		err = ubifs_decrypt(inode, dn, &dlen, block);
 		if (err)
 			goto dump;
@@ -647,7 +647,7 @@ static int populate_page(struct ubifs_info *c, struct page *page,
 			dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
 			out_len = UBIFS_BLOCK_SIZE;
 
-			if (ubifs_crypt_is_encrypted(inode)) {
+			if (IS_ENCRYPTED(inode)) {
 				err = ubifs_decrypt(inode, dn, &dlen, page_block);
 				if (err)
 					goto out_err;
fs/ubifs/journal.c +3 -3
index 388fe8f5dc51d..a38e18d3ef1d7 100644
@@ -727,7 +727,7 @@ int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
 	int dlen = COMPRESSED_DATA_NODE_BUF_SZ, allocated = 1;
 	int write_len;
 	struct ubifs_inode *ui = ubifs_inode(inode);
-	bool encrypted = ubifs_crypt_is_encrypted(inode);
+	bool encrypted = IS_ENCRYPTED(inode);
 	u8 hash[UBIFS_HASH_ARR_SZ];
 
 	dbg_jnlk(key, "ino %lu, blk %u, len %d, key ",
@@ -1449,7 +1449,7 @@ static int truncate_data_node(const struct ubifs_info *c, const struct inode *in
 	dlen = old_dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
 	compr_type = le16_to_cpu(dn->compr_type);
 
-	if (ubifs_crypt_is_encrypted(inode)) {
+	if (IS_ENCRYPTED(inode)) {
 		err = ubifs_decrypt(inode, dn, &dlen, block);
 		if (err)
 			goto out;
@@ -1465,7 +1465,7 @@ static int truncate_data_node(const struct ubifs_info *c, const struct inode *in
 		ubifs_compress(c, buf, *new_len, &dn->data, &out_len, &compr_type);
 	}
 
-	if (ubifs_crypt_is_encrypted(inode)) {
+	if (IS_ENCRYPTED(inode)) {
 		err = ubifs_encrypt(inode, dn, out_len, &old_dlen, block);
 		if (err)
 			goto out;
fs/ubifs/ubifs.h +0 -7
index c55f212dcb759..bff682309fbef 100644
@@ -2095,13 +2095,6 @@ int ubifs_decrypt(const struct inode *inode, struct ubifs_data_node *dn,
 
 extern const struct fscrypt_operations ubifs_crypt_operations;
 
-static inline bool ubifs_crypt_is_encrypted(const struct inode *inode)
-{
-	const struct ubifs_inode *ui = ubifs_inode(inode);
-
-	return ui->flags & UBIFS_CRYPT_FL;
-}
-
 /* Normal UBIFS messages */
 __printf(2, 3)
 void ubifs_msg(const struct ubifs_info *c, const char *fmt, ...);
Signature · 1 line
2.24.0.393.g34dc348eaf-goog
author maintainer
#1 lore raw
Quoted 7 lines · Eric Biggers

From: Eric Biggers <[email protected]>

There's no need for the ubifs_crypt_is_encrypted() function anymore. Just use IS_ENCRYPTED() instead, like ext4 and f2fs do. IS_ENCRYPTED() checks the VFS-level flag instead of the UBIFS-specific flag, but it shouldn't change any behavior since the flags are kept in sync.

Quoted 7 lines
---
 fs/ubifs/dir.c     | 8 ++++----
 fs/ubifs/file.c    | 4 ++--
 fs/ubifs/journal.c | 6 +++---
 fs/ubifs/ubifs.h   | 7 -------
 4 files changed, 9 insertions(+), 16 deletions(-)

Richard, can you consider applying this to the UBIFS tree for 5.6?

- Eric

#2 lore raw
Quoted 17 lines · Eric Biggers
Quoted 7 lines · Eric Biggers

From: Eric Biggers <[email protected]>

There's no need for the ubifs_crypt_is_encrypted() function anymore. Just use IS_ENCRYPTED() instead, like ext4 and f2fs do. IS_ENCRYPTED() checks the VFS-level flag instead of the UBIFS-specific flag, but it shouldn't change any behavior since the flags are kept in sync.

Quoted 7 lines
---
 fs/ubifs/dir.c     | 8 ++++----
 fs/ubifs/file.c    | 4 ++--
 fs/ubifs/journal.c | 6 +++---
 fs/ubifs/ubifs.h   | 7 -------
 4 files changed, 9 insertions(+), 16 deletions(-)
Quoted 1 line

Richard, can you consider applying this to the UBIFS tree for 5.6?

Sure. I'm back from the x-mas break and start collecting patches.

Signature · 2 lines
Thanks,
//richard
author maintainer
#3 lore raw
Quoted 18 lines · Richard Weinberger
Quoted 17 lines · Eric Biggers
Quoted 14 lines · Eric Biggers

From: Eric Biggers <[email protected]>

There's no need for the ubifs_crypt_is_encrypted() function anymore. Just use IS_ENCRYPTED() instead, like ext4 and f2fs do. IS_ENCRYPTED() checks the VFS-level flag instead of the UBIFS-specific flag, but it shouldn't change any behavior since the flags are kept in sync.

---
 fs/ubifs/dir.c     | 8 ++++----
 fs/ubifs/file.c    | 4 ++--
 fs/ubifs/journal.c | 6 +++---
 fs/ubifs/ubifs.h   | 7 -------
 4 files changed, 9 insertions(+), 16 deletions(-)
Quoted 4 lines
Quoted 1 line

Richard, can you consider applying this to the UBIFS tree for 5.6?

Sure. I'm back from the x-mas break and start collecting patches.

Ping? I see the other UBIFS patches I sent in linux-ubifs.git#linux-next, but not this one.

- Eric

maintainer Acked-by
#4 lore raw

----- Ursprüngliche Mail -----

Quoted 26 lines

Von: "Eric Biggers" <[email protected]>
An: "Richard Weinberger" <[email protected]>
CC: "richard" <[email protected]>, "linux-mtd" <[email protected]>, "linux-fscrypt" <[email protected]>, "Chandan Rajendra" <[email protected]>
Gesendet: Montag, 20. Januar 2020 07:54:22
Betreff: Re: [PATCH] ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()

Quoted 18 lines · Richard Weinberger
Quoted 17 lines · Eric Biggers
Quoted 14 lines · Eric Biggers

From: Eric Biggers <[email protected]>

There's no need for the ubifs_crypt_is_encrypted() function anymore. Just use IS_ENCRYPTED() instead, like ext4 and f2fs do. IS_ENCRYPTED() checks the VFS-level flag instead of the UBIFS-specific flag, but it shouldn't change any behavior since the flags are kept in sync.

---
 fs/ubifs/dir.c     | 8 ++++----
 fs/ubifs/file.c    | 4 ++--
 fs/ubifs/journal.c | 6 +++---
 fs/ubifs/ubifs.h   | 7 -------
 4 files changed, 9 insertions(+), 16 deletions(-)
Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Richard, can you consider applying this to the UBIFS tree for 5.6?

Sure. I'm back from the x-mas break and start collecting patches.

Ping? I see the other UBIFS patches I sent in linux-ubifs.git#linux-next, but not this one.

Oh dear, I reviewed but forgot to apply it. Now I'm already traveling without my kernel.org PGP keys.

The patch is simple and sane, so I'm totally fine if you carry it via fscrypt. Another option is that Miquel carries it via MTD this time.

In any case:

Sorry for messing this up. :-(

Thanks,
//richard

author maintainer
#5 lore raw
Quoted 39 lines · Richard Weinberger

----- Ursprüngliche Mail -----

Quoted 26 lines

Von: "Eric Biggers" <[email protected]>
An: "Richard Weinberger" <[email protected]>
CC: "richard" <[email protected]>, "linux-mtd" <[email protected]>, "linux-fscrypt" <[email protected]>, "Chandan Rajendra" <[email protected]>
Gesendet: Montag, 20. Januar 2020 07:54:22
Betreff: Re: [PATCH] ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()

Quoted 18 lines · Richard Weinberger
Quoted 17 lines · Eric Biggers
Quoted 14 lines · Eric Biggers

From: Eric Biggers <[email protected]>

There's no need for the ubifs_crypt_is_encrypted() function anymore. Just use IS_ENCRYPTED() instead, like ext4 and f2fs do. IS_ENCRYPTED() checks the VFS-level flag instead of the UBIFS-specific flag, but it shouldn't change any behavior since the flags are kept in sync.

---
 fs/ubifs/dir.c     | 8 ++++----
 fs/ubifs/file.c    | 4 ++--
 fs/ubifs/journal.c | 6 +++---
 fs/ubifs/ubifs.h   | 7 -------
 4 files changed, 9 insertions(+), 16 deletions(-)
Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Richard, can you consider applying this to the UBIFS tree for 5.6?

Sure. I'm back from the x-mas break and start collecting patches.

Ping? I see the other UBIFS patches I sent in linux-ubifs.git#linux-next, but not this one.

Oh dear, I reviewed but forgot to apply it. Now I'm already traveling without my kernel.org PGP keys.

Quoted 9 lines

The patch is simple and sane, so I'm totally fine if you carry it via fscrypt. Another option is that Miquel carries it via MTD this time.

In any case:

Sorry for messing this up. :-(

I just went ahead and applied it to the fscrypt tree with your Acked-by, since it doesn't conflict with anything in the UBIFS tree. Thanks,

- Eric