On Fri, Aug 29, 2025 at 2:16 PM <devel-request@lists.crash-utility.osci.io> wrote:
Date: Mon, 11 Aug 2025 05:56:23 +0000
From: Ajay Kaher <ajay.kaher@broadcom.com>
Subject: [Crash-utility] [PATCH 2/2] vmware_guestdump: support segment
        registers
To: devel@lists.crash-utility.osci.io
Cc: alexey.makhalov@broadcom.com,
        vamsi-krishna.brahmajosyula@broadcom.com, tapas.kundu@broadcom.com,
        ajay.kaher@broadcom.com
Message-ID: <20250811055623.179491-2-ajay.kaher@broadcom.com>

adding support for segment registers for vmware guest dumps.

Signed-off-by: Ajay Kaher <ajay.kaher@broadcom.com>

---
 vmware_guestdump.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)


when I tried to apply the patch[2], it failed with the following error. Do you encounter the same issue? Tao.

$ git am 2.patch
Applying: vmware_guestdump: support segment registers
error: patch failed: vmware_guestdump.c:107
error: vmware_guestdump.c: patch does not apply
Patch failed at 0001 vmware_guestdump: support segment registers
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"

Thanks
Lianbo
 
diff --git a/vmware_guestdump.c b/vmware_guestdump.c
index d515df5..52a1623 100644
--- a/vmware_guestdump.c
+++ b/vmware_guestdump.c
@@ -107,8 +107,14 @@ struct vcpu_state2 {
                uint64_t eflags;
                uint64_t rsp;
                uint64_t ss;
+               uint64_t fs_base;
+               uint64_t gs_base;
+               uint64_t ds;
+               uint64_t es;
+               uint64_t fs;
+               uint64_t gs;
        } regs64;
-       uint8_t reserved3[65];
+       uint8_t reserved3[17];
 } __attribute__((packed));

 /*
@@ -378,7 +384,14 @@ vmware_guestdump_init(char *filename, FILE *ofp)
                vmss.regs64[i]->cr[4] = vs1.cr4;
                vmss.regs64[i]->rip = vs2.regs64.rip;
                vmss.regs64[i]->rflags = vs2.regs64.eflags;
-
+               vmss.regs64[i]->es = vs2.regs64.es;
+               vmss.regs64[i]->cs = vs2.regs64.cs;
+               vmss.regs64[i]->ss = vs2.regs64.ss;
+               vmss.regs64[i]->ds = vs2.regs64.ds;
+               vmss.regs64[i]->fs = vs2.regs64.fs;
+               vmss.regs64[i]->gs = vs2.regs64.gs;
+               vmss.regs64[i]->fs_base = vs2.regs64.fs_base;
+               vmss.regs64[i]->gs_base = vs2.regs64.gs_base;
                vmss.vcpu_regs[i] = REGS_PRESENT_ALL;
        }

--
2.40.4