public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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
> 

  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