Displaying 9 results from an estimated 9 matches for "grnd_nonblock".
2019 Mar 05
2
getrandom() before forking daemon is blocking init system
...believe this behavior has changed in kernel 4.14:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.14.40&id=6e513bc20ca63f594632eca4e1968791240b8f18
Quoting getrandom(2):
"If the urandom source has not yet been initialized, then getrandom()
will block, unless GRND_NONBLOCK is specified in flags."
Dovecot: 2.3.4.1 (f79e8e7e4)
Linux: 4.19.26-gentoo #2 SMP Thu Feb 28 20:30:23 CET 2019 x86_64 AMD
G-T40E Processor AuthenticAMD GNU/Linux
Regards,
Axel
2019 Mar 05
1
getrandom() before forking daemon is blocking init system
...> > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.14.40&id=6e513bc20ca63f594632eca4e1968791240b8f18
> >
> > Quoting getrandom(2):
> > "If the urandom source has not yet been initialized, then getrandom()
> > will block, unless GRND_NONBLOCK is specified in flags."
> >
> >
> > Dovecot: 2.3.4.1 (f79e8e7e4)
> >
> > Linux: 4.19.26-gentoo #2 SMP Thu Feb 28 20:30:23 CET 2019 x86_64 AMD
> > G-T40E Processor AuthenticAMD GNU/Linux
> >
> >
> > Regards,
> >
> > Axel
&g...
2016 Jul 29
2
getrandom waits for a long time when /dev/random is insufficiently read from
On Fri, Jul 29, 2016 at 7:40 AM, Stephan Mueller <smueller at chronox.de> wrote:
> And finally, you have a coding error that is very very common but fatal when
> reading from /dev/random: you do not account for short reads which implies
> that your loop continues even in the case of short reads.
>
> Fix your code with something like the following:
> int read_random(char
2016 Jul 29
2
getrandom waits for a long time when /dev/random is insufficiently read from
On Fri, Jul 29, 2016 at 7:40 AM, Stephan Mueller <smueller at chronox.de> wrote:
> And finally, you have a coding error that is very very common but fatal when
> reading from /dev/random: you do not account for short reads which implies
> that your loop continues even in the case of short reads.
>
> Fix your code with something like the following:
> int read_random(char
2019 Mar 05
0
getrandom() before forking daemon is blocking init system
...ged in kernel 4.14:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.14.40&id=6e513bc20ca63f594632eca4e1968791240b8f18
>
> Quoting getrandom(2):
> "If the urandom source has not yet been initialized, then getrandom()
> will block, unless GRND_NONBLOCK is specified in flags."
>
>
> Dovecot: 2.3.4.1 (f79e8e7e4)
>
> Linux: 4.19.26-gentoo #2 SMP Thu Feb 28 20:30:23 CET 2019 x86_64 AMD
> G-T40E Processor AuthenticAMD GNU/Linux
>
>
> Regards,
>
> Axel
>
It should either block or fail to start. I persona...
2016 Jul 29
0
getrandom waits for a long time when /dev/random is insufficiently read from
...ilar results, but the
iteration number for success must be then increased to a large number.
IME 30 worked consistently while 29 hung; your results may vary.
The interesting thing is though, if GRND_RANDOM is passed to getrandom,
then it does not hang and returns 1 byte immediately (whether or not
GRND_NONBLOCK is set).
The following revised program demonstrates this:
#include <fcntl.h>
#include <linux/random.h>
#include <stdlib.h>
#include <string.h>
#include <syscall.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
char buf[1];
int gr_flags;
co...
2016 Jul 29
2
getrandom waits for a long time when /dev/random is insufficiently read from
...ration number for success must be then increased to a large number.
> IME 30 worked consistently while 29 hung; your results may vary.
>
> The interesting thing is though, if GRND_RANDOM is passed to getrandom,
> then it does not hang and returns 1 byte immediately (whether or not
> GRND_NONBLOCK is set).
Sure, because there is one byte in the input_pool at the time user space
boots. Note again, /dev/random waits until having 64 bits.
>
> 1, 2..29: reads all return 1 byte, getrandom pauses for 90-110 secs then
> returns 1 byte
> 30+: reads all return 1 byte, getrandom immedi...
2016 Jul 29
2
getrandom waits for a long time when /dev/random is insufficiently read from
...ration number for success must be then increased to a large number.
> IME 30 worked consistently while 29 hung; your results may vary.
>
> The interesting thing is though, if GRND_RANDOM is passed to getrandom,
> then it does not hang and returns 1 byte immediately (whether or not
> GRND_NONBLOCK is set).
Sure, because there is one byte in the input_pool at the time user space
boots. Note again, /dev/random waits until having 64 bits.
>
> 1, 2..29: reads all return 1 byte, getrandom pauses for 90-110 secs then
> returns 1 byte
> 30+: reads all return 1 byte, getrandom immedi...
2018 Jan 22
1
Samba 4.7 don't start on F27
...26 entries */, 32768) = 760
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
sched_getaffinity(27966, 8, [0, 1, 2, 3, 4, 5, 6, 7]) = 8
access("/etc/system-fips", F_OK) = -1 ENOENT (No such file or
directory)
getrandom("\x96", 1, GRND_NONBLOCK) = 1
stat("/etc/crypto-policies/back-ends/gnutls.config",
{st_mode=S_IFREG|0644, st_size=465, ...}) = 0
openat(AT_FDCWD, "/etc/crypto-policies/back-ends/gnutls.config",
O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
lseek(3, 0, SEEK_CUR)...