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

Commit 77fa100f authored by Tony Asleson's avatar Tony Asleson Committed by Jens Axboe
Browse files

bcache: Correct return value for sysfs attach errors



If you encounter any errors in bch_cached_dev_attach it will return
a negative error code.  The variable 'v' which stores the result is
unsigned, thus user space sees a very large value returned for bytes
written which can cause incorrect user space behavior.  Utilize 1
signed variable to use throughout the function to preserve error return
capability.

Signed-off-by: default avatarTony Asleson <tasleson@redhat.com>
Acked-by: default avatarColy Li <colyli@suse.de>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a8394090
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ STORE(__cached_dev)
{
	struct cached_dev *dc = container_of(kobj, struct cached_dev,
					     disk.kobj);
	unsigned v = size;
	ssize_t v = size;
	struct cache_set *c;
	struct kobj_uevent_env *env;

@@ -227,7 +227,7 @@ STORE(__cached_dev)
		bch_cached_dev_run(dc);

	if (attr == &sysfs_cache_mode) {
		ssize_t v = bch_read_string_list(buf, bch_cache_modes + 1);
		v = bch_read_string_list(buf, bch_cache_modes + 1);

		if (v < 0)
			return v;