diff options
Diffstat (limited to 'tapset/rpc.stp')
-rw-r--r-- | tapset/rpc.stp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tapset/rpc.stp b/tapset/rpc.stp index f9390054..537bf348 100644 --- a/tapset/rpc.stp +++ b/tapset/rpc.stp @@ -950,22 +950,22 @@ function port_from_clnt:long(clnt:long) function clones_from_clnt:long(clnt:long) %{ /* pure */ struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt; + THIS->__retvalue = -1; #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,22) - THIS->__retvalue = kread(&(clnt->cl_count)); + deref(sizeof(clnt->cl_count), &(clnt->cl_count)); + THIS->__retvalue = atomic_read(&(clnt->cl_count)); CATCH_DEREF_FAULT(); -#else - THIS->__retvalue = -1; #endif %} function tasks_from_clnt:long(clnt:long) %{ /* pure */ struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt; + THIS->__retvalue = -1; #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,22) - THIS->__retvalue = kread(&(clnt->cl_users)); + deref(sizeof(clnt->cl_users), &(clnt->cl_users)); + THIS->__retvalue = atomic_read(&(clnt->cl_users)); CATCH_DEREF_FAULT(); -#else - THIS->__retvalue = -1; #endif %} |