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 <da...@pgmasters.net> Reviewed-by: Anton A. Melnikov <aamelni...@inbox.ru> Reviewed-by: Michael Paquier <mich...@paquier.xyz> Discussion: https://postgr.es/m/20221123014224.xisi44byq3cf5psi%40awork3.anarazel.de Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/637e86ecc5e4fcc5447b67d83337bc8752a40a52 Modified Files -------------- src/backend/utils/misc/pg_controldata.c | 9 +++++++++ 1 file changed, 9 insertions(+)