Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit54ab748

Browse files
committed
Fix reuse-after-free hazard in dead_items_reset
In similar vein to commitccc8194, a reset instance of a sharedmemory TID store happened to occupy the same private memory as the oldone for the entry point, since the chunk freed after the last roundof index vacuuming was put on the context's freelist. The failureto update the vacrel->dead_items pointer was evident by nudging thesystem to allocate memory in a different area. This was not discoveredat the time of the earlier commit since our regression tests didn'tcover multiple index passes with parallel vacuum.Backpatch to v17, when TidStore came in.Author: Kevin Oommen Anish <kevin.o@zohocorp.com>Reviewed-by: Richard Guo <guofenglinux@gmail.com>Tested-by: Richard Guo <guofenglinux@gmail.com>Discussion:https://postgr.es/m/199a07cbdfc.7a1c4aac25838.1675074408277594551%40zohocorp.comBackpatch-through: 17
1 parent605bfb7 commit54ab748

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

‎src/backend/access/heap/vacuumlazy.c‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3567,6 +3567,8 @@ dead_items_reset(LVRelState *vacrel)
35673567
if (ParallelVacuumIsActive(vacrel))
35683568
{
35693569
parallel_vacuum_reset_dead_items(vacrel->pvs);
3570+
vacrel->dead_items=parallel_vacuum_get_dead_items(vacrel->pvs,
3571+
&vacrel->dead_items_info);
35703572
return;
35713573
}
35723574

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp