[PATCH 2.6.19-git] Fix error handling in create_files()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,
current code in create_files() detects an error iff the last
sysfs_add_file fails:

for (attr = grp->attrs; *attr && !error; attr++) {
        error = sysfs_add_file(dir, *attr, SYSFS_KOBJ_ATTR);
}
if (error)
        remove_files(dir,grp);

In order to do the proper cleanup upon failure 'error' must be checked on
every iteration.

Signed-Off-By: Luca Tettamanti <[email protected]>

---
 fs/sysfs/group.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c
index 122145b..1c490d6 100644
--- a/fs/sysfs/group.c
+++ b/fs/sysfs/group.c
@@ -33,6 +33,8 @@ static int create_files(struct dentry * 
 
 	for (attr = grp->attrs; *attr && !error; attr++) {
 		error = sysfs_add_file(dir, *attr, SYSFS_KOBJ_ATTR);
+		if (error)
+			break;
 	}
 	if (error)
 		remove_files(dir,grp);


Luca
-- 
Recursion n.:
	See Recursion.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux