Blame SOURCES/0011-fs-ecryptfs-remove-BUG_ON-from-crypt_scatterlist.patch

Kmods SIG 1bd144
From c6052f09c14bf0ecdd582662e022eb716f9b8022 Mon Sep 17 00:00:00 2001
Kmods SIG 1bd144
From: Phillip Potter <phil@philpotter.co.uk>
Kmods SIG 1bd144
Date: Mon, 3 May 2021 13:57:16 +0200
Kmods SIG 1bd144
Subject: [Backport c6052f09c14b] fs: ecryptfs: remove BUG_ON from
Kmods SIG 1bd144
 crypt_scatterlist
Kmods SIG 1bd144
Kmods SIG 1bd144
crypt_stat memory itself is allocated when inode is created, in
Kmods SIG 1bd144
ecryptfs_alloc_inode, which returns NULL on failure and is handled
Kmods SIG 1bd144
by callers, which would prevent us getting to this point. It then
Kmods SIG 1bd144
calls ecryptfs_init_crypt_stat which allocates crypt_stat->tfm
Kmods SIG 1bd144
checking for and likewise handling allocation failure. Finally,
Kmods SIG 1bd144
crypt_stat->flags has ECRYPTFS_STRUCT_INITIALIZED merged into it
Kmods SIG 1bd144
in ecryptfs_init_crypt_stat as well.
Kmods SIG 1bd144
Kmods SIG 1bd144
Simply put, the conditions that the BUG_ON checks for will never
Kmods SIG 1bd144
be triggered, as to even get to this function, the relevant conditions
Kmods SIG 1bd144
will have already been fulfilled (or the inode allocation would fail in
Kmods SIG 1bd144
the first place and thus no call to this function or those above it).
Kmods SIG 1bd144
Kmods SIG 1bd144
Cc: Tyler Hicks <code@tyhicks.com>
Kmods SIG 1bd144
Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Kmods SIG 1bd144
Link: https://lore.kernel.org/r/20210503115736.2104747-50-gregkh@linuxfoundation.org
Kmods SIG 1bd144
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kmods SIG 1bd144
---
Kmods SIG 1bd144
 src/crypto.c | 2 --
Kmods SIG 1bd144
 1 file changed, 2 deletions(-)
Kmods SIG 1bd144
Kmods SIG 1bd144
diff --git a/src/crypto.c b/src/crypto.c
Kmods SIG 1bd144
index b1aa993784f777b53cd7d9c126f78e0f20bf5de7..e3f5d7f3c8a0ad12eb04be0c89b1b63910b31d6d 100644
Kmods SIG 1bd144
--- a/src/crypto.c
Kmods SIG 1bd144
+++ b/src/crypto.c
Kmods SIG 1bd144
@@ -296,8 +296,6 @@ static int crypt_scatterlist(struct ecryptfs_crypt_stat *crypt_stat,
Kmods SIG 1bd144
 	struct extent_crypt_result ecr;
Kmods SIG 1bd144
 	int rc = 0;
Kmods SIG 1bd144
 
Kmods SIG 1bd144
-	BUG_ON(!crypt_stat || !crypt_stat->tfm
Kmods SIG 1bd144
-	       || !(crypt_stat->flags & ECRYPTFS_STRUCT_INITIALIZED));
Kmods SIG 1bd144
 	if (unlikely(ecryptfs_verbosity > 0)) {
Kmods SIG 1bd144
 		ecryptfs_printk(KERN_DEBUG, "Key size [%zd]; key:\n",
Kmods SIG 1bd144
 				crypt_stat->key_size);
Kmods SIG 1bd144
-- 
Kmods SIG 1bd144
2.31.1
Kmods SIG 1bd144