]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
ext4: check return value of kstrtoull correctly in reserved_clusters_store
authorChao Yu <yuchao0@huawei.com>
Fri, 23 Jun 2017 05:08:22 +0000 (01:08 -0400)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Fri, 11 Aug 2017 10:36:55 +0000 (12:36 +0200)
BugLink: http://bugs.launchpad.net/bugs/1705238
commit 1ea1516fbbab2b30bf98c534ecaacba579a35208 upstream.

kstrtoull returns 0 on success, however, in reserved_clusters_store we
will return -EINVAL if kstrtoull returns 0, it makes us fail to update
reserved_clusters value through sysfs.

Fixes: 76d33bca5581b1dd5c3157fa168db849a784ada4
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
fs/ext4/sysfs.c

index 5d09ea585840a316257394b193f84e66d8fc5546..c2ee23acf35947f503bd2765de4f88fbb261da7e 100644 (file)
@@ -100,7 +100,7 @@ static ssize_t reserved_clusters_store(struct ext4_attr *a,
        int ret;
 
        ret = kstrtoull(skip_spaces(buf), 0, &val);
-       if (!ret || val >= clusters)
+       if (ret || val >= clusters)
                return -EINVAL;
 
        atomic64_set(&sbi->s_resv_clusters, val);