GFS2: fix error propagation in init_threads()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Wed, 5 Jun 2013 21:29:04 +0000 (01:29 +0400)
committerSteven Whitehouse <swhiteho@redhat.com>
Thu, 6 Jun 2013 08:52:29 +0000 (09:52 +0100)
If kthread_run() fails, init_threads() returns
IS_ERR(p) instead of PTR_ERR(p).

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/ops_fstype.c

index 60ede2a0f43fbc498201cc3262da939110eac0bb..0262c190b6f95c6c7dec1da9a8937db4e0701724 100644 (file)
@@ -916,16 +916,16 @@ static int init_threads(struct gfs2_sbd *sdp, int undo)
                goto fail_quotad;
 
        p = kthread_run(gfs2_logd, sdp, "gfs2_logd");
-       error = IS_ERR(p);
-       if (error) {
+       if (IS_ERR(p)) {
+               error = PTR_ERR(p);
                fs_err(sdp, "can't start logd thread: %d\n", error);
                return error;
        }
        sdp->sd_logd_process = p;
 
        p = kthread_run(gfs2_quotad, sdp, "gfs2_quotad");
-       error = IS_ERR(p);
-       if (error) {
+       if (IS_ERR(p)) {
+               error = PTR_ERR(p);
                fs_err(sdp, "can't start quotad thread: %d\n", error);
                goto fail;
        }