diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-09-07 14:36:39 +0200 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2018-10-23 13:48:47 +0200 |
commit | a1dc58140f7e63e3b23050eb43b4e5581cb28c88 (patch) | |
tree | ff4e138d447d33dfe7a7a0bdf2ac67fe3c62a141 /fs/ubifs/lpt_commit.c | |
parent | ubifs: Authenticate replayed journal (diff) | |
download | linux-a1dc58140f7e63e3b23050eb43b4e5581cb28c88.tar.xz linux-a1dc58140f7e63e3b23050eb43b4e5581cb28c88.zip |
ubifs: authentication: Authenticate LPT
The LPT needs to be authenticated aswell. Since the LPT is only written
during commit it is enough to authenticate the whole LPT with a single
hash which is stored in the master node. Only the leaf nodes (pnodes)
are hashed which makes the implementation much simpler than it would be
to hash the complete LPT.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'fs/ubifs/lpt_commit.c')
-rw-r--r-- | fs/ubifs/lpt_commit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ubifs/lpt_commit.c b/fs/ubifs/lpt_commit.c index 62d6a87d4f5d..1f88caffdf2a 100644 --- a/fs/ubifs/lpt_commit.c +++ b/fs/ubifs/lpt_commit.c @@ -1247,6 +1247,10 @@ int ubifs_lpt_start_commit(struct ubifs_info *c) if (err) goto out; + err = ubifs_lpt_calc_hash(c, c->mst_node->hash_lpt); + if (err) + goto out; + /* Copy the LPT's own lprops for end commit to write */ memcpy(c->ltab_cmt, c->ltab, sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs); |