mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 14:14:24 +08:00
ima: hashing large files bug fix
Hashing files larger than INT_MAX causes process to loop. Dependent on redefining kernel_read() offset type to loff_t. (http://bugzilla.kernel.org/show_bug.cgi?id=13909) Cc: stable@kernel.org Signed-off-by: Mimi Zohar <zohar@us.ibm.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
6777d773a4
commit
16bfa38b19
@ -45,9 +45,9 @@ int ima_calc_hash(struct file *file, char *digest)
|
||||
{
|
||||
struct hash_desc desc;
|
||||
struct scatterlist sg[1];
|
||||
loff_t i_size;
|
||||
loff_t i_size, offset = 0;
|
||||
char *rbuf;
|
||||
int rc, offset = 0;
|
||||
int rc;
|
||||
|
||||
rc = init_desc(&desc);
|
||||
if (rc != 0)
|
||||
@ -67,6 +67,8 @@ int ima_calc_hash(struct file *file, char *digest)
|
||||
rc = rbuf_len;
|
||||
break;
|
||||
}
|
||||
if (rbuf_len == 0)
|
||||
break;
|
||||
offset += rbuf_len;
|
||||
sg_init_one(sg, rbuf, rbuf_len);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user