linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Niccolo Rigacci <niccolo@texnet.it>
To: linux-raid@vger.kernel.org
Subject: Re: Forcing a more random uuid (random seed bug)
Date: Wed, 2 Feb 2005 14:33:41 +0100	[thread overview]
Message-ID: <200502021433.42108.niccolo@texnet.it> (raw)
In-Reply-To: <200502011847.39444.niccolo@texnet.it>

> I get /dev/md5, /dev/md6, /dev/md7
> and /dev/md8 all with the same UUID!

It seems that there is a bug in mdadm: when generating the UUID for a 
volume, the random() function is called, but the random sequence is never 
initialized.

The result is that every volume created with mdadm has an uuid of:
6b8b4567:327b23c6:643c9869:66334873

See also Debian bug 292784 at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=292784

I fixed the problem adding the following patch to mdadm.c, but please bear 
in mind that I'm totally unaware of mdadm code and quite naive in C 
programming:

$ diff -u mdadm.c.orig mdadm.c
--- mdadm.c.orig        2004-11-02 06:11:06.000000000 +0100
+++ mdadm.c     2005-02-02 14:27:55.000000000 +0100
@@ -86,6 +86,15 @@
        ident.super_minor= UnSet;
        ident.devices=0;

+        int my_fd;
+        unsigned int my_seed;
+        if ((my_fd = open("/dev/random", O_RDONLY)) != -1) {
+            if (read(my_fd, &my_seed, sizeof(my_seed)) == sizeof(my_seed)) 
{
+                srandom(my_seed);
+            }
+            close(my_fd);
+        }
+
        while ((option_index = -1) ,
               (opt=getopt_long(argc, argv,
                                short_options, long_options,




-- 
Niccolo Rigacci
http://www.texnet.it/

  reply	other threads:[~2005-02-02 13:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-01 17:47 Forcing a more random uuid Niccolo Rigacci
2005-02-02 13:33 ` Niccolo Rigacci [this message]
2005-02-22 23:55   ` Forcing a more random uuid (random seed bug) H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2005-02-08 14:05 linux
2005-02-22 23:58 ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200502021433.42108.niccolo@texnet.it \
    --to=niccolo@texnet.it \
    --cc=linux-raid@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).