From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Garnier Subject: [PATCH v1 06/27] x86/entry/64: Adapt assembly for PIE support Date: Wed, 11 Oct 2017 13:30:06 -0700 Message-ID: <20171011203027.11248-7-thgarnie@google.com> References: <20171011203027.11248-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-arch@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sparse@vger.kernel.org, linux-crypto@vger.kernel.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Arnd Bergmann , Thomas Garnier , Kees Cook , Andrey Ryabinin , Matthias Kaehlcke , Tom Lendacky , Andy Lutomirski , "Kirill A . Shutemov" , Borislav Petkov , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Juergen Gross , Chris Wright , Alok Kataria , Rusty Russell , Tejun Heo In-Reply-To: <20171011203027.11248-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" List-Id: linux-crypto.vger.kernel.org Q2hhbmdlIHRoZSBhc3NlbWJseSBjb2RlIHRvIHVzZSBvbmx5IHJlbGF0aXZlIHJlZmVyZW5jZXMg b2Ygc3ltYm9scyBmb3IgdGhlCmtlcm5lbCB0byBiZSBQSUUgY29tcGF0aWJsZS4KClBvc2l0aW9u IEluZGVwZW5kZW50IEV4ZWN1dGFibGUgKFBJRSkgc3VwcG9ydCB3aWxsIGFsbG93IHRvIGV4dGVu ZGVkIHRoZQpLQVNMUiByYW5kb21pemF0aW9uIHJhbmdlIGJlbG93IHRoZSAtMkcgbWVtb3J5IGxp bWl0LgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEdhcm5pZXIgPHRoZ2FybmllQGdvb2dsZS5jb20+ Ci0tLQogYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUyB8IDIyICsrKysrKysrKysrKysrKy0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2FyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlMgYi9hcmNoL3g4Ni9lbnRyeS9lbnRy eV82NC5TCmluZGV4IDQ5MTY3MjU4ZDU4Ny4uMTViZDU1MzBkMmFlIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9lbnRyeS9lbnRyeV82NC5TCisrKyBiL2FyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlMKQEAg LTE5NCwxMiArMTk0LDE1IEBAIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGg6CiAJamEJMWYJCQkJ LyogcmV0dXJuIC1FTk9TWVMgKGFscmVhZHkgaW4gcHRfcmVncy0+YXgpICovCiAJbW92cQklcjEw LCAlcmN4CiAKKwkvKiBFbnN1cmVzIHRoZSBjYWxsIGlzIHBvc2l0aW9uIGluZGVwZW5kZW50ICov CisJbGVhcQlzeXNfY2FsbF90YWJsZSglcmlwKSwgJXIxMQorCiAJLyoKIAkgKiBUaGlzIGNhbGwg aW5zdHJ1Y3Rpb24gaXMgaGFuZGxlZCBzcGVjaWFsbHkgaW4gc3R1Yl9wdHJlZ3NfNjQuCiAJICog SXQgbWlnaHQgZW5kIHVwIGp1bXBpbmcgdG8gdGhlIHNsb3cgcGF0aC4gIElmIGl0IGp1bXBzLCBS QVgKIAkgKiBhbmQgYWxsIGFyZ3VtZW50IHJlZ2lzdGVycyBhcmUgY2xvYmJlcmVkLgogCSAqLwot CWNhbGwJKnN5c19jYWxsX3RhYmxlKCwgJXJheCwgOCkKKwljYWxsCSooJXIxMSwgJXJheCwgOCkK IC5MZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9mYXN0cGF0aF9jYWxsOgogCiAJbW92cQklcmF4LCBS QVgoJXJzcCkKQEAgLTMzNCw3ICszMzcsOCBAQCBFTlRSWShzdHViX3B0cmVnc182NCkKIAkgKiBS QVggc3RvcmVzIGEgcG9pbnRlciB0byB0aGUgQyBmdW5jdGlvbiBpbXBsZW1lbnRpbmcgdGhlIHN5 c2NhbGwuCiAJICogSVJRcyBhcmUgb24uCiAJICovCi0JY21wcQkkLkxlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2Zhc3RwYXRoX2NhbGwsICglcnNwKQorCWxlYXEJLkxlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2Zhc3RwYXRoX2NhbGwoJXJpcCksICVyMTEKKwljbXBxCSVyMTEsICglcnNwKQogCWpuZQkx ZgogCiAJLyoKQEAgLTExNzIsNyArMTE3Niw4IEBAIEVOVFJZKGVycm9yX2VudHJ5KQogCW1vdmwJ JWVjeCwgJWVheAkJCS8qIHplcm8gZXh0ZW5kICovCiAJY21wcQklcmF4LCBSSVArOCglcnNwKQog CWplCS5MYnN0ZXBfaXJldAotCWNtcHEJJC5MZ3NfY2hhbmdlLCBSSVArOCglcnNwKQorCWxlYXEJ Lkxnc19jaGFuZ2UoJXJpcCksICVyY3gKKwljbXBxCSVyY3gsIFJJUCs4KCVyc3ApCiAJam5lCS5M ZXJyb3JfZW50cnlfZG9uZQogCiAJLyoKQEAgLTEzODMsMTAgKzEzODgsMTAgQEAgRU5UUlkobm1p KQogCSAqIHJlc3VtZSB0aGUgb3V0ZXIgTk1JLgogCSAqLwogCi0JbW92cQkkcmVwZWF0X25taSwg JXJkeAorCWxlYXEJcmVwZWF0X25taSglcmlwKSwgJXJkeAogCWNtcHEJOCglcnNwKSwgJXJkeAog CWphCTFmCi0JbW92cQkkZW5kX3JlcGVhdF9ubWksICVyZHgKKwlsZWFxCWVuZF9yZXBlYXRfbm1p KCVyaXApLCAlcmR4CiAJY21wcQk4KCVyc3ApLCAlcmR4CiAJamEJbmVzdGVkX25taV9vdXQKIDE6 CkBAIC0xNDQwLDcgKzE0NDUsOCBAQCBuZXN0ZWRfbm1pOgogCXB1c2hxCSVyZHgKIAlwdXNoZnEK IAlwdXNocQkkX19LRVJORUxfQ1MKLQlwdXNocQkkcmVwZWF0X25taQorCWxlYXEJcmVwZWF0X25t aSglcmlwKSwgJXJkeAorCXB1c2hxCSVyZHgKIAogCS8qIFB1dCBzdGFjayBiYWNrICovCiAJYWRk cQkkKDYqOCksICVyc3AKQEAgLTE0NzksNyArMTQ4NSw5IEBAIGZpcnN0X25taToKIAlhZGRxCSQ4 LCAoJXJzcCkJLyogRml4IHVwIFJTUCAqLwogCXB1c2hmcQkJCS8qIFJGTEFHUyAqLwogCXB1c2hx CSRfX0tFUk5FTF9DUwkvKiBDUyAqLwotCXB1c2hxCSQxZgkJLyogUklQICovCisJcHVzaHEJJXJh eAkJLyogU3VwcG9ydCBQb3NpdGlvbiBJbmRlcGVuZGVudCBDb2RlICovCisJbGVhcQkxZiglcmlw KSwgJXJheAkvKiBSSVAgKi8KKwl4Y2hncQklcmF4LCAoJXJzcCkJLyogUmVzdG9yZSBSQVgsIHB1 dCAxZiAqLwogCUlOVEVSUlVQVF9SRVRVUk4JLyogY29udGludWVzIGF0IHJlcGVhdF9ubWkgYmVs b3cgKi8KIAlVTldJTkRfSElOVF9JUkVUX1JFR1MKIDE6Ci0tIAoyLjE1LjAucmMwLjI3MS5nMzZi NjY5ZWRjYy1nb29nCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Garnier Subject: [PATCH v1 06/27] x86/entry/64: Adapt assembly for PIE support Date: Wed, 11 Oct 2017 13:30:06 -0700 Message-ID: <20171011203027.11248-7-thgarnie@google.com> References: <20171011203027.11248-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171011203027.11248-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Arnd Bergmann , Thomas Garnier , Kees Cook , Andrey Ryabinin , Matthias Kaehlcke , Tom Lendacky , Andy Lutomirski , "Kirill A . Shutemov" , Borislav Petkov , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Juergen Gross , Chris Wright , Alok Kataria , Rusty Russell , Tejun Heo Cc: linux-arch@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sparse@vger.kernel.org, linux-crypto@vger.kernel.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org List-Id: linux-sparse@vger.kernel.org Q2hhbmdlIHRoZSBhc3NlbWJseSBjb2RlIHRvIHVzZSBvbmx5IHJlbGF0aXZlIHJlZmVyZW5jZXMg b2Ygc3ltYm9scyBmb3IgdGhlCmtlcm5lbCB0byBiZSBQSUUgY29tcGF0aWJsZS4KClBvc2l0aW9u IEluZGVwZW5kZW50IEV4ZWN1dGFibGUgKFBJRSkgc3VwcG9ydCB3aWxsIGFsbG93IHRvIGV4dGVu ZGVkIHRoZQpLQVNMUiByYW5kb21pemF0aW9uIHJhbmdlIGJlbG93IHRoZSAtMkcgbWVtb3J5IGxp bWl0LgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEdhcm5pZXIgPHRoZ2FybmllQGdvb2dsZS5jb20+ Ci0tLQogYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUyB8IDIyICsrKysrKysrKysrKysrKy0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2FyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlMgYi9hcmNoL3g4Ni9lbnRyeS9lbnRy eV82NC5TCmluZGV4IDQ5MTY3MjU4ZDU4Ny4uMTViZDU1MzBkMmFlIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9lbnRyeS9lbnRyeV82NC5TCisrKyBiL2FyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlMKQEAg LTE5NCwxMiArMTk0LDE1IEBAIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGg6CiAJamEJMWYJCQkJ LyogcmV0dXJuIC1FTk9TWVMgKGFscmVhZHkgaW4gcHRfcmVncy0+YXgpICovCiAJbW92cQklcjEw LCAlcmN4CiAKKwkvKiBFbnN1cmVzIHRoZSBjYWxsIGlzIHBvc2l0aW9uIGluZGVwZW5kZW50ICov CisJbGVhcQlzeXNfY2FsbF90YWJsZSglcmlwKSwgJXIxMQorCiAJLyoKIAkgKiBUaGlzIGNhbGwg aW5zdHJ1Y3Rpb24gaXMgaGFuZGxlZCBzcGVjaWFsbHkgaW4gc3R1Yl9wdHJlZ3NfNjQuCiAJICog SXQgbWlnaHQgZW5kIHVwIGp1bXBpbmcgdG8gdGhlIHNsb3cgcGF0aC4gIElmIGl0IGp1bXBzLCBS QVgKIAkgKiBhbmQgYWxsIGFyZ3VtZW50IHJlZ2lzdGVycyBhcmUgY2xvYmJlcmVkLgogCSAqLwot CWNhbGwJKnN5c19jYWxsX3RhYmxlKCwgJXJheCwgOCkKKwljYWxsCSooJXIxMSwgJXJheCwgOCkK IC5MZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9mYXN0cGF0aF9jYWxsOgogCiAJbW92cQklcmF4LCBS QVgoJXJzcCkKQEAgLTMzNCw3ICszMzcsOCBAQCBFTlRSWShzdHViX3B0cmVnc182NCkKIAkgKiBS QVggc3RvcmVzIGEgcG9pbnRlciB0byB0aGUgQyBmdW5jdGlvbiBpbXBsZW1lbnRpbmcgdGhlIHN5 c2NhbGwuCiAJICogSVJRcyBhcmUgb24uCiAJICovCi0JY21wcQkkLkxlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2Zhc3RwYXRoX2NhbGwsICglcnNwKQorCWxlYXEJLkxlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2Zhc3RwYXRoX2NhbGwoJXJpcCksICVyMTEKKwljbXBxCSVyMTEsICglcnNwKQogCWpuZQkx ZgogCiAJLyoKQEAgLTExNzIsNyArMTE3Niw4IEBAIEVOVFJZKGVycm9yX2VudHJ5KQogCW1vdmwJ JWVjeCwgJWVheAkJCS8qIHplcm8gZXh0ZW5kICovCiAJY21wcQklcmF4LCBSSVArOCglcnNwKQog CWplCS5MYnN0ZXBfaXJldAotCWNtcHEJJC5MZ3NfY2hhbmdlLCBSSVArOCglcnNwKQorCWxlYXEJ Lkxnc19jaGFuZ2UoJXJpcCksICVyY3gKKwljbXBxCSVyY3gsIFJJUCs4KCVyc3ApCiAJam5lCS5M ZXJyb3JfZW50cnlfZG9uZQogCiAJLyoKQEAgLTEzODMsMTAgKzEzODgsMTAgQEAgRU5UUlkobm1p KQogCSAqIHJlc3VtZSB0aGUgb3V0ZXIgTk1JLgogCSAqLwogCi0JbW92cQkkcmVwZWF0X25taSwg JXJkeAorCWxlYXEJcmVwZWF0X25taSglcmlwKSwgJXJkeAogCWNtcHEJOCglcnNwKSwgJXJkeAog CWphCTFmCi0JbW92cQkkZW5kX3JlcGVhdF9ubWksICVyZHgKKwlsZWFxCWVuZF9yZXBlYXRfbm1p KCVyaXApLCAlcmR4CiAJY21wcQk4KCVyc3ApLCAlcmR4CiAJamEJbmVzdGVkX25taV9vdXQKIDE6 CkBAIC0xNDQwLDcgKzE0NDUsOCBAQCBuZXN0ZWRfbm1pOgogCXB1c2hxCSVyZHgKIAlwdXNoZnEK IAlwdXNocQkkX19LRVJORUxfQ1MKLQlwdXNocQkkcmVwZWF0X25taQorCWxlYXEJcmVwZWF0X25t aSglcmlwKSwgJXJkeAorCXB1c2hxCSVyZHgKIAogCS8qIFB1dCBzdGFjayBiYWNrICovCiAJYWRk cQkkKDYqOCksICVyc3AKQEAgLTE0NzksNyArMTQ4NSw5IEBAIGZpcnN0X25taToKIAlhZGRxCSQ4 LCAoJXJzcCkJLyogRml4IHVwIFJTUCAqLwogCXB1c2hmcQkJCS8qIFJGTEFHUyAqLwogCXB1c2hx CSRfX0tFUk5FTF9DUwkvKiBDUyAqLwotCXB1c2hxCSQxZgkJLyogUklQICovCisJcHVzaHEJJXJh eAkJLyogU3VwcG9ydCBQb3NpdGlvbiBJbmRlcGVuZGVudCBDb2RlICovCisJbGVhcQkxZiglcmlw KSwgJXJheAkvKiBSSVAgKi8KKwl4Y2hncQklcmF4LCAoJXJzcCkJLyogUmVzdG9yZSBSQVgsIHB1 dCAxZiAqLwogCUlOVEVSUlVQVF9SRVRVUk4JLyogY29udGludWVzIGF0IHJlcGVhdF9ubWkgYmVs b3cgKi8KIAlVTldJTkRfSElOVF9JUkVUX1JFR1MKIDE6Ci0tIAoyLjE1LjAucmMwLjI3MS5nMzZi NjY5ZWRjYy1nb29nCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Garnier Date: Wed, 11 Oct 2017 13:30:06 -0700 Message-Id: <20171011203027.11248-7-thgarnie@google.com> In-Reply-To: <20171011203027.11248-1-thgarnie@google.com> References: <20171011203027.11248-1-thgarnie@google.com> Subject: [kernel-hardening] [PATCH v1 06/27] x86/entry/64: Adapt assembly for PIE support To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Arnd Bergmann , Thomas Garnier , Kees Cook , Andrey Ryabinin , Matthias Kaehlcke , Tom Lendacky , Andy Lutomirski , "Kirill A . Shutemov" , Borislav Petkov , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Juergen Gross , Chris Wright , Alok Kataria , Rusty Russell , Tejun Heo , Christoph Lameter , Boris Ostrovsky , Paul Gortmaker , Andrew Morton , Alexey Dobriyan , "Paul E . McKenney" , Nicolas Pitre , Borislav Petkov , "Luis R . Rodriguez" , Greg Kroah-Hartman , Christopher Li , Steven Rostedt , Jason Baron , Mika Westerberg , Dou Liyang , "Rafael J . Wysocki" , Lukas Wunner , Masahiro Yamada , Alexei Starovoitov , Daniel Borkmann , Markus Trippelsdorf , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Rik van Riel , David Howells , Ard Biesheuvel , Waiman Long , Kyle Huey , Jonathan Corbet , Michal Hocko , Peter Foley , Paul Bolle , Jiri Kosina , "H . J . Lu" , Rob Landley , Baoquan He , =?UTF-8?q?Jan=20H=20=2E=20Sch=C3=B6nherr?= , Daniel Micay Cc: x86@kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, kernel-hardening@lists.openwall.com List-ID: Change the assembly code to use only relative references of symbols for the kernel to be PIE compatible. Position Independent Executable (PIE) support will allow to extended the KASLR randomization range below the -2G memory limit. Signed-off-by: Thomas Garnier --- arch/x86/entry/entry_64.S | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 49167258d587..15bd5530d2ae 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -194,12 +194,15 @@ entry_SYSCALL_64_fastpath: ja 1f /* return -ENOSYS (already in pt_regs->ax) */ movq %r10, %rcx + /* Ensures the call is position independent */ + leaq sys_call_table(%rip), %r11 + /* * This call instruction is handled specially in stub_ptregs_64. * It might end up jumping to the slow path. If it jumps, RAX * and all argument registers are clobbered. */ - call *sys_call_table(, %rax, 8) + call *(%r11, %rax, 8) .Lentry_SYSCALL_64_after_fastpath_call: movq %rax, RAX(%rsp) @@ -334,7 +337,8 @@ ENTRY(stub_ptregs_64) * RAX stores a pointer to the C function implementing the syscall. * IRQs are on. */ - cmpq $.Lentry_SYSCALL_64_after_fastpath_call, (%rsp) + leaq .Lentry_SYSCALL_64_after_fastpath_call(%rip), %r11 + cmpq %r11, (%rsp) jne 1f /* @@ -1172,7 +1176,8 @@ ENTRY(error_entry) movl %ecx, %eax /* zero extend */ cmpq %rax, RIP+8(%rsp) je .Lbstep_iret - cmpq $.Lgs_change, RIP+8(%rsp) + leaq .Lgs_change(%rip), %rcx + cmpq %rcx, RIP+8(%rsp) jne .Lerror_entry_done /* @@ -1383,10 +1388,10 @@ ENTRY(nmi) * resume the outer NMI. */ - movq $repeat_nmi, %rdx + leaq repeat_nmi(%rip), %rdx cmpq 8(%rsp), %rdx ja 1f - movq $end_repeat_nmi, %rdx + leaq end_repeat_nmi(%rip), %rdx cmpq 8(%rsp), %rdx ja nested_nmi_out 1: @@ -1440,7 +1445,8 @@ nested_nmi: pushq %rdx pushfq pushq $__KERNEL_CS - pushq $repeat_nmi + leaq repeat_nmi(%rip), %rdx + pushq %rdx /* Put stack back */ addq $(6*8), %rsp @@ -1479,7 +1485,9 @@ first_nmi: addq $8, (%rsp) /* Fix up RSP */ pushfq /* RFLAGS */ pushq $__KERNEL_CS /* CS */ - pushq $1f /* RIP */ + pushq %rax /* Support Position Independent Code */ + leaq 1f(%rip), %rax /* RIP */ + xchgq %rax, (%rsp) /* Restore RAX, put 1f */ INTERRUPT_RETURN /* continues at repeat_nmi below */ UNWIND_HINT_IRET_REGS 1: -- 2.15.0.rc0.271.g36b669edcc-goog