Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe:
"Three small fixes that have been picked up the last few weeks.
Specifically:

- Fix a memory corruption issue in NVMe with malignant user
constructed request. From Christoph.

- Kill (now) unused blk_queue_bio(), dm was changed to not need this
anymore. From Mike Snitzer.

- Always use blk_schedule_flush_plug() from the io_schedule() path
when flushing a plug, fixing a !TASK_RUNNING warning with md. From
Shaohua"

* 'for-linus' of git://git.kernel.dk/linux-block:
sched: always use blk_schedule_flush_plug in io_schedule_out
nvme: fix kernel memory corruption with short INQUIRY buffers
block: remove export for blk_queue_bio

+6 -9
+3 -2
block/blk-core.c
··· 734 734 } 735 735 EXPORT_SYMBOL(blk_init_queue_node); 736 736 737 + static void blk_queue_bio(struct request_queue *q, struct bio *bio); 738 + 737 739 struct request_queue * 738 740 blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn, 739 741 spinlock_t *lock) ··· 1580 1578 blk_rq_bio_prep(req->q, req, bio); 1581 1579 } 1582 1580 1583 - void blk_queue_bio(struct request_queue *q, struct bio *bio) 1581 + static void blk_queue_bio(struct request_queue *q, struct bio *bio) 1584 1582 { 1585 1583 const bool sync = !!(bio->bi_rw & REQ_SYNC); 1586 1584 struct blk_plug *plug; ··· 1688 1686 spin_unlock_irq(q->queue_lock); 1689 1687 } 1690 1688 } 1691 - EXPORT_SYMBOL_GPL(blk_queue_bio); /* for device mapper only */ 1692 1689 1693 1690 /* 1694 1691 * If bio->bi_dev is a partition, remap the location
+2 -1
drivers/block/nvme-scsi.c
··· 2257 2257 page_code = GET_INQ_PAGE_CODE(cmd); 2258 2258 alloc_len = GET_INQ_ALLOC_LENGTH(cmd); 2259 2259 2260 - inq_response = kmalloc(alloc_len, GFP_KERNEL); 2260 + inq_response = kmalloc(max(alloc_len, STANDARD_INQUIRY_LENGTH), 2261 + GFP_KERNEL); 2261 2262 if (inq_response == NULL) { 2262 2263 res = -ENOMEM; 2263 2264 goto out_mem;
-2
include/linux/blkdev.h
··· 821 821 extern int sg_scsi_ioctl(struct request_queue *, struct gendisk *, fmode_t, 822 822 struct scsi_ioctl_command __user *); 823 823 824 - extern void blk_queue_bio(struct request_queue *q, struct bio *bio); 825 - 826 824 /* 827 825 * A queue has just exitted congestion. Note this in the global counter of 828 826 * congested queues, and wake up anyone who was waiting for requests to be
+1 -4
kernel/sched/core.c
··· 4389 4389 long ret; 4390 4390 4391 4391 current->in_iowait = 1; 4392 - if (old_iowait) 4393 - blk_schedule_flush_plug(current); 4394 - else 4395 - blk_flush_plug(current); 4392 + blk_schedule_flush_plug(current); 4396 4393 4397 4394 delayacct_blkio_start(); 4398 4395 rq = raw_rq();