Fix cred leak in zpl_fallocate_common
This is caught by kmemleak when running compress_004_pos Reviewed-by: Tim Chase <tim@chase2k.com> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Chunwei Chen <david.chen@osnexus.com> Closes #5244 Closes #5330
This commit is contained in:
parent
ffcd0c5434
commit
734e235f67
|
@ -658,8 +658,6 @@ zpl_fallocate_common(struct inode *ip, int mode, loff_t offset, loff_t len)
|
|||
if (mode != (FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE))
|
||||
return (error);
|
||||
|
||||
crhold(cr);
|
||||
|
||||
if (offset < 0 || len <= 0)
|
||||
return (-EINVAL);
|
||||
|
||||
|
@ -678,6 +676,7 @@ zpl_fallocate_common(struct inode *ip, int mode, loff_t offset, loff_t len)
|
|||
bf.l_len = len;
|
||||
bf.l_pid = 0;
|
||||
|
||||
crhold(cr);
|
||||
cookie = spl_fstrans_mark();
|
||||
error = -zfs_space(ip, F_FREESP, &bf, FWRITE, offset, cr);
|
||||
spl_fstrans_unmark(cookie);
|
||||
|
|
Loading…
Reference in New Issue