]> 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:10 +0000 (10:47 +1300)
commitae9da357bd6d3f553c9d2a148a97f4db35bc608d
treebab9a6ac76dae872fd9c499ca99d7ba35635cb5f
parent6fd1dbdb21cb02ea2d307cc8fd931e6a218bfa64
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