firewire: core: feed /dev/random with devices' GUIDs
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 4 lines · On Aug 12 Clemens Ladisch wrote:
Send the GUIDs of newly registered controllers and devices to the
/dev/randomdriver to help seed its pools.Signed-off-by Clemens Ladisch <[email protected]>
This looks good to me, almost. Isn't the call in fw_card_add redundant? The local node's fw_device instance initializer feeds the same GUID, although a little bit later.
(Added CC: lkml and Theodore because I am not overly familiar with this matter.)
Quoted 45 lines
--- drivers/firewire/core-card.c | 3 +++ drivers/firewire/core-device.c | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-)based on 3.6-rc1
drivers/firewire/core-card.c +3
-0@@ -29,6 +29,7 @@#include <linux/list.h> #include <linux/module.h> #include <linux/mutex.h> +#include <linux/random.h> #include <linux/spinlock.h> #include <linux/workqueue.h> @@ -570,6 +571,8 @@ int fw_card_add(struct fw_card *card, card->link_speed = link_speed; card->guid = guid; +add_device_randomness (&guid,sizeof (guid)); +mutex_lock (&card_mutex);generate_config_rom (card, tmp_config_rom);drivers/firewire/core-device.c +3
-0@@ -32,6 +32,7 @@#include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/mutex.h> +#include <linux/random.h> #include <linux/rwsem.h> #include <linux/slab.h> #include <linux/spinlock.h> @@ -1066,6 +1067,8 @@ static void fw_device_init(struct work_struct *work) device->config_rom_retries =0 ;set_broadcast_channel (device, device->generation); + +add_device_randomness (&device->config_rom[3 ],8 ); }/*
Signature · 3 lines
Stefan Richter -=====-===-- =--- -==-- http://arcgraph.de/sr/
Quoted 7 lines · Stefan Richter
Quoted 2 lines · On Aug 12 Clemens Ladisch wrote:
Send the GUIDs of newly registered controllers and devices to the
/dev/randomdriver to help seed its pools.This looks good to me, almost. Isn't the call in
fw_card_addredundant? The local node'sfw_deviceinstance initializer feeds the same GUID, although a little bit later.
Oops, indeed. Just drop that hunk:
--8<---------------------------------------------------------------->8--
firewire: core: feed /dev/random with devices' GUIDs
Send the GUIDs of newly registered controllers and devices to the /dev/random driver to help seed its pools.
--- drivers/firewire/core-device.c | 3 +++ 1 file changed, 3 insertions(+), 0 deletions(-)
drivers/firewire/core-device.c +3 -0
@@ -32,6 +32,7 @@#include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/mutex.h> +#include <linux/random.h> #include <linux/rwsem.h> #include <linux/slab.h> #include <linux/spinlock.h>
@@ -1066,6 +1067,8 @@ static void fw_device_init(struct work_struct *work) device->config_rom_retries =0 ;set_broadcast_channel (device, device->generation); + +add_device_randomness (&device->config_rom[3 ],8 ); }/*