On Aug 12 Clemens Ladisch wrote:
> Send the GUIDs of newly registered controllers and devices
> to the /dev/random driver 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.)
> ---
> drivers/firewire/core-card.c | 3 +++
> drivers/firewire/core-device.c | 3 +++
> 2 files changed, 6 insertions(+), 0 deletions(-)
>
> based on 3.6-rc1
>
> --- a/drivers/firewire/core-card.c
> +++ b/drivers/firewire/core-card.c
> @@ -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);
> --- a/drivers/firewire/core-device.c
> +++ b/drivers/firewire/core-device.c
> @@ -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);
> }
>
> /*
--
Stefan Richter
-=====-===-- =--- -==--
http://arcgraph.de/sr/
Stefan Richter wrote:
> On Aug 12 Clemens Ladisch wrote:
>> Send the GUIDs of newly registered controllers and devices
>> to the /dev/random driver to help seed its pools.
>
> 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.
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.
Signed-off-by: Clemens Ladisch <[email protected]>
---
drivers/firewire/core-device.c | 3 +++
1 file changed, 3 insertions(+), 0 deletions(-)
--- a/drivers/firewire/core-device.c
+++ b/drivers/firewire/core-device.c
@@ -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);
}
/*