]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Acquire ControlFileLock in relevant SQL functions.
authorThomas Munro <tmunro@postgresql.org>
Sun, 15 Oct 2023 21:43:47 +0000 (10:43 +1300)
committerThomas Munro <tmunro@postgresql.org>
Sun, 15 Oct 2023 21:47:01 +0000 (10:47 +1300)
commita56fe5cf07fea61f8d79570633298951697a3f72
tree935d8157a68ca19dfe94ef4642e2777cb8930cd8
parent0834df90942d229ecc8bc36bfe5fe5f3ce26a4c9
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
src/backend/utils/misc/pg_controldata.c