Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1636872 > unrolled thread
| Started by | Dinesh K B <dineshkumarb@gmail.com> |
|---|---|
| First post | 2017-05-06 13:20 +0200 |
| Last post | 2017-05-06 13:20 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH for stable branch 3.16.y] block: fix wrong error return in elevator_init() Dinesh K B <dineshkumarb@gmail.com> - 2017-05-06 13:20 +0200
| From | Dinesh K B <dineshkumarb@gmail.com> |
|---|---|
| Date | 2017-05-06 13:20 +0200 |
| Subject | [PATCH for stable branch 3.16.y] block: fix wrong error return in elevator_init() |
| Message-ID | <tE5UK-7mM-1@gated-at.bofh.it> |
3.16.y review patch. Please let me know if anybody has objections. ----------------------------------------------------------------------- commit d32f6b57523b6e9b2e39e990e056f9882a6f099a From: Sudip Mukherjee <sudipm.mukherjee@gmail.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@vectorindia.org> Signed-off-by: Jens Axboe <axboe@fb.com> Backported to 3.16.y as is. Signed-off-by: Dinesh K B <dineshkumarb@gmail.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
Back to top | Article view | linux.kernel
csiph-web