Subject: pgcrypto: remove useless px_memset() and BF_ASM

From: Dagfinn Ilmari Mannsåker <[email-masked]>
Date: Thu, 09 Apr 2026 11:51:05 +0100

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

---

From: Daniel Gustafsson <[email-masked]>
Date: Thu, 9 Apr 2026 22:07:09 +0300

> On 9 Apr 2026, at 13:51, Dagfinn Ilmari Mannsåker <[email-masked]> wrote:

> but 0, and the _BF_body_r() function it would call has never existed, so

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.

> 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