summary refs log tree commit diff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2014-10-04 10:55:32 -0600
committerJens Axboe <axboe@fb.com>2014-10-04 10:55:32 -0600
commitb277da0a8a594308e17881f4926879bd5fca2a2d (patch)
tree1af7df6ade218a4b246dd43a0771701a672c6cb8 /drivers/mmc
parent7b7b7f7e024460cb7d77f8f96b6eb1a8803f94d9 (diff)
downloadlinux-b277da0a8a594308e17881f4926879bd5fca2a2d.tar.gz
block: disable entropy contributions for nonrot devices
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>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/card/queue.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c
index 3e049c13429c..c19bfc1e565a 100644
--- a/drivers/mmc/card/queue.c
+++ b/drivers/mmc/card/queue.c
@@ -210,6 +210,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card,
 
 	blk_queue_prep_rq(mq->queue, mmc_prep_request);
 	queue_flag_set_unlocked(QUEUE_FLAG_NONROT, mq->queue);
+	queue_flag_clear_unlocked(QUEUE_FLAG_ADD_RANDOM, mq->queue);
 	if (mmc_can_erase(card))
 		mmc_queue_setup_discard(mq->queue, card);