]> 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:52 +0000 (10:45 +0300)
commit85ae8ccb2fb330785c6503316635dc7256cbe495
tree51647123bbf8d687099d684ea9b36edee8bd45c6
parent4be39ef9cbc5afc6078bdf9253e5981da6e0cf5f
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