From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lithops.sigma-star.at ([195.201.40.130]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fuN26-0005JB-QT for linux-mtd@lists.infradead.org; Mon, 27 Aug 2018 19:18:40 +0000 From: Richard Weinberger To: Sascha Hauer Cc: linux-mtd@lists.infradead.org, David Gstir , kernel@pengutronix.de, linux-kernel@vger.kernel.org Subject: Re: [PATCH 12/25] ubifs: Add hashes to the tree node cache Date: Mon, 27 Aug 2018 21:18:25 +0200 Message-ID: <3260968.WmIi4lir0Q@blindfold> In-Reply-To: <20180704124137.13396-13-s.hauer@pengutronix.de> References: <20180704124137.13396-1-s.hauer@pengutronix.de> <20180704124137.13396-13-s.hauer@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Am Mittwoch, 4. Juli 2018, 14:41:24 CEST schrieb Sascha Hauer: > As part of the UBIFS authentication support every branch in the index > gets a hash covering the referenced node. To make that happen the tree > node cache needs hashes over the nodes. This patch adds a hash argument > to ubifs_tnc_add() and ubifs_tnc_add_nm(). The hashes are calculated > from the callers of these functions which actually prepare the nodes. > With this patch all the leaf nodes of the index tree get hashes, but > currently nothing is done with these hashes, this is left for a later > patch. > > Signed-off-by: Sascha Hauer > --- > fs/ubifs/journal.c | 93 ++++++++++++++++++++++++++++++++++------------ > fs/ubifs/replay.c | 4 +- > fs/ubifs/tnc.c | 10 ++++- > fs/ubifs/ubifs.h | 7 +++- > 4 files changed, 84 insertions(+), 30 deletions(-) > > diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c > index 754d969eb27e..55b35bc33c31 100644 > --- a/fs/ubifs/journal.c > +++ b/fs/ubifs/journal.c > @@ -517,6 +517,9 @@ int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir, > struct ubifs_dent_node *dent; > struct ubifs_ino_node *ino; > union ubifs_key dent_key, ino_key; > + u8 hash_dent[UBIFS_MAX_HASH_LEN]; > + u8 hash_ino[UBIFS_MAX_HASH_LEN]; > + u8 hash_ino_host[UBIFS_MAX_HASH_LEN]; With authentication enabled, this makes perfectly sense. But if someone builds UBIFS without and has a memory constraint system, we could save by setting UBIFS_MAX_HASH_LEN to 0. What do you think? Although, we need another define to not influence ubifs-media.h. Thanks, //richard