Commit e95f53e30b for qemu.org

commit e95f53e30be7935d98e38eb09cd6360fe2886249
Author: SignKirigami <prcups@krgm.moe>
Date:   Fri Sep 18 18:37:33 2026 +0800

    linux-user/loongarch64: Detect vector stores in host_signal_write()

    Recognize LSX/LASX stores in the LoongArch host signal handler to fix
    internal QEMU crashes when RISC-V vector stores hit write-protected code
    pages through host memcpy.

    Signed-off-by: Felix Yan <felixonmars@archlinux.org>
    Signed-off-by: SignKirigami <prcups@krgm.moe>
    Signed-off-by: Helge Deller <deller@gmx.de>

diff --git a/linux-user/include/host/loongarch64/host-signal.h b/linux-user/include/host/loongarch64/host-signal.h
index d33c3fc03e..eb4308cf09 100644
--- a/linux-user/include/host/loongarch64/host-signal.h
+++ b/linux-user/include/host/loongarch64/host-signal.h
@@ -61,6 +61,10 @@ static inline bool host_signal_write(siginfo_t *info, host_sigcontext *uc)
             return true;
         }
         break;
+    case 0b001011: /* v{ld,st}, xv{ld,st} */
+        return (insn >> 22) & 1;
+    case 0b001100: /* v{ldrepl,stelm}, xv{ldrepl,stelm} */
+        return (insn >> 24) & 1;
     case 0b001110: /* indexed, atomic, bounds-checking memory operations */
         switch ((insn >> 15) & 0b11111111111) {
         case 0b00000100000: /* stx.b */
@@ -69,6 +73,8 @@ static inline bool host_signal_write(siginfo_t *info, host_sigcontext *uc)
         case 0b00000111000: /* stx.d */
         case 0b00001110000: /* fstx.s */
         case 0b00001111000: /* fstx.d */
+        case 0b00010001000: /* vstx */
+        case 0b00010011000: /* xvstx */
         case 0b00011101100: /* fstgt.s */
         case 0b00011101101: /* fstgt.d */
         case 0b00011101110: /* fstle.s */