Message ID | 530D5249.4020005@huawei.com |
---|---|
State | Not Applicable, archived |
Headers | show |
On Wed 26-02-14 10:32:41, ZhangZhen wrote: > Many of the uses of get_random_bytes() do not actually need > cryptographically secure random numbers. Replace those uses with a > call to prandom_u32(), which is faster and which doesn't consume > entropy from the /dev/random driver. > > The commit dd1f723bf56bd96efc9d90e9e60dc511c79de48f has made that for > ext4, and i did the same for ext2/3. Thanks. I've merged the patch to my tree. Honza > > Signed-off-by: Zhang Zhen <zhenzhang.zhang@huawei.com> > --- > fs/ext2/ialloc.c | 2 +- > fs/ext3/ialloc.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c > index 7cadd82..32f131a 100644 > --- a/fs/ext2/ialloc.c > +++ b/fs/ext2/ialloc.c > @@ -284,7 +284,7 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) > int best_ndir = inodes_per_group; > int best_group = -1; > > - get_random_bytes(&group, sizeof(group)); > + grp = prandom_u32(); > parent_group = (unsigned)group % ngroups; > for (i = 0; i < ngroups; i++) { > group = (parent_group + i) % ngroups; > diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c > index 082afd7..60e63e3 100644 > --- a/fs/ext3/ialloc.c > +++ b/fs/ext3/ialloc.c > @@ -215,7 +215,7 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) > int best_ndir = inodes_per_group; > int best_group = -1; > > - get_random_bytes(&group, sizeof(group)); > + grp = prandom_u32(); > parent_group = (unsigned)group % ngroups; > for (i = 0; i < ngroups; i++) { > group = (parent_group + i) % ngroups; > -- > 1.8.1.4 > > > . > > > >
diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c index 7cadd82..32f131a 100644 --- a/fs/ext2/ialloc.c +++ b/fs/ext2/ialloc.c @@ -284,7 +284,7 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) int best_ndir = inodes_per_group; int best_group = -1; - get_random_bytes(&group, sizeof(group)); + grp = prandom_u32(); parent_group = (unsigned)group % ngroups; for (i = 0; i < ngroups; i++) { group = (parent_group + i) % ngroups; diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c index 082afd7..60e63e3 100644 --- a/fs/ext3/ialloc.c +++ b/fs/ext3/ialloc.c @@ -215,7 +215,7 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) int best_ndir = inodes_per_group; int best_group = -1; - get_random_bytes(&group, sizeof(group)); + grp = prandom_u32(); parent_group = (unsigned)group % ngroups; for (i = 0; i < ngroups; i++) { group = (parent_group + i) % ngroups;
Many of the uses of get_random_bytes() do not actually need cryptographically secure random numbers. Replace those uses with a call to prandom_u32(), which is faster and which doesn't consume entropy from the /dev/random driver. The commit dd1f723bf56bd96efc9d90e9e60dc511c79de48f has made that for ext4, and i did the same for ext2/3. Signed-off-by: Zhang Zhen <zhenzhang.zhang@huawei.com> --- fs/ext2/ialloc.c | 2 +- fs/ext3/ialloc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)