git: DragonFly_RELEASE_6_4 libnvmm(3): Fix RIP-relative addressing in store_to_gva()

Aaron LI aly at crater.dragonflybsd.org
Wed Feb 11 17:50:56 PST 2026


commit ceb0e4965a3cd53334a60f24d986a74a457b8d8d
Author: Aaron LI <aly at aaronly.me>
Date:   Tue Feb 10 17:46:58 2026 +0800

    libnvmm(3): Fix RIP-relative addressing in store_to_gva()
    
    RIP-relative addressing uses the start address of the *next* instruction
    as the base, rather than the *current* one.  Adjust RIP by the
    instruction length when computing the effective address.
    
    NOTE: This bug does not affect memory assists:
    - The MMIO exits handled by assist_mem_single() do not call
      store_to_gva().  In addition, assist_mem_single() does not compute
      RIP-relative addresses, as the effective GPA is already provided in
      'exit->u.mem.gpa'.
    - Other MMIO exits handled by assist_mem_double_movs() do call
      store_to_gva(), but only for RSI/RDI-based operands.
    
    Credit: Claude Sonnet 4.5 (https://claude.ai/)

Summary of changes:
 lib/libnvmm/libnvmm_x86.c | 5 +++++
 1 file changed, 5 insertions(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ceb0e4965a3cd53334a60f24d986a74a457b8d8d


-- 
DragonFly BSD source repository


More information about the Commits mailing list