Fix crash when non-creator being an iteration on shared radix tree
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-12-17T17:48:22Z
Lists: pgsql-hackers
Attachments
- v1-0001-radixtree-Fix-crash-when-non-creator-begins-an-it.patch (application/octet-stream) patch v1-0001
Hi, I found that a server crashes due to a null-pointer-dereference if a process attached to the shared radix tree begins an iteration on it, because we don't create the memory context for iter_context at RT_ATTACH(). There is no code in the core causing this crash in the core since in parallel vacuum, the leader process always creates the shared radix tree and begins the iteration. However it could happen in external extensions. I've attached the patch to fix it and I think it should be backpatched to v17. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
Commits
-
radixtree: Fix crash when non-creator begins iteration over shared tree.
- 9af2b3435844 17.3 landed
-
Always use the caller-provided context for radix tree leaves
- 3e70da2781e8 18.0 landed
-
Get rid of radix tree's general purpose memory context
- e8a6f1f908d0 18.0 landed
-
Use caller's memory context for radix tree iteration state
- 960013f2a1f9 18.0 landed