]> granicus.if.org Git - postgresql/commit
LLVMJIT: Release JIT context after running ExprContext shutdown callbacks.
authorAndres Freund <andres@anarazel.de>
Wed, 25 Jul 2018 23:31:49 +0000 (16:31 -0700)
committerAndres Freund <andres@anarazel.de>
Wed, 25 Jul 2018 23:40:43 +0000 (16:40 -0700)
commited7e319eb41361250ccb19379ef206b4a6d866de
tree02b8f434d19da57ab55838e656d9a885bc923b37
parent1cfa69dcd8eff4a9611bf726bb90e89b77922a61
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: https://postgr.es/m/CA+q6zcWO7CeAJtHBxgcHn_hj+PenM=tvG0RJ93X1uEJ86+76Ug@mail.gmail.com
Backpatch: 11-, where JIT compilation was added
src/backend/executor/execMain.c
src/backend/executor/execUtils.c