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

Commit 05cc0cee authored by Wu Fengguang's avatar Wu Fengguang Committed by Al Viro
Browse files

libfs: return error code on failed attr set



Currently all simple_attr.set handlers return 0 on success and negative
codes on error.  Fix simple_attr_write() to return these error codes.

Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Nick Piggin <npiggin@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7a62cc10
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -739,10 +739,11 @@ ssize_t simple_attr_write(struct file *file, const char __user *buf,
	if (copy_from_user(attr->set_buf, buf, size))
	if (copy_from_user(attr->set_buf, buf, size))
		goto out;
		goto out;


	ret = len; /* claim we got the whole input */
	attr->set_buf[size] = '\0';
	attr->set_buf[size] = '\0';
	val = simple_strtol(attr->set_buf, NULL, 0);
	val = simple_strtol(attr->set_buf, NULL, 0);
	attr->set(attr->data, val);
	ret = attr->set(attr->data, val);
	if (ret == 0)
		ret = len; /* on success, claim we got the whole input */
out:
out:
	mutex_unlock(&attr->mutex);
	mutex_unlock(&attr->mutex);
	return ret;
	return ret;