Messages in this thread Patch in this message | | | Date | Mon, 9 Oct 2006 18:40:17 +0200 | From | Luca Tettamanti <> | Subject | [PATCH 2.6.19-git] Fix error handling in create_files() |
| |
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 <kronos.it@gmail.com>
--- 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |