pgsql: LLVMJIT: Release JIT context after running ExprContext shutdown

Started by Andres Freundabout 8 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

LLVMJIT: Release JIT context after running ExprContext shutdown callbacks.

Due to inlining it previously was possible that an ExprContext's
shutdown callback pointed to a JITed function. As the JIT context
previously was shut down before the shutdown callbacks were called,
that could lead to segfaults. Fix the ordering.

Reported-By: Dmitry Dolgov
Author: Andres Freund
Discussion: /messages/by-id/CA+q6zcWO7CeAJtHBxgcHn_hj+PenM=tvG0RJ93X1uEJ86+76Ug@mail.gmail.com
Backpatch: 11-, where JIT compilation was added

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3acc4acd9bcbefbfaf789762950726c6208daf1b

Modified Files
--------------
src/backend/executor/execMain.c | 5 -----
src/backend/executor/execUtils.c | 18 +++++++++++++-----
2 files changed, 13 insertions(+), 10 deletions(-)