]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Review the vmsplice syscall wrapper
authorMartin Cermak <mcermak@redhat.com>
Fri, 8 Aug 2025 21:38:33 +0000 (23:38 +0200)
committerMark Wielaard <mark@klomp.org>
Sat, 9 Aug 2025 00:40:59 +0000 (02:40 +0200)
Reuse the vmsplice syscall wrapper in coregrind/m_syswrap/syswrap-linux.c
for mips64 as well. And make sure arm64-linux and riscv64-linux also use
the POST vmsplice wrapper.

NEWS
coregrind/m_syswrap/syswrap-arm64-linux.c
coregrind/m_syswrap/syswrap-mips64-linux.c
coregrind/m_syswrap/syswrap-nanomips-linux.c
coregrind/m_syswrap/syswrap-riscv64-linux.c

diff --git a/NEWS b/NEWS
index a38078277112058bff3253bdefb10932551533f4..1b2e3871cba16f6d50343d60acb8751d7972e43f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -71,6 +71,7 @@ are not entered into bugzilla tend to get forgotten about or ignored.
 507868  futimesat doesn't handle AT_FDCWD
 507873  Make fchmodat and fchmodat2 syscall wrappers accept AT_FDCWD
 507897  Allow for patching LTP sources
+508029  Review the vmsplice syscall wrapper
 
 To see details of a given bug, visit
   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
index 40eb65432449a88f398daf8033a5fc1f911712c2..f6f63a52e76e55797b28869bf0a2d28bdb3233dd 100644 (file)
@@ -623,7 +623,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY(__NR_pselect6,          sys_pselect6),          // 72
    LINXY(__NR_ppoll,             sys_ppoll),             // 73
    LINXY(__NR_signalfd4,         sys_signalfd4),         // 74
-   LINX_(__NR_vmsplice,          sys_vmsplice),          // 75
+   LINXY(__NR_vmsplice,          sys_vmsplice),          // 75
    LINX_(__NR_splice,            sys_splice),            // 76
    LINX_(__NR_tee,               sys_tee),               // 77
    LINXY(__NR_readlinkat,        sys_readlinkat),        // 78
index bdfb20383730d2655ceebc6c83d37c888aa43d32..5234ccc377d89ac2e51a298a62e33152fd96acb7 100644 (file)
@@ -215,7 +215,6 @@ SysRes sys_set_tls ( ThreadId tid, Addr tlsptr )
    file, but that requires even more macro magic. */
 
 DECL_TEMPLATE (mips_linux, sys_set_thread_area);
-DECL_TEMPLATE (mips_linux, sys_vmsplice);
 DECL_TEMPLATE (mips_linux, sys_swapon);
 DECL_TEMPLATE (mips_linux, sys_swapoff);
 DECL_TEMPLATE (mips_linux, sys_setdomainname);
@@ -230,14 +229,6 @@ DECL_TEMPLATE (mips_linux, sys_rt_sigreturn);
 DECL_TEMPLATE (mips_linux, sys_pipe);
 DECL_TEMPLATE (mips_linux, sys_fadvise64);
 
-PRE(sys_vmsplice)
-{
-   PRINT("sys_vmsplice ( %ld, %#" FMT_REGWORD "x, %" FMT_REGWORD "u, %ld )",
-         SARG1, ARG2, ARG3, SARG4);
-   PRE_REG_READ4(long, "sys_vmsplice", int, fdin, struct vki_iovec *, v,
-                 vki_size_t, len, int, flags);
-}
-
 PRE(sys_sched_rr_get_interval)
 {
    PRINT("sys_sched_rr_get_interval ( %ld, %#" FMT_REGWORD "x)", SARG1, ARG2);
@@ -765,7 +756,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINX_ (__NR_splice, sys_splice),
    LINX_ (__NR_sync_file_range, sys_sync_file_range),
    LINX_ (__NR_tee, sys_tee),
-   PLAX_ (__NR_vmsplice, sys_vmsplice),
+   LINXY (__NR_vmsplice, sys_vmsplice),
    LINX_ (__NR_set_robust_list, sys_set_robust_list),
    LINXY (__NR_get_robust_list, sys_get_robust_list),
    LINXY (__NR_epoll_pwait, sys_epoll_pwait),
index a4da2be9ba251288849c368132695f6f871fefad..17b39a89c60ccf82132bc8d5f956491808d4d4ca 100644 (file)
@@ -628,7 +628,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY (__NR_pselect6,               sys_pselect6),
    LINXY (__NR_ppoll,                  sys_ppoll),
    LINXY (__NR_signalfd4,              sys_signalfd4),
-   LINX_ (__NR_vmsplice,               sys_vmsplice),
+   LINXY (__NR_vmsplice,               sys_vmsplice),
    LINX_ (__NR_splice,                 sys_splice),
    LINX_ (__NR_tee,                    sys_tee),
    LINXY (__NR_readlinkat,             sys_readlinkat),
index d572672f85d327fb4272e89d9d38834232ec9c85..c3ab78ef594f5444ba1fadf0ac086a7c5db535bd 100644 (file)
@@ -383,7 +383,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY(__NR_pselect6, sys_pselect6),                             /* 72 */
    LINXY(__NR_ppoll, sys_ppoll),                                   /* 73 */
    LINXY(__NR_signalfd4, sys_signalfd4),                           /* 74 */
-   LINX_(__NR_vmsplice, sys_vmsplice),                             /* 75 */
+   LINXY(__NR_vmsplice, sys_vmsplice),                             /* 75 */
    LINX_(__NR_splice, sys_splice),                                 /* 76 */
    LINX_(__NR_tee, sys_tee),                                       /* 77 */
    LINXY(__NR_readlinkat, sys_readlinkat),                         /* 78 */