public inbox for glibc-bugs@sourceware.org help / color / mirror / Atom feed
From: "mlichvar at redhat dot com" <sourceware-bugzilla@sourceware.org> To: glibc-bugs@sourceware.org Subject: [Bug libc/29437] New: arc4random is too slow Date: Tue, 02 Aug 2022 10:46:15 +0000 [thread overview] Message-ID: <bug-29437-131@http.sourceware.org/bugzilla/> (raw) https://sourceware.org/bugzilla/show_bug.cgi?id=29437 Bug ID: 29437 Summary: arc4random is too slow Product: glibc Version: 2.36 Status: NEW Severity: normal Priority: P2 Component: libc Assignee: unassigned at sourceware dot org Reporter: mlichvar at redhat dot com CC: drepper.fsp at gmail dot com Target Milestone: --- The new arc4random using getrandom() seems to have a significant impact on performance of chronyd operating as an NTP server. On an Intel E3-1220 CPU, I see that the maximum number of requests per second dropped by about 25%. That would be an issue for some public NTP servers. chronyd needs a random generator for the low-order bits below the clock precision in the receive and transmit timestamps to make them less predictable and make off-path attacks more difficult. The generator doesn't necessarily have to be cryptographically secure. The assumption in the code is that arc4random is fast and buffered, as it is on FreeBSD for instance. It is preferred over getrandom(), for which chrony has to implement its own buffering. With arc4random using getrandom() and no buffering the number of syscalls needed per NTP request is now almost doubled. This can be fixed easily in the chrony source code, but I thought it might be a good example of a real-world application impacted by this change and there could be others. If the plan is to fix this by adding getrandom() to the Linux vDSO, would it make sense to wait for it to be available before releasing the new arc4random? -- You are receiving this mail because: You are on the CC list for the bug.
next reply other threads:[~2022-08-02 10:46 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-08-02 10:46 mlichvar at redhat dot com [this message] 2022-08-02 11:03 ` [Bug libc/29437] " fweimer at redhat dot com 2022-08-02 22:57 ` jason at zx2c4 dot com 2022-08-02 22:58 ` jason at zx2c4 dot com 2022-08-03 6:28 ` mlichvar at redhat dot com 2022-08-06 13:36 ` crrodriguez at opensuse dot org 2022-08-06 13:54 ` crrodriguez at opensuse dot org 2022-08-08 11:05 ` mlichvar at redhat dot com 2022-08-08 12:29 ` adhemerval.zanella at linaro dot org 2022-08-08 12:35 ` fweimer at redhat dot com 2022-08-08 12:37 ` fweimer at redhat dot com 2022-08-08 12:38 ` adhemerval.zanella at linaro dot org 2022-08-08 12:39 ` jason at zx2c4 dot com 2022-08-08 12:42 ` adhemerval.zanella at linaro dot org 2022-08-08 12:43 ` fweimer at redhat dot com 2022-08-08 12:44 ` fweimer at redhat dot com 2022-08-08 12:45 ` jason at zx2c4 dot com 2022-08-08 12:51 ` adhemerval.zanella at linaro dot org 2022-08-08 12:56 ` jason at zx2c4 dot com 2023-01-09 11:44 ` yann at droneaud dot fr
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=bug-29437-131@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=glibc-bugs@sourceware.org \ /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: linkBe 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; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).