Thread
-
pgcrypto: remove useless px_memset() and BF_ASM
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> — 2026-04-09T10:51:05Z
Hi Hackers, In the thread about centralised architecture detection, I noticed that the BF_ASM macro in crypt-blowfish.c has never been defined to anything but 0, and the _BF_body_r() function it would call has never existed, so that can be got rid of. While investigating at that, I also noticed that px_memset(), which has the comment /* memset that must not be optimized away */, is only ever called with zero for the value, which could be better written with explicit_bzero() now that we have that. Attached are patches for both. - ilmari
-
Re: pgcrypto: remove useless px_memset() and BF_ASM
Daniel Gustafsson <daniel@yesql.se> — 2026-04-09T19:07:09Z
> On 9 Apr 2026, at 13:51, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> wrote: > In the thread about centralised architecture detection, I noticed that > the BF_ASM macro in crypt-blowfish.c has never been defined to anything > but 0, and the _BF_body_r() function it would call has never existed, so > that can be got rid of. Agreed. I didn't do enough archaeology to figure out what upstream has/had or why it was removed, but it's been dead for 25 odd years so it's about time to remove. > While investigating at that, I also noticed that px_memset(), which has > the comment /* memset that must not be optimized away */, is only ever > called with zero for the value, which could be better written with > explicit_bzero() now that we have that. One could imagine various tricks for rewriting px_memset to explicit_bzero in order to reduce the churn, but since this code is very rarely backpatched into it's not a big problem IMHO. I'll have another look with fresh eyes once back in the office. -- Daniel Gustafsson