]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Prevent race condition while reading relmapper file.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 24 Jun 2021 07:45:23 +0000 (10:45 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 24 Jun 2021 07:45:49 +0000 (10:45 +0300)
commita5eacd86b71542d5e377d1fef628866dae859809
treec386c76c2a08a75b513db2e0495fb7ffecefba24
parentf365151a5392b0535945327989f267a21357fcdc
Prevent race condition while reading relmapper file.

Contrary to the comment here, POSIX does not guarantee atomicity of a
read(), if another process calls write() concurrently. Or at least Linux
does not. Add locking to load_relmap_file() to avoid the race condition.

Fixes bug #17064. Thanks to Alexander Lakhin for the report and test case.

Backpatch-through: 9.6, all supported versions.
Discussion: https://www.postgresql.org/message-id/17064-bb0d7904ef72add3@postgresql.org
src/backend/utils/cache/relmapper.c