pgsql: Acquire ControlFileLock in relevant SQL functions.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Acquire ControlFileLock in relevant SQL functions.
Date: 2023-10-15 22:04:06
Message-ID: E1qs9DR-000kIC-K2@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)pgmasters(dot)net>
Reviewed-by: Anton A. Melnikov <aamelnikov(at)inbox(dot)ru>
Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Discussion: https://postgr.es/m/20221123014224.xisi44byq3cf5psi%40awork3.anarazel.de

Branch
------
REL_13_STABLE

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

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

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2023-10-15 22:04:16 pgsql: Acquire ControlFileLock in relevant SQL functions.
Previous Message Thomas Munro 2023-10-15 22:03:56 pgsql: Acquire ControlFileLock in relevant SQL functions.