mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	block: initialize current->bio_list[1] in __submit_bio_noacct_mq
bio_alloc_bioset references current->bio_list[1], so we need to
initialize it for the blk-mq submission path as well.
Fixes: ff93ea0ce7 ("block: shortcut __submit_bio_noacct for blk-mq drivers")
Reported-by: Qian Cai <cai@lca.pw>
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
			
			
This commit is contained in:
		
							parent
							
								
									4e2f62e566
								
							
						
					
					
						commit
						7c792f33c1
					
				
					 1 changed files with 3 additions and 4 deletions
				
			
		|  | @ -1155,11 +1155,10 @@ static blk_qc_t __submit_bio_noacct(struct bio *bio) | ||||||
| static blk_qc_t __submit_bio_noacct_mq(struct bio *bio) | static blk_qc_t __submit_bio_noacct_mq(struct bio *bio) | ||||||
| { | { | ||||||
| 	struct gendisk *disk = bio->bi_disk; | 	struct gendisk *disk = bio->bi_disk; | ||||||
| 	struct bio_list bio_list; | 	struct bio_list bio_list[2] = { }; | ||||||
| 	blk_qc_t ret = BLK_QC_T_NONE; | 	blk_qc_t ret = BLK_QC_T_NONE; | ||||||
| 
 | 
 | ||||||
| 	bio_list_init(&bio_list); | 	current->bio_list = bio_list; | ||||||
| 	current->bio_list = &bio_list; |  | ||||||
| 
 | 
 | ||||||
| 	do { | 	do { | ||||||
| 		WARN_ON_ONCE(bio->bi_disk != disk); | 		WARN_ON_ONCE(bio->bi_disk != disk); | ||||||
|  | @ -1174,7 +1173,7 @@ static blk_qc_t __submit_bio_noacct_mq(struct bio *bio) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		ret = blk_mq_submit_bio(bio); | 		ret = blk_mq_submit_bio(bio); | ||||||
| 	} while ((bio = bio_list_pop(&bio_list))); | 	} while ((bio = bio_list_pop(&bio_list[0]))); | ||||||
| 
 | 
 | ||||||
| 	current->bio_list = NULL; | 	current->bio_list = NULL; | ||||||
| 	return ret; | 	return ret; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig