Fix zeroing of pg_serial page without SLRU bank lock

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: be2f0731006300876b008fd78a265471984cbcd9
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2024-04-03T15:49:44Z
Releases: 17.0
Fix zeroing of pg_serial page without SLRU bank lock

Bug in commit 53c2a97a9266: we failed to acquire the correct SLRU bank
lock when iterating to zero-out intermediate pages in predicate.c.
Rewrite the code block so that we follow the locking protocol correctly.

Also update an outdated comment in the same file -- SerialSLRULock
exists no more.

Reported-by: Alexander Lakhin <exclusion@gmail.com>
Reviewed-by: Dilip Kumar <dilipbalaut@gmail.com>
Discussion: https://postgr.es/m/2a25eaf4-a3a4-5fd1-6241-9d7c73142085@gmail.com

Files

PathChange+/−
src/backend/storage/lmgr/predicate.c modified +12 −7

Discussion