some problem explicit_bzero with building PostgreSQL on linux

From: Dimitry Markman <dmarkman(at)mathworks(dot)com>
To: "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Cc: Bhavya Dabas <bdabas(at)mathworks(dot)com>
Subject: some problem explicit_bzero with building PostgreSQL on linux
Date: 2023-03-07 03:05:44
Message-ID: 4AB231AE-124B-4AE2-924C-B3DC1F9B68BF@mathworks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi, we got some problem with building PostgreSQL (version 15.1) on linux
ldd —version returns
ldd (Debian GLIBC 2.31-13+deb11u5.tmw1) 2.31

we can build it all right, however we want to use binaries on different glibc version

so we’re detecting usage of the glibc version > 2.17 and we need to prevent usage

of symbols (like explicit_bzero), that wasn’t exist in glibc 2.17.

what we see that even if I commented line

$as_echo "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h

from configure we still have a problem - symbol explicit_bzero was leaked in

lib/libpq.so.5.15, bin/postgres, bin/pg_verifybackup

I was able to verify that HAVE_EXPLICIT_BZERO wasn’t defined

in all c files that use explicit_bzero:

./src/interfaces/libpq/fe-connect.c
./src/backend/libpq/be-secure-common.c
./src/common/hmac_openssl.c
./src/common/cryptohash.c
./src/common/cryptohash_openssl.c
./src/common/hmac.c

how we can guaranty that if HAVE_EXPLICIT_BZERO is not defined then

explicit_bzero function implemented in port/explicit_bzero.c will be used (just like in Darwin or windows)

thanks in advance

dm

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Chris Travers 2023-03-07 03:07:16 Re: Moving forward with TDE
Previous Message Kyotaro Horiguchi 2023-03-07 02:55:10 Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?)