Thread

  1. 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
    
    
  2. 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