To answer my own question, this works:
stap -v -g -e 'probe syscall.vmsplice = kernel.function("sys_vmsplice") ? { name = "vmsplice" argstr = sprintf("%d, %p, %d, 0x%x", $fd, $iov, $nr_segs, $flags) }
probe syscall.vmsplice { printf("blocking vmsplice (%s) uid %d pid %d exec %s\n", argstr, uid(), pid(), execname()) $nr_segs = 0 }'
To answer my own question, this works:
stap -v -g -e 'probe syscall.vmsplice = kernel. function( "sys_vmsplice" ) ? {
name = "vmsplice"
argstr = sprintf("%d, %p, %d, 0x%x", $fd, $iov, $nr_segs, $flags)
}
probe syscall.vmsplice {
printf("blocking vmsplice (%s) uid %d pid %d exec %s\n", argstr, uid(),
pid(), execname())
$nr_segs = 0
}'