From: "Andreas Bießmann" <andreas.devel@googlemail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed
Date: Wed, 16 Sep 2015 12:29:43 +0200 [thread overview]
Message-ID: <55F94497.6080204@gmail.com> (raw)
In-Reply-To: <1442398864-1312-1-git-send-email-josh.wu@atmel.com>
On 09/16/2015 12:21 PM, Josh Wu wrote:
> As 'time(0) | getpid()' will have a lot of duplicated value. It is not a
> expected behavior. We expect different value for the seed when when run
when when ... could be fixed when applied
> it in many times.
>
> So this patch will left shift the getpid() and add to time(0). That
> avoid duplicated value.
>
> Test command is like:
> % RUN=0; while [ $RUN -lt 10000 ]; do
> tools/gen_eth_addr; RUN=$(($RUN+1)); done | sort | uniq | wc -l
> 10000
>
> This patch is incorporated with suggestions made by Wolfgang Denk and Andreas
> Bie?mann. Thanks them a lot.
>
> Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Andreas Bie?mann <andreas.devel@googlemail.com>
> ---
>
> Changes in v2:
> - left shift and add the getpid() value instead of removing it.
>
> tools/gen_eth_addr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/gen_eth_addr.c b/tools/gen_eth_addr.c
> index bf9d935..5fa3e0c 100644
> --- a/tools/gen_eth_addr.c
> +++ b/tools/gen_eth_addr.c
> @@ -15,7 +15,7 @@ main(int argc, char *argv[])
> {
> unsigned long ethaddr_low, ethaddr_high;
>
> - srand(time(0) | getpid());
> + srand(time(0) + (getpid() << 8));
>
> /*
> * setting the 2nd LSB in the most significant byte of
>
next prev parent reply other threads:[~2015-09-16 10:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-16 10:21 [U-Boot] [PATCH v2] tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed Josh Wu
2015-09-16 10:29 ` Andreas Bießmann [this message]
2015-09-16 12:56 ` Wolfgang Denk
2015-09-28 21:08 ` [U-Boot] [U-Boot, " Tom Rini
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=55F94497.6080204@gmail.com \
--to=andreas.devel@googlemail.com \
--cc=u-boot@lists.denx.de \
/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