diff options
author | Richard Weinberger <richard@nod.at> | 2016-10-16 19:51:51 +0200 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2016-12-12 23:07:38 +0100 |
commit | cc41a536524fba126ab11c41a866cf9037adbaf8 (patch) | |
tree | 042f64e44bfc4b8f28cc81228998ecc90e93d757 /fs | |
parent | 528e3d178f257e36001345d4d61ae5af35422017 (diff) | |
download | linux-cc41a536524fba126ab11c41a866cf9037adbaf8.tar.bz2 |
ubifs: Use a random number for cookies
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ubifs/journal.c | 3 | ||||
-rw-r--r-- | fs/ubifs/ubifs.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c index 0698cccc6223..88d33775f18b 100644 --- a/fs/ubifs/journal.c +++ b/fs/ubifs/journal.c @@ -589,6 +589,7 @@ int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir, dent->nlen = cpu_to_le16(fname_len(nm)); memcpy(dent->name, fname_name(nm), fname_len(nm)); dent->name[fname_len(nm)] = '\0'; + dent->cookie = prandom_u32(); zero_dent_node_unused(dent); ubifs_prep_grp_node(c, dent, dlen, 0); @@ -1124,6 +1125,7 @@ int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir, dent->nlen = cpu_to_le16(fname_len(new_nm)); memcpy(dent->name, fname_name(new_nm), fname_len(new_nm)); dent->name[fname_len(new_nm)] = '\0'; + dent->cookie = prandom_u32(); zero_dent_node_unused(dent); ubifs_prep_grp_node(c, dent, dlen1, 0); @@ -1142,6 +1144,7 @@ int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir, dent2->nlen = cpu_to_le16(fname_len(old_nm)); memcpy(dent2->name, fname_name(old_nm), fname_len(old_nm)); dent2->name[fname_len(old_nm)] = '\0'; + dent2->cookie = prandom_u32(); zero_dent_node_unused(dent2); ubifs_prep_grp_node(c, dent2, dlen2, 0); diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h index a80610758543..9be71b6a4cd2 100644 --- a/fs/ubifs/ubifs.h +++ b/fs/ubifs/ubifs.h @@ -39,6 +39,7 @@ #include <linux/security.h> #include <linux/xattr.h> #include <linux/fscrypto.h> +#include <linux/random.h> #include "ubifs-media.h" /* Version of this UBIFS implementation */ |