From: Alexey Khoroshilov <[email protected]>

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 <[email protected]>
Signed-off-by: Steven Whitehouse <[email protected]>

diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 60ede2a..0262c19 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -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;
        }
-- 
1.7.4

Reply via email to