All of lore.kernel.org
 help / color / mirror / Atom feed
* block: free q->flush_rq in blk_init_allocated_queue error paths.
       [not found] <20140318010053.D08A2660CC5@gitolite.kernel.org>
@ 2014-03-19 19:12 ` Dave Jones
  2014-03-19 19:22   ` Mike Snitzer
  0 siblings, 1 reply; 3+ messages in thread
From: Dave Jones @ 2014-03-19 19:12 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: snitzer, axboe

Commit 7982e90c3a ("block: fix q->flush_rq NULL pointer crash on dm-mpath flush")
moved an allocation to blk_init_allocated_queue(), but neglected to free
that allocation on the error paths that follow.

Signed-off-by: Dave Jones <davej@fedoraproject.org>

diff --git a/block/blk-core.c b/block/blk-core.c
index 4cd5ffc18442..bfe16d5af9f9 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -713,7 +713,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
 		return NULL;
 
 	if (blk_init_rl(&q->root_rl, q, GFP_KERNEL))
-		return NULL;
+		goto fail;
 
 	q->request_fn		= rfn;
 	q->prep_rq_fn		= NULL;
@@ -737,12 +737,16 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
 	/* init elevator */
 	if (elevator_init(q, NULL)) {
 		mutex_unlock(&q->sysfs_lock);
-		return NULL;
+		goto fail;
 	}
 
 	mutex_unlock(&q->sysfs_lock);
 
 	return q;
+
+fail:
+	kfree(q->flush_rq);
+	return NULL;
 }
 EXPORT_SYMBOL(blk_init_allocated_queue);
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: block: free q->flush_rq in blk_init_allocated_queue error paths.
  2014-03-19 19:12 ` block: free q->flush_rq in blk_init_allocated_queue error paths Dave Jones
@ 2014-03-19 19:22   ` Mike Snitzer
  2014-03-20 14:34     ` Jens Axboe
  0 siblings, 1 reply; 3+ messages in thread
From: Mike Snitzer @ 2014-03-19 19:22 UTC (permalink / raw)
  To: Dave Jones, Linux Kernel Mailing List, axboe

On Wed, Mar 19 2014 at  3:12pm -0400,
Dave Jones <davej@redhat.com> wrote:

> Commit 7982e90c3a ("block: fix q->flush_rq NULL pointer crash on dm-mpath flush")
> moved an allocation to blk_init_allocated_queue(), but neglected to free
> that allocation on the error paths that follow.
> 
> Signed-off-by: Dave Jones <davej@fedoraproject.org>

Ngh.. thanks Dave!

/me hangs his head in shame...

Acked-by: Mike Snitzer <snitzer@redhat.com>

Jens, really sorry about this oversight.  I can take it on the chin and
pick this up for Linus to take this week from linux-dm.git.  Your call.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: block: free q->flush_rq in blk_init_allocated_queue error paths.
  2014-03-19 19:22   ` Mike Snitzer
@ 2014-03-20 14:34     ` Jens Axboe
  0 siblings, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2014-03-20 14:34 UTC (permalink / raw)
  To: Mike Snitzer, Dave Jones, Linux Kernel Mailing List

On 03/19/2014 01:22 PM, Mike Snitzer wrote:
> On Wed, Mar 19 2014 at  3:12pm -0400,
> Dave Jones <davej@redhat.com> wrote:
>
>> Commit 7982e90c3a ("block: fix q->flush_rq NULL pointer crash on dm-mpath flush")
>> moved an allocation to blk_init_allocated_queue(), but neglected to free
>> that allocation on the error paths that follow.
>>
>> Signed-off-by: Dave Jones <davej@fedoraproject.org>
>
> Ngh.. thanks Dave!
>
> /me hangs his head in shame...
>
> Acked-by: Mike Snitzer <snitzer@redhat.com>
>
> Jens, really sorry about this oversight.  I can take it on the chin and
> pick this up for Linus to take this week from linux-dm.git.  Your call.

No worries, I'll shove it off to Linus today. Then I can punch you on 
the chin next week.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-03-20 14:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20140318010053.D08A2660CC5@gitolite.kernel.org>
2014-03-19 19:12 ` block: free q->flush_rq in blk_init_allocated_queue error paths Dave Jones
2014-03-19 19:22   ` Mike Snitzer
2014-03-20 14:34     ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.