forked from Minki/linux
configfs: fix memleak in configfs_release_bin_file
When reading binary attributes in progress, buffer->bin_buffer is setup in
configfs_read_bin_file() but never freed.
Fixes: 03607ace80
("configfs: implement binary attributes")
Signed-off-by: Chung-Chiang Cheng <cccheng@synology.com>
[hch: move the vfree rather than duplicating it]
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
7fe1e79b59
commit
3c252b087d
@ -407,13 +407,13 @@ static int configfs_release_bin_file(struct inode *inode, struct file *file)
|
||||
buffer->bin_buffer_size);
|
||||
}
|
||||
up_read(&frag->frag_sem);
|
||||
/* vfree on NULL is safe */
|
||||
vfree(buffer->bin_buffer);
|
||||
buffer->bin_buffer = NULL;
|
||||
buffer->bin_buffer_size = 0;
|
||||
buffer->needs_read_fill = 1;
|
||||
}
|
||||
|
||||
vfree(buffer->bin_buffer);
|
||||
buffer->bin_buffer = NULL;
|
||||
buffer->bin_buffer_size = 0;
|
||||
buffer->needs_read_fill = 1;
|
||||
|
||||
configfs_release(inode, file);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user