[U-Boot] [PATCH v2] tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seed

Wolfgang Denk wd at denx.de
Wed Sep 16 14:56:20 CEST 2015


Dear Josh Wu,

In message <1442398864-1312-1-git-send-email-josh.wu at atmel.com> you 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
> 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 at atmel.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(-)

I ran this version through a total of 80,000 runs ; there were no
duplicated addresses found in this test.

Acked-by: Wolfgang Denk <wd at denx.de>
Tested-by: Wolfgang Denk <wd at denx.de>


Thanks!


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Oh dear, I think you'll find reality's on the blink again."
- Marvin The Paranoid Android


More information about the U-Boot mailing list