Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

dsa.c

Blame
    • Thomas Munro's avatar
      ba20d392
      Fix segment_bins corruption in dsa.c. · ba20d392
      Thomas Munro authored
      If a segment has been freed by dsa.c because it is entirely empty, other
      backends must make sure to unmap it before following links to new
      segments that might happen to have the same index number, or they could
      finish up looking at a defunct segment and then corrupt the segment_bins
      lists.  The correct protocol requires checking freed_segment_counter
      after acquiring the area lock and before resolving any index number to a
      segment.  Add the missing checks and an assertion.
      
      Back-patch to 10, where dsa.c first arrived.
      
      Author: Thomas Munro
      Reported-by: Tomas Vondra
      Discussion: https://postgr.es/m/CAEepm%3D0thg%2Bja5zGVa7jBy-uqyHrTqTm8HGhEOtMmigGrAqTbw%40mail.gmail.com
      ba20d392
      History
      Fix segment_bins corruption in dsa.c.
      Thomas Munro authored
      If a segment has been freed by dsa.c because it is entirely empty, other
      backends must make sure to unmap it before following links to new
      segments that might happen to have the same index number, or they could
      finish up looking at a defunct segment and then corrupt the segment_bins
      lists.  The correct protocol requires checking freed_segment_counter
      after acquiring the area lock and before resolving any index number to a
      segment.  Add the missing checks and an assertion.
      
      Back-patch to 10, where dsa.c first arrived.
      
      Author: Thomas Munro
      Reported-by: Tomas Vondra
      Discussion: https://postgr.es/m/CAEepm%3D0thg%2Bja5zGVa7jBy-uqyHrTqTm8HGhEOtMmigGrAqTbw%40mail.gmail.com