diff options
author | Mike Snitzer <snitzer@redhat.com> | 2014-10-04 12:55:32 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-10-04 12:55:32 -0400 |
commit | b277da0a8a594308e17881f4926879bd5fca2a2d (patch) | |
tree | 1af7df6ade218a4b246dd43a0771701a672c6cb8 /drivers/block/skd_main.c | |
parent | 7b7b7f7e024460cb7d77f8f96b6eb1a8803f94d9 (diff) |
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/block/skd_main.c')
-rw-r--r-- | drivers/block/skd_main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c index 8fcdcfb4b472..1e46eb2305c0 100644 --- a/drivers/block/skd_main.c +++ b/drivers/block/skd_main.c | |||
@@ -4426,6 +4426,7 @@ static int skd_cons_disk(struct skd_device *skdev) | |||
4426 | q->limits.discard_zeroes_data = 1; | 4426 | q->limits.discard_zeroes_data = 1; |
4427 | queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, q); | 4427 | queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, q); |
4428 | queue_flag_set_unlocked(QUEUE_FLAG_NONROT, q); | 4428 | queue_flag_set_unlocked(QUEUE_FLAG_NONROT, q); |
4429 | queue_flag_clear_unlocked(QUEUE_FLAG_ADD_RANDOM, q); | ||
4429 | 4430 | ||
4430 | spin_lock_irqsave(&skdev->lock, flags); | 4431 | spin_lock_irqsave(&skdev->lock, flags); |
4431 | pr_debug("%s:%s:%d stopping %s queue\n", | 4432 | pr_debug("%s:%s:%d stopping %s queue\n", |