pgsql: sequences: Lock buffer before initializing page

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: sequences: Lock buffer before initializing page
Date: 2023-04-05 00:03:24
Message-ID: E1pjqcV-001Ozz-EG@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

sequences: Lock buffer before initializing page

fill_seq_fork_with_data(), used to initialize a new sequence relation, only
locked the buffer after calling PageInit(), even though PageInit() modifies
page contents.

This is unlikely to cause real-world issues, as the relation is exclusively
locked at that point, and the buffer not yet marked dirty, so other processes
should not access the buffer.

This issue looks to have been present since the introduction of sequences in
e8647c45d66a.

Given the low risk, it does not seem worth backpatching the fix.

Discussion: https://postgr.es/m/20230404185501.wdkmo3k7bedlx6qk@awork3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3f695b31179b94a5eaa284ff588a983ff2dce932

Modified Files
--------------
src/backend/commands/sequence.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2023-04-05 02:28:05 pgsql: docs: Remove support for 'htmlhelp' format
Previous Message Michael Paquier 2023-04-04 23:00:45 pgsql: doc: Add more details about pg_stat_get_xact_blocks_{fetched,hit