Re: [PATCH 12/25] ubifs: Add hashes to the tree node cache

From: Richard Weinberger
Date: Mon Aug 27 2018 - 15:18:31 EST


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 <s.hauer@xxxxxxxxxxxxxx>
> ---
> 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