pgsql: Acquire ControlFileLock in relevant SQL functions. - Mailing list pgsql-committers

From Thomas Munro
Subject pgsql: Acquire ControlFileLock in relevant SQL functions.
Date
Msg-id E1qs9CR-000kFK-PG@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Acquire ControlFileLock in relevant SQL functions.

Commit dc7d70ea added functions that read the control file, but didn't
acquire ControlFileLock.  With unlucky timing, file systems that have
weak interlocking like ext4 and ntfs could expose partially overwritten
contents, and the checksum would fail.

Back-patch to all supported releases.

Reviewed-by: David Steele <david@pgmasters.net>
Reviewed-by: Anton A. Melnikov <aamelnikov@inbox.ru>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/20221123014224.xisi44byq3cf5psi%40awork3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c558e6fd92ffeb85d5f52e32ccbcf8a5b5eb7bf3

Modified Files
--------------
src/backend/utils/misc/pg_controldata.c | 9 +++++++++
1 file changed, 9 insertions(+)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Dissociate btequalimage() from interval_ops, ending its deduplic
Next
From: Thomas Munro
Date:
Subject: pgsql: Acquire ControlFileLock in relevant SQL functions.