As a temporary workaround, you might try defining __NR_getrandom to the 
appropriate system call number, although it looks like the extra efforts to get 
past the other preprocessor check ing rand_unit.c could get ugly.

What about defining your our getrandom function in your application that calls 
the system call?  The linker should find that before glibc’s.


Pauli
-- 
Dr Paul Dale | Distinguished Architect | Cryptographic Foundations 
Phone +61 7 3031 7217
Oracle Australia




> On 12 Sep 2019, at 1:48 am, Michael Brunnbauer <bru...@netestate.de> wrote:
> 
> 
> hi all,
> 
> I have glibc 2.30 with Kernel 4.9.191 but unfortunately I compiled glibc with
> old Kernel headers from Linux 3.16.46. It seems that as a result of this, my 
> getrandom() and getentropy() are stubs that always fail with ENOSYS. This 
> leads to:
> 
> ./util/shlib_wrap.sh apps/openssl rand -hex 10
> 4145686272:error:2406C06E:random number generator:RAND_DRBG_instantiate:error 
> retrieving entropy:crypto/rand/drbg_lib.c:342:
> ...
> 
> Fine I thought, supply --with-rand-seed=devrandom to Configure and be done
> with it until you can fix your glibc. Nope - same result.
> 
> Now I see this in e_os.h:
> 
> /*
> * Linux kernels 4.8 and later changes how their random device works and there
> * is no reliable way to tell that /dev/urandom has been seeded -- 
> getentropy(2)
> * should be used instead.
> */
> #   ifndef DEVRANDOM_SAFE_KERNEL
> #    define DEVRANDOM_SAFE_KERNEL        4, 8
> #   endif
> 
> So openSSL 1.1.1 will not support /dev/*random with Kernels > 4.8 ?
> 
> I can fix the kernel headers before compiling the next release of glibc but
> this is some months away.
> 
> Is there anything I can do now? I don't like the idea to recompile glibc - 
> Version upgrades are much easier to deploy than replacing the current version.
> 
> Regards,
> 
> Michael Brunnbauer
> 
> -- 
> ++  Michael Brunnbauer
> ++  netEstate GmbH
> ++  Geisenhausener Straße 11a
> ++  81379 München
> ++  Tel +49 89 32 19 77 80
> ++  Fax +49 89 32 19 77 89 
> ++  E-Mail bru...@netestate.de
> ++  https://www.netestate.de/
> ++
> ++  Sitz: München, HRB Nr.142452 (Handelsregister B München)
> ++  USt-IdNr. DE221033342
> ++  Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer
> ++  Prokurist: Dipl. Kfm. (Univ.) Markus Hendel

Reply via email to