Pull block fixes from Jens Axboe: - NVMe pull request via Christoph: - keep ctrl->namespaces ordered (Christoph Hellwig) - fix incorrect h2cdata pdu offset accounting in nvme-tcp (Sagi Grimberg) - handled updated hw_queues in nvme-fc more carefully (Daniel Wagner, James Smart) - md lock order fix (Christoph) - fallocate locking fix (Ming) - blktrace UAF fix (Zhihao) - rq-qos bio tracking fix (Ming) * tag 'block-5.15-2021-09-25' of git://git.kernel.dk/linux-block: block: hold ->invalidate_lock in blkdev_fallocate blktrace: Fix uaf in blk_trace access after removing by sysfs block: don't call rq_qos_ops->done_bio if the bio isn't tracked md: fix a lock order reversal in md_alloc nvme: keep ctrl->namespaces ordered nvme-tcp: fix incorrect h2cdata pdu offset accounting nvme-fc: remove freeze/unfreeze around update_nr_hw_queues nvme-fc: avoid race between time out and tear down nvme-fc: update hardware queues before using them
Showing the changes to kernel (1 of 7 files). Show all
Unified · Split
| @@ -1605,6 +1605,14 @@ static int blk_trace_remove_queue(struct request_queue *q) · 1604 unmodified lines | ||
| 1605 | 1605 | if (bt == NULL) |
| 1606 | 1606 | return -EINVAL; |
| 1607 | 1607 | |
| 1608 | + if (bt->trace_state == Blktrace_running) { | |
| 1609 | + bt->trace_state = Blktrace_stopped; | |
| 1610 | + spin_lock_irq(&running_trace_lock); | |
| 1611 | + list_del_init(&bt->running_list); | |
| 1612 | + spin_unlock_irq(&running_trace_lock); | |
| 1613 | + relay_flush(bt->rchan); | |
| 1614 | + } | |
| 1615 | + | |
| 1608 | 1616 | put_probe_ref(); |
| 1609 | 1617 | synchronize_rcu(); |
| 1610 | 1618 | blk_trace_free(bt); |