lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1494069116-3593-1-git-send-email-dineshkumarb@gmail.com>
Date:   Sat,  6 May 2017 16:41:56 +0530
From:   Dinesh K B <dineshkumarb@...il.com>
To:     linux-kernel@...r.kernel.org, stable@...r.kernel.org
Cc:     Dinesh K B <dineshkumarb@...il.com>,
        Sudip Mukherjee <sudip@...torindia.org>,
        Jens Axboe <axboe@...com>
Subject: [PATCH for stable branch 3.16.y] block: fix wrong error return in elevator_init()

3.16.y review patch. Please let me know if anybody has objections.

-----------------------------------------------------------------------
commit d32f6b57523b6e9b2e39e990e056f9882a6f099a
From: Sudip Mukherjee <sudipm.mukherjee@...il.com>
Date: Thu, 23 Oct 2014 22:16:48 +0530
Subject: block: fix wrong error return in elevator_init()

while compiling integer err was showing as a set but unused variable.
elevator_init_fn can be either cfq_init_queue or deadline_init_queue
or noop_init_queue.
all three of these functions are returning -ENOMEM if they fail to
allocate the queue.
so we should actually be returning the error code rather than
returning 0 always.

Signed-off-by: Sudip Mukherjee <sudip@...torindia.org>
Signed-off-by: Jens Axboe <axboe@...com>

Backported to 3.16.y as is.
Signed-off-by: Dinesh K B <dineshkumarb@...il.com>
---
 block/elevator.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/block/elevator.c b/block/elevator.c
index 24c28b6..afa3b03 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -229,7 +229,9 @@ int elevator_init(struct request_queue *q, char *name)
 	}
 
 	err = e->ops.elevator_init_fn(q, e);
-	return 0;
+	if (err)
+		elevator_put(e);
+	return err;
 }
 EXPORT_SYMBOL(elevator_init);
 
-- 
2.7.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ