[PATCH] smbfs: 'names_cache' memory leak
Data allocated with "__getname()" should always be free'd with "__putname()" because of the AUDITSYSCALL code. Signed-off-by: Davi Arnaut <davi.arnaut@gmail.com> Cc: Urban Widmark <urban@teststation.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
ce44eeb690
commit
53b27584db
@ -45,7 +45,7 @@ static void *smb_follow_link(struct dentry *dentry, struct nameidata *nd)
|
|||||||
int len = smb_proc_read_link(server_from_dentry(dentry),
|
int len = smb_proc_read_link(server_from_dentry(dentry),
|
||||||
dentry, link, PATH_MAX - 1);
|
dentry, link, PATH_MAX - 1);
|
||||||
if (len < 0) {
|
if (len < 0) {
|
||||||
putname(link);
|
__putname(link);
|
||||||
link = ERR_PTR(len);
|
link = ERR_PTR(len);
|
||||||
} else {
|
} else {
|
||||||
link[len] = 0;
|
link[len] = 0;
|
||||||
@ -59,7 +59,7 @@ static void smb_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
|
|||||||
{
|
{
|
||||||
char *s = nd_get_link(nd);
|
char *s = nd_get_link(nd);
|
||||||
if (!IS_ERR(s))
|
if (!IS_ERR(s))
|
||||||
putname(s);
|
__putname(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct inode_operations smb_link_inode_operations =
|
struct inode_operations smb_link_inode_operations =
|
||||||
|
Loading…
Reference in New Issue
Block a user