block: disable entropy contributions for nonrot devices
authorMike Snitzer <snitzer@redhat.com>
Sat, 4 Oct 2014 16:55:32 +0000 (10:55 -0600)
committerJens Axboe <axboe@fb.com>
Sat, 4 Oct 2014 16:55:32 +0000 (10:55 -0600)
Clear QUEUE_FLAG_ADD_RANDOM in all block drivers that set
QUEUE_FLAG_NONROT.

Historically, all block devices have automatically made entropy
contributions.  But as previously stated in commit e2e1a148 ("block: add
sysfs knob for turning off disk entropy contributions"):
    - On SSD disks, the completion times aren't as random as they
      are for rotational drives. So it's questionable whether they
      should contribute to the random pool in the first place.
    - Calling add_disk_randomness() has a lot of overhead.

There are more reliable sources for randomness than non-rotational block
devices.  From a security perspective it is better to err on the side of
caution than to allow entropy contributions from unreliable "random"
sources.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
14 files changed:
drivers/block/mtip32xx/mtip32xx.c
drivers/block/nbd.c
drivers/block/null_blk.c
drivers/block/nvme-core.c
drivers/block/rsxx/dev.c
drivers/block/skd_main.c
drivers/block/zram/zram_drv.c
drivers/ide/ide-disk.c
drivers/md/bcache/super.c
drivers/mmc/card/queue.c
drivers/mtd/mtd_blkdevs.c
drivers/s390/block/scm_blk.c
drivers/s390/block/xpram.c
drivers/scsi/sd.c

index db1e956..936f8c1 100644 (file)
@@ -3952,6 +3952,7 @@ skip_create_disk:
 
        /* Set device limits. */
        set_bit(QUEUE_FLAG_NONROT, &dd->queue->queue_flags);
+       clear_bit(QUEUE_FLAG_ADD_RANDOM, &dd->queue->queue_flags);
        blk_queue_max_segments(dd->queue, MTIP_MAX_SG);
        blk_queue_physical_block_size(dd->queue, 4096);
        blk_queue_max_hw_sectors(dd->queue, 0xffff);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge