From: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Aug 2021 18:51:37 +0000 (-0700) Subject: [mono] Fix crash in common_call_trampoline due to inconsistent rgctx mode (#57677) X-Git-Tag: accepted/tizen/unified/20220110.054933~222^2~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe6bd2d22d4ce16f886979b6f024fc0b75b97311;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [mono] Fix crash in common_call_trampoline due to inconsistent rgctx mode (#57677) * Assume MRGCTX mode if mini_method_is_default_method is true * Fixes https://github.com/dotnet/runtime/issues/57664 Co-authored-by: Ulrich Weigand --- diff --git a/src/mono/mono/mini/mini-trampolines.c b/src/mono/mono/mini/mini-trampolines.c index c6901fb..36fb6ca 100644 --- a/src/mono/mono/mini/mini-trampolines.c +++ b/src/mono/mono/mini/mini-trampolines.c @@ -554,7 +554,7 @@ common_call_trampoline (host_mgreg_t *regs, guint8 *code, MonoMethod *m, MonoVTa /* * The caller is gshared code, compute the actual method to call from M and this/rgctx. */ - if (m->is_inflated && mono_method_get_context (m)->method_inst) { + if (m->is_inflated && (mono_method_get_context (m)->method_inst || mini_method_is_default_method (m))) { MonoMethodRuntimeGenericContext *mrgctx = (MonoMethodRuntimeGenericContext*)mono_arch_find_static_call_vtable (regs, code); klass = mrgctx->class_vtable->klass;