[1] = { .scnprintf = SCA_PTR, /* arg2 */ }, }, },
        { .name     = "bind",
          .arg = { [0] = { .scnprintf = SCA_INT, /* fd */ },
-                  [1] = { .scnprintf = SCA_SOCKADDR, /* umyaddr */ },
+                  [1] = SCA_SOCKADDR_FROM_USER(umyaddr),
                   [2] = { .scnprintf = SCA_INT, /* addrlen */ }, }, },
        { .name     = "bpf",
          .arg = { [0] = STRARRAY(cmd, bpf_cmd), }, },
          .arg = { [0] = { .scnprintf = SCA_CLOSE_FD, /* fd */ }, }, },
        { .name     = "connect",
          .arg = { [0] = { .scnprintf = SCA_INT, /* fd */ },
-                  [1] = { .scnprintf = SCA_SOCKADDR, /* servaddr */ },
+                  [1] = SCA_SOCKADDR_FROM_USER(servaddr),
                   [2] = { .scnprintf = SCA_INT, /* addrlen */ }, }, },
        { .name     = "epoll_ctl",
          .arg = { [1] = STRARRAY(op, epoll_ctl_ops), }, },
          .arg = { [2] = { .scnprintf = SCA_MSG_FLAGS, /* flags */ }, }, },
        { .name     = "sendto",
          .arg = { [3] = { .scnprintf = SCA_MSG_FLAGS, /* flags */ },
-                  [4] = { .scnprintf = SCA_SOCKADDR, /* addr */ }, }, },
+                  [4] = SCA_SOCKADDR_FROM_USER(addr), }, },
        { .name     = "set_tid_address", .errpid = true, },
        { .name     = "setitimer",
          .arg = { [0] = STRARRAY(which, itimers), }, },
 
 size_t syscall_arg__scnprintf_sockaddr(char *bf, size_t size, struct syscall_arg *arg);
 #define SCA_SOCKADDR syscall_arg__scnprintf_sockaddr
 
+// 'argname' is just documentational at this point, to remove the previous comment with that info
+#define SCA_SOCKADDR_FROM_USER(argname) \
+         { .scnprintf  = SCA_SOCKADDR, \
+           .from_user  = true, }
+
 size_t syscall_arg__scnprintf_socket_protocol(char *bf, size_t size, struct syscall_arg *arg);
 #define SCA_SK_PROTO syscall_arg__scnprintf_socket_protocol