Commit 7cc2a8ea authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'block-5.8-2020-07-01' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe:

 - Use kvfree_sensitive() for the block keyslot free (Eric)

 - Sync blk-mq debugfs flags (Hou)

 - Memory leak fix in virtio-blk error path (Hou)

* tag 'block-5.8-2020-07-01' of git://git.kernel.dk/linux-block:
  virtio-blk: free vblk-vqs in error path of virtblk_probe()
  block/keyslot-manager: use kvfree_sensitive()
  blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags
parents c93493b7 e7eea44e
...@@ -125,6 +125,9 @@ static const char *const blk_queue_flag_name[] = { ...@@ -125,6 +125,9 @@ static const char *const blk_queue_flag_name[] = {
QUEUE_FLAG_NAME(REGISTERED), QUEUE_FLAG_NAME(REGISTERED),
QUEUE_FLAG_NAME(SCSI_PASSTHROUGH), QUEUE_FLAG_NAME(SCSI_PASSTHROUGH),
QUEUE_FLAG_NAME(QUIESCED), QUEUE_FLAG_NAME(QUIESCED),
QUEUE_FLAG_NAME(PCI_P2PDMA),
QUEUE_FLAG_NAME(ZONE_RESETALL),
QUEUE_FLAG_NAME(RQ_ALLOC_TIME),
}; };
#undef QUEUE_FLAG_NAME #undef QUEUE_FLAG_NAME
......
...@@ -374,8 +374,7 @@ void blk_ksm_destroy(struct blk_keyslot_manager *ksm) ...@@ -374,8 +374,7 @@ void blk_ksm_destroy(struct blk_keyslot_manager *ksm)
if (!ksm) if (!ksm)
return; return;
kvfree(ksm->slot_hashtable); kvfree(ksm->slot_hashtable);
memzero_explicit(ksm->slots, sizeof(ksm->slots[0]) * ksm->num_slots); kvfree_sensitive(ksm->slots, sizeof(ksm->slots[0]) * ksm->num_slots);
kvfree(ksm->slots);
memzero_explicit(ksm, sizeof(*ksm)); memzero_explicit(ksm, sizeof(*ksm));
} }
EXPORT_SYMBOL_GPL(blk_ksm_destroy); EXPORT_SYMBOL_GPL(blk_ksm_destroy);
......
...@@ -878,6 +878,7 @@ static int virtblk_probe(struct virtio_device *vdev) ...@@ -878,6 +878,7 @@ static int virtblk_probe(struct virtio_device *vdev)
put_disk(vblk->disk); put_disk(vblk->disk);
out_free_vq: out_free_vq:
vdev->config->del_vqs(vdev); vdev->config->del_vqs(vdev);
kfree(vblk->vqs);
out_free_vblk: out_free_vblk:
kfree(vblk); kfree(vblk);
out_free_index: out_free_index:
......
...@@ -590,6 +590,7 @@ struct request_queue { ...@@ -590,6 +590,7 @@ struct request_queue {
u64 write_hints[BLK_MAX_WRITE_HINTS]; u64 write_hints[BLK_MAX_WRITE_HINTS];
}; };
/* Keep blk_queue_flag_name[] in sync with the definitions below */
#define QUEUE_FLAG_STOPPED 0 /* queue is stopped */ #define QUEUE_FLAG_STOPPED 0 /* queue is stopped */
#define QUEUE_FLAG_DYING 1 /* queue being torn down */ #define QUEUE_FLAG_DYING 1 /* queue being torn down */
#define QUEUE_FLAG_NOMERGES 3 /* disable merge attempts */ #define QUEUE_FLAG_NOMERGES 3 /* disable merge attempts */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment