[Tarantool-patches] [PATCH luajit v2] Fix recording of __concat metamethod.

Igor Munkin imun at tarantool.org
Thu Feb 15 16:43:22 MSK 2024


Max,

I've checked the patchset into all long-term branches in
tarantool/luajit and bumped a new version in master, release/3.0 and
release/2.11.

On 02.02.24, Maksim Kokryashkin via Tarantool-patches wrote:
> From: Mike Pall <mike>
> 
> Reported by Elias Oelschner. Analyzed by XmiliaH.
> 
> (cherry-picked from commit 3ee3c9cfa988339f1bf3068530515e2a6fb179d2)
> 
> During the recording of `__concat` methametod, the `rec_mm_arith`
> function overrides stack slots that are not restored for GC64
> mode later after the call. This leads to a segmentation fault
> later on. This patch fixes the issue by accounting for those
> additional slots in the array used for restoring stack values.
> 
> Maxim Kokryashkin:
> * added the description and the test for the problem
> 
> Part of tarantool/tarantool#9145
> ---
> Changes in v2:
> - Fixed comments as per review by Sergey Kaplun
> 
> Branch: https://github.com/tarantool/luajit/tree/fckxorg/lj-839-concat-recording
> PR: https://github.com/tarantool/tarantool/pull/9597
> Issues: https://github.com/tarantool/tarantool/issues/9145
> https://github.com/luajit/luajit/issues/839
> 
>  src/lj_record.c                               |  2 +-
>  .../lj-839-concat-recording.test.lua          | 27 +++++++++++++++++++
>  2 files changed, 28 insertions(+), 1 deletion(-)
>  create mode 100644 test/tarantool-tests/lj-839-concat-recording.test.lua
> 

<snipped>

> --
> 2.39.3 (Apple Git-145)
> 

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list