mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	block: free q->flush_rq in blk_init_allocated_queue error paths
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>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
			
			
This commit is contained in:
		
							parent
							
								
									11d4616bd0
								
							
						
					
					
						commit
						708f04d2ab
					
				
					 1 changed files with 6 additions and 2 deletions
				
			
		|  | @ -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); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Dave Jones
						Dave Jones