Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 557411eb authored by Armin Kuster's avatar Armin Kuster Committed by Greg Kroah-Hartman
Browse files

Sysfs: fix possible memleak in sysfs_follow_link



There is the possiblity of a memory leak if a page is allocated and if
sysfs_getlink() fails in the sysfs_follow_link.

Signed-off-by: default avatarArmin Kuster <akuster@mvista.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b22813b3
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -192,8 +192,11 @@ static void *sysfs_follow_link(struct dentry *dentry, struct nameidata *nd)
{
	int error = -ENOMEM;
	unsigned long page = get_zeroed_page(GFP_KERNEL);
	if (page)
	if (page) {
		error = sysfs_getlink(dentry, (char *) page); 
		if (error < 0)
			free_page((unsigned long)page);
	}
	nd_set_link(nd, error ? ERR_PTR(error) : (char *)page);
	return NULL;
}