bufmgr: Fix valgrind checking for buffers pinned in StrategyGetBuffer()
authorAndres Freund <andres@anarazel.de>
Thu, 9 Oct 2025 20:27:08 +0000 (16:27 -0400)
committerAndres Freund <andres@anarazel.de>
Thu, 9 Oct 2025 23:17:13 +0000 (19:17 -0400)
commitc819d1017ddb349d92ab323d2631bc1f10bb4e86
treed5f169df2f959aeac21c4f2663ffad6dbea5bf8e
parent9d46b86529e8337e34fb5a65b1a7dca9dc53938f
bufmgr: Fix valgrind checking for buffers pinned in StrategyGetBuffer()

In 5e899859287 I made StrategyGetBuffer() pin buffers with a single CAS,
instead of using PinBuffer_Locked(). Unfortunately I missed that
PinBuffer_Locked() marked the page as defined for valgrind.

Fix this oversight by centralizing the valgrind initialization into
TrackNewBufferPin(), which also allows us to reduce the number of places doing
VALGRIND_MAKE_MEM_DEFINED.

Per buildfarm animal skink and Amit Langote.

Discussion: https://postgr.es/m/fvfmkr5kk4nyex56ejgxj3uzi63isfxovp2biecb4bspbjrze7@az2pljabhnff
Discussion: https://postgr.es/m/CA+HiwqGKJ6nEXEPQW7EpykVsEtzxp5-up_xhtcUAkWFtATVQvQ@mail.gmail.com
src/backend/storage/buffer/bufmgr.c