From: Peter Krempa <pkrempa@redhat.com> Commit d249170bf609d2c modified the arguments of 'virNetTLSContextNew' which has a systemtap probe point defined. This in turn meant that the probe point needed to be modified too. Unfortunately the systemtap generator doesn't handle double pointers correctly and in fact systemtap doesn't even seem to have a possibility to fetch a list of strings from userspace natively. This meant that an invalid probe definition was generated: probe libvirt.rpc.tls_context_new = process("/usr/lib64/libvirt.so").mark("rpc_tls_context_new") { ctxt = $arg1; cacert = user_string($arg2); cacrl = user_string($arg3); *cert = $arg4; *keys = $arg5; sanityCheckCert = $arg6; requireValidCert = $arg7; isServer = $arg8; } Leading to the following failure: # stap -ve 'probe oneshot {exit()}' parse error: expected literal string or number saw: operator '*' at /usr/share/systemtap/tapset/libvirt_probes-64.stp:204:3 source: *cert = $arg4; ^ 1 parse error. To address the issue declare the 'cert' and 'keys' parameters as 'void *', we can't really do anything else as string lists aren't supported, which will make our generator generate correct code once again. Resolves: https://issues.redhat.com/browse/RHEL-153832 Fixes: d249170bf609d2cb89c36477b0f9ca0908f25985 Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/libvirt_probes.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libvirt_probes.d b/src/libvirt_probes.d index d9e75d9797..16d1decf46 100644 --- a/src/libvirt_probes.d +++ b/src/libvirt_probes.d @@ -54,7 +54,7 @@ provider libvirt { # file: src/rpc/virnettlscontext.c # prefix: rpc probe rpc_tls_context_new(void *ctxt, const char *cacert, const char *cacrl, - const char **cert, const char **keys, + void *cert, void *keys, int sanityCheckCert, int requireValidCert, int isServer); probe rpc_tls_context_dispose(void *ctxt); probe rpc_tls_context_session_allow(void *ctxt, void *sess, const char *dname); -- 2.53.0