Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 15 May 2014 00:17:47 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: c3 format broken w/ OMP on Solaris 11

Solar,

I see a problem on Sparc Solaris 11 w/ gcc 4.5.2 building the crypt(3) 
format with OpenMP. I was testing Jumbo but this is a core problem.

The problem is this pragma:
#pragma omp parallel for default(none) private(index) shared(warned, 
count, crypt_out, saved_key, saved_salt, stderr)

Compiler dies unless I change it do either
#pragma omp parallel for default(none) private(index) shared(warned, 
count, crypt_out, saved_key, saved_salt, __iob)

...or just (That block is '#if __sun' and I'm not 100% sure __iob will 
work on just *any* __sun?)
#pragma omp parallel for


However, after fixing that I still have some problems. First, it does 
not actually seem to use OMP although it prints it does:

Warning: OpenMP is disabled; a non-OpenMP build may be faster
Benchmarking: crypt, generic crypt(3) DES [?/32]... DONE
Many salts:     864 c/s real, 872 c/s virtual
Only one salt:  872 c/s real, 872 c/s virtual

Will run 8 OpenMP threads
Benchmarking: crypt, generic crypt(3) DES [?/32]... (8xOMP) DONE
Many salts:     855 c/s real, 838 c/s virtual
Only one salt:  864 c/s real, 842 c/s virtual


Second, only seen in --test=0 (all formats) runs so far, it sometimes 
just hangs after printing this:
Testing: crypt, generic crypt(3) DES [?/32]... (8xOMP)

It hangs forever with 0% CPU load. I don't actually care about this 
(we're just doing Jumbo BE tests :) but now you have been notified.

BTW the man page on that machine does state that crypt() is MT safe.

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ