git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 12/12] config.mak.uname: add a note about CSPRNG_METHOD for Linux

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Mar 20, 2025, 01:28 UTC
Message-ID
<74b2838e-1d7b-4ee0-a4a7-e3d21f4e6597@ramsayjones.plus.com>
In-Reply-To
<Z9rG3JVA5vSoYynt@pks.im>
On 19/03/2025 13:30, Patrick Steinhardt wrote:
Show 49 quoted lines
> On Sun, Mar 16, 2025 at 01:41:40PM -0700, Junio C Hamano wrote:
>> "brian m. carlson" <sandals@crustytoothpaste.net> writes:
>>
>>> When arc4random was added to glibc, the Linux kernel CSPRNG maintainer
>>> argued that it was not a secure approach (I disagree), and convinced the
>>> glibc maintainers to just make it a wrapper around the Linux kernel
>>> CSPRNG, which it now is.  So there's no actual benefit to calling
>>> arc4random versus getrandom, and since it's newer and less commonly
>>> available than getrandom, as well as slightly slower (because of an
>>> extra function call), getrandom should be preferred.
>>
>> This
>>
>> https://www.phoronix.com/news/GNU-Glibc-arc4random-Functions
>>
>> was the first hit of my search in the area, but I think you are
>> referring to
>>
>> https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=eaad4f9
>>
>> that happened 5 days after the thing got in and the code there tells
>> me that your summary of the situation is quite accurate.
>>
>> So I agree that dropping this patch makes sense, but do we want to
>> do a bit more to improve the situation?
>>
>> Here is an attempt to improve what we have in Makefile (and possibly
>> the Linux section in config.mak.uname, but that is improving what we
>> do not have) to tell folks that arc4random in glibc is only for
>> compatibility and they should pick getrandom() until the situation
>> changes.
>>
>> --- >8 ---
>> Subject: config/Makefile: a note on CSPRNG_METHOD choice for Linux
>>
>> arc4random() was added to glibc in July 2022, but quickly replaced
>> by a stub implementation that wraps around getrandom().  Hence there
>> is no actual benefit to calling arc4random() over getrandom() on
>> glibc based systems, at least for now.
>>
>> To avoid enticing Linux users to choose arc4random(), leave a note
>> that their arc4random() in glibc is not the same as what their
>> friends use on other platforms, and guide them to use getrandom()
>> instead in the meantime.
> 
> Makes me wonder whether we should also change the order in which Meson
> auto-detects functions. That is, do we want the following patch that
> favors getrandom over arc4random?
> 
That was my immediate thought also. :)

ATB, Ramsay Jones

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 6 of 10 in “config.mak.uname: add a note about CSPRNG_METHOD for Linux”
  1. 12/12 config.mak.uname: add a note about CSPRNG_METHOD for LinuxRamsay Jones, Mar 15, 2025
  2. brian m. carlsonMar 16, 2025
  3. Junio C HamanoMar 16, 2025
  4. Ramsay JonesMar 16, 2025
  5. Patrick SteinhardtMar 19, 2025
  6. Ramsay JonesMar 20, 2025
  7. Patrick SteinhardtMar 20, 2025
  8. Ramsay JonesMar 20, 2025
  9. Ramsay JonesMar 16, 2025
  10. brian m. carlsonMar 16, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.