--- /dev/null
+// Use the first parameter if it's @defined, otherwise use the second parameter
+@define choose_defined(value_if_defined, alternate) %(
+ ( @defined(@value_if_defined) ? (@value_if_defined) : (@alternate) )
+%)
*/
function d_path:string(nd:long)
{
- dentry = (@defined(@cast(nd,"nameidata")->path->dentry)
- ? @cast(nd,"nameidata")->path->dentry
- : @cast(nd,"nameidata")->dentry)
- vfsmnt = (@defined(@cast(nd,"nameidata")->path->mnt)
- ? @cast(nd,"nameidata")->path->mnt
- : @cast(nd,"nameidata")->mnt)
+ dentry = @choose_defined(@cast(nd,"nameidata")->path->dentry,
+ @cast(nd,"nameidata")->dentry)
+ vfsmnt = @choose_defined(@cast(nd,"nameidata")->path->mnt,
+ @cast(nd,"nameidata")->mnt)
return sprintf("%s/", task_dentry_path(task_current(), dentry, vfsmnt))
}
ussp = %( kernel_vr < "2.6.25" %? $ebx %: %( kernel_vr < "2.6.30" %? $bx %: $regs->bx %) %)
%)
if (@defined($regs)) {
- uss_uaddr = (@defined($uss) ? $uss : $regs->bx)
- uoss_uaddr = (@defined($uoss) ? $uoss : $regs->cx)
+ uss_uaddr = @choose_defined($uss, $regs->bx)
+ uoss_uaddr = @choose_defined($uoss, $regs->cx)
regs = $regs
}
else if (@defined($bx)) { # kernels < "2.6.30"
*/
function inet_get_local_port:long(sock:long)
{
- return (@defined(@cast(sock, "inet_sock")->inet_num)
- ? @cast(sock, "inet_sock")->inet_num # kernel >= 2.6.33
- : (@defined(@cast(sock, "inet_sock")->num)
- ? @cast(sock, "inet_sock", "kernel")->num # kernel >= 2.6.11
- : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->num))
+ return @choose_defined(@cast(sock, "inet_sock")->inet_num, # kernel >= 2.6.33
+ @choose_defined(@cast(sock, "inet_sock")->num, # kernel >= 2.6.11
+ @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->num))
}
/**
vcnt = $bio->bi_vcnt
idx = $bio->bi_idx
phys_segments = $bio->bi_phys_segments
- hw_segments = (@defined($bio->bi_hw_segments)
- ? $bio->bi_hw_segments : 0)
+ hw_segments = @choose_defined($bio->bi_hw_segments, 0)
size = $bio->bi_size
bdev = $bio->bi_bdev
devname = __bio_devname($bio)
ino = __bio_ino($bio)
- bytes_done = (@defined($bytes_done) ? $bytes_done : $bio->bi_size)
+ bytes_done = @choose_defined($bytes_done, $bio->bi_size)
error = $error
sector = $bio->bi_sector
vcnt = $bio->bi_vcnt
idx = $bio->bi_idx
phys_segments = $bio->bi_phys_segments
- hw_segments = (@defined($bio->bi_hw_segments)
- ? $bio->bi_hw_segments : 0)
+ hw_segments = @choose_defined($bio->bi_hw_segments, 0)
size = $bio->bi_size
}
kernel.function("elv_next_request")
{
name = "elv_next_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
}
/**
disk_minor = -1
} else {
rq = $return
- rq_flags = (@defined($return->cmd_flags) ? $return->cmd_flags
- : $return->flags)
+ rq_flags = @choose_defined($return->cmd_flags, $return->flags)
if ($return->rq_disk == 0) {
disk_major = -1
disk_minor = -1
= kernel.function("elv_completed_request")
{
name = "elv_completed_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
if($rq == 0) {
disk_major = -1
disk_minor = -1
rq = $rq
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
kernel.function("__elv_add_request")
{
name = "elv_add_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
q = $q
if($rq == 0) {
disk_major = -1
rq = $rq
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
{
name = "elv_add_request"
q = $q
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
}
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
= kernel.trace("block_rq_complete") ?
{
name = "elv_completed_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
}
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
= kernel.trace("block_rq_issue") ?
{
name = "elv_issue_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
}
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
= kernel.trace("block_rq_requeue") ?
{
name = "elv_requeue_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
}
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
= kernel.trace("block_rq_abort") ?
{
name = "elv_abort_request"
- elevator_name = kernel_string(@defined($q->elevator->type)
- ? $q->elevator->type->elevator_name
- : (@defined($q->elevator->elevator_type)
- ? $q->elevator->elevator_type->elevator_name
- : $q->elevator->elevator_name))
+ elevator_name = kernel_string(
+ @choose_defined($q->elevator->type->elevator_name,
+ @choose_defined($q->elevator->elevator_type->elevator_name,
+ $q->elevator->elevator_name)))
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
}
rq_flags = ($rq == 0) ? 0
- : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+ : @choose_defined($rq->cmd_flags, $rq->flags)
}
/**
{
family = @cast(sock, "inet_sock", "kernel<net/ip.h>")->sk->__sk_common->skc_family
if (family == %{ /* pure */ /* unprivileged */ AF_INET %}) {
- return (@defined(@cast(sock, "inet_sock")->inet_saddr)
- ? @cast(sock, "inet_sock")->inet_saddr # kernel >= 2.6.33
- : (@defined(@cast(sock, "inet_sock")->saddr)
- ? # kernel >= 2.6.11
- @cast(sock, "inet_sock", "kernel")->saddr
- : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->saddr))
+ return @choose_defined(@cast(sock, "inet_sock")->inet_saddr, # kernel >= 2.6.33
+ @choose_defined(@cast(sock, "inet_sock")->saddr, # kernel >= 2.6.11
+ @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->saddr))
}
%( CONFIG_IPV6 == "[ym]" %?
else if (family == %{ /* pure */ /* unprivileged */ AF_INET6 %}) {
{
family = @cast(sock, "inet_sock", "kernel<net/ip.h>")->sk->__sk_common->skc_family
if (family == %{ /* pure */ /* unprivileged */ AF_INET %}) {
- return (@defined(@cast(sock, "inet_sock")->sk->__sk_common->skc_daddr)
- ? # kernel >= 2.6.38
- @cast(sock, "inet_sock")->sk->__sk_common->skc_daddr
- : (@defined(@cast(sock, "inet_sock")->inet_daddr)
- ? @cast(sock, "inet_sock")->inet_daddr # kernel >= 2.6.33
- : (@defined(@cast(sock, "inet_sock")->daddr)
- ? # kernel >= 2.6.11
- @cast(sock, "inet_sock", "kernel")->daddr
- : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->daddr)))
+ return @choose_defined(@cast(sock, "inet_sock")->sk->__sk_common->skc_daddr, # kernel >= 2.6.38
+ @choose_defined(@cast(sock, "inet_sock")->inet_daddr, # kernel >= 2.6.33
+ @choose_defined(@cast(sock, "inet_sock")->daddr, # kernel >= 2.6.11
+ @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->daddr)))
}
%( CONFIG_IPV6 == "[ym]" %?
else if (family == %{ /* pure */ /* unprivileged */ AF_INET6 %}) {
probe ipmib.OutRequests=kernel.function("ip_output"),
kernel.function("ip_mc_output")
{
- skb = @defined($skb) ? $skb : kernel_pointer($pskb);
+ skb = @choose_defined($skb, kernel_pointer($pskb));
op = 1;
SourceIsLocal = 1;
key = ipmib_filter_key(skb,op,SourceIsLocal);
function _input_route_type:long (skb:long)
{
- rt = (@defined(@cast(skb, "sk_buff")->_skb_dst)
- ? @cast(skb, "sk_buff")->_skb_dst
- : (@defined(@cast(skb, "sk_buff")->rtable)
- ? @cast(skb, "sk_buff")->rtable
- : 0))
+ rt = @choose_defined(@cast(skb, "sk_buff")->_skb_dst,
+ @choose_defined(@cast(skb, "sk_buff")->rtable, 0))
return rt ? @cast(rt, "rtable")->rt_type : _rtn_unspec()
}
function _output_route_type:long (skb:long)
{
- rt = (@defined(@cast(skb, "sk_buff")->_skb_dst)
- ? @cast(skb, "sk_buff")->_skb_dst
- : (@defined(@cast(skb, "sk_buff")->dst)
- ? @cast(skb, "sk_buff")->dst
- : 0))
+ rt = @choose_defined(@cast(skb, "sk_buff")->_skb_dst,
+ @choose_defined(@cast(skb, "sk_buff")->dst, 0))
return rt ? @cast(rt, "rtable")->rt_type : _rtn_unspec()
}
kernel.trace("softirq_entry") ?
{
# kernels < 2.6.37
- h = (@defined($h) ? $h : 0)
- vec = (@defined($vec) ? $vec : 0)
+ h = @choose_defined($h, 0)
+ vec = @choose_defined($vec, 0)
action = (@defined($h) ? @cast($h,"softirq_action","kernel<linux/interrupt.h>")->action : 0)
# kernels >= 2.6.37
- vec_nr = (@defined($vec_nr) ? $vec_nr : 0)
+ vec_nr = @choose_defined($vec_nr, 0)
}
/**
kernel.trace("softirq_exit") ?
{
# kernels < 2.6.37
- h = (@defined($h) ? $h : 0)
- vec = (@defined($vec) ? $vec : 0)
+ h = @choose_defined($h, 0)
+ vec = @choose_defined($vec, 0)
action = (@defined($h) ? @cast($h,"softirq_action","kernel<linux/interrupt.h>")->action : 0)
# kernels >= 2.6.37
- vec_nr = (@defined($vec_nr) ? $vec_nr : 0)
+ vec_nr = @choose_defined($vec_nr, 0)
}
*/
probe linuxmib.TCPMemoryPressures=kernel.function("tcp_enter_memory_pressure")
{
- sk = (@defined($sk) ? $sk : 0)
+ sk = @choose_defined($sk, 0)
op = 1;
if ( $tcp_memory_pressure ) next
key = linuxmib_filter_key(sk,op);
# '$size' argument above). Note that we can see the '$flags'
# argument on x86_64 f11 (2.6.29.4-167.fc11.x86_64). So, the
# best we can do here is just use 0 when $flags isn't defined.
- gfp_flags = (@defined($flags) ? $flags : 0)
- gfp_flag_name = __gfp_flag_str(@defined($flags) ? $flags : 0)
+ gfp_flags = @choose_defined($flags, 0)
+ gfp_flag_name = __gfp_flag_str(@choose_defined($flags, 0))
ptr = $return
}
{
call_site = 0
caller_function = "unknown"
- ptr = (@defined($x) ? $x : $objp)
+ ptr = @choose_defined($x, $objp)
}
/**
{
call_site = 0
caller_function = "unknown"
- ptr = (@defined($x) ? $x : $objp)
+ ptr = @choose_defined($x, $objp)
}
/**
= kernel.function("dev_change_rx_flags") ?
{
dev_name = (@defined($dev) ? get_netdev_name($dev) : "unknown")
- flags = (@defined($flags) ? $flags : 0)
+ flags = @choose_defined($flags, 0)
}
/**
{
if (inode == 0)
return -1
- return (@defined(@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty)
- ? @cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty
- : -1)
+ return @choose_defined(@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty, -1)
}
/* Get rsize from struct inode */
function __file_inode:long (file:long)
{
dentry = file
- ? (@defined(@cast(file, "file", "kernel:nfs")->f_path->dentry)
- ? @cast(file, "file", "kernel:nfs")->f_path->dentry
- : @cast(file, "file", "kernel:nfs")->f_dentry)
+ ? @choose_defined(@cast(file, "file", "kernel:nfs")->f_path->dentry,
+ @cast(file, "file", "kernel:nfs")->f_dentry)
: 0
if (dentry == 0)
return 0
function __file_parentname:string (file:long)
{
dentry = file
- ? (@defined(@cast(file, "file", "kernel:nfs")->f_path->dentry)
- ? @cast(file, "file", "kernel:nfs")->f_path->dentry
- : @cast(file, "file", "kernel:nfs")->f_dentry)
+ ? @choose_defined(@cast(file, "file", "kernel:nfs")->f_path->dentry,
+ @cast(file, "file", "kernel:nfs")->f_dentry)
: 0
d_parent = dentry? @cast(dentry, "dentry", "kernel:nfs")->d_parent : 0
if (d_parent == 0)
function NFS_PROTO:long(inode:long)
{
nfsserver = NFS_SERVER(inode)
- return (@defined(@cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client)
- ? @cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client->rpc_ops
- : @cast(nfsserver, "nfs_server", "kernel:nfs")->rpc_ops)
+ return @choose_defined(@cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client->rpc_ops,
+ @cast(nfsserver, "nfs_server", "kernel:nfs")->rpc_ops)
}
count = $data->args->count
offset = $data->args->offset
- how = (@defined($how) ? $how : $data->args->stable)
+ how = @choose_defined($how, $data->args->stable)
bitmask0 = 0
bitmask1 = 0
count = $data->args->count
offset = $data->args->offset
- how = (@defined($how) ? $how : $data->args->stable)
+ how = @choose_defined($how, $data->args->stable)
bitmask0 = 0
bitmask1 = 0
count = $data->args->count
offset = $data->args->offset
- how = (@defined($how) ? $how : $data->args->stable)
+ how = @choose_defined($how, $data->args->stable)
bitmask0 = __nfsv4_bitmask($data->inode,0)
bitmask1 = __nfsv4_bitmask($data->inode,1)
//timestamp = $jiffies
count = $argp->count
offset = $argp->offset
- vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+ vec = @choose_defined($rqstp->rq_vec, $argp->vec)
vlen = $argp->vlen
name = "nfsd.proc2.read"
count = $argp->count
offset = $argp->offset
- vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+ vec = @choose_defined($rqstp->rq_vec, $argp->vec)
vlen = $argp->vlen
name = "nfsd.proc3.read"
count = $argp->len
offset = $argp->offset
- vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+ vec = @choose_defined($rqstp->rq_vec, $argp->vec)
vlen = $argp->vlen
stable = 1 # hardcoded in nfsd_proc_write()
count = $argp->count
offset = $argp->offset
- vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+ vec = @choose_defined($rqstp->rq_vec, $argp->vec)
vlen = $argp->vlen
stable = $argp->stable
client_ip = addr_from_rqst_str($rqstp)
fh = __svc_fh($fhp)
- access = (@defined($access) ? $access : $may_flags)
+ access = @choose_defined($access, $may_flags)
type = $type
name = "nfsd.open"
client_ip = addr_from_rqst_str($rqstp)
fh = __svc_fh($fhp)
- file = (@defined($file) ? $file : 0)
+ file = @choose_defined($file, 0)
count = kernel_long($count)
offset = $offset
vec = $vec
client_ip = addr_from_rqst_str($rqstp)
fh = __svc_fh($fhp)
- file = (@defined($file) ? $file : 0)
+ file = @choose_defined($file, 0)
%( kernel_v >= "2.6.30" %?
count = kernel_long($cnt)
%:
authflavor = $args->authflavor
prot = $xprt->prot
- port = (@defined($xprt->port)
- ? $xprt->port : port_from_xprt($xprt))
+ port = @choose_defined($xprt->port, port_from_xprt($xprt))
}
else { # kernel > 2.6.18 (with bad debuginfo)
%(systemtap_v <= "1.7" %?
authflavor = $flavor
prot = $xprt->prot
- port = (@defined($xprt->port)
- ? $xprt->port : port_from_xprt($xprt))
+ port = @choose_defined($xprt->port, port_from_xprt($xprt))
}
probe _sunrpc.clnt.create_client.rpc_create_client =
}
prot = $xprt->prot
- port = (@defined($xprt->port)
- ? $xprt->port : port_from_xprt($xprt))
+ port = @choose_defined($xprt->port, port_from_xprt($xprt))
}
/*
prot = prot_from_clnt($clnt)
port = port_from_clnt($clnt)
xid = xid_from_clnt($clnt)
- dead = (@defined($clnt->cl_dead) ? $clnt->cl_dead
- : (@defined(&$clnt->cl_kref->refcount)
- ? (atomic_read(&$clnt->cl_kref->refcount) == 0)
- : (atomic_read(&$clnt->cl_count) == 0)))
+ dead = @choose_defined($clnt->cl_dead,
+ atomic_read(@choose_defined(&$clnt->cl_kref->refcount,
+ &$clnt->cl_count)) == 0)
proc = proc_from_msg($msg)
- procname = (@defined($msg->rpc_proc->p_name)
- ? ($msg->rpc_proc->p_name
- ? kernel_string($msg->rpc_proc->p_name) : "NULL")
- : "NULL")
+ procname = kernel_string2(@choose_defined($msg->rpc_proc->p_name, 0), "NULL")
flags = $flags
name = "sunrpc.clnt.call_sync"
prot = prot_from_clnt($clnt)
port = port_from_clnt($clnt)
xid = xid_from_clnt($clnt)
- dead = (@defined($clnt->cl_dead) ? $clnt->cl_dead
- : (@defined(&$clnt->cl_kref->refcount)
- ? (atomic_read(&$clnt->cl_kref->refcount) == 0)
- : (atomic_read(&$clnt->cl_count) == 0)))
+ dead = @choose_defined($clnt->cl_dead,
+ atomic_read(@choose_defined(&$clnt->cl_kref->refcount,
+ &$clnt->cl_count)) == 0)
proc = proc_from_msg($msg)
- procname = (@defined($msg->rpc_proc->p_name)
- ? ($msg->rpc_proc->p_name
- ? kernel_string($msg->rpc_proc->p_name) : "NULL")
- : "NULL")
+ procname = kernel_string2(@choose_defined($msg->rpc_proc->p_name, 0), "NULL")
flags = $flags
name = "sunrpc.clnt.call_async"
{
if (clnt == 0)
return 0
- if (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog))
- return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog
- else
- return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_prog
+ return @choose_defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog,
+ @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_prog)
}
function vers_from_clnt:long(clnt:long)
{
if (clnt == 0)
return 0
- if (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers))
- return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers
- else
- return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_vers
+ return @choose_defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers,
+ @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_vers)
}
function prot_from_clnt:long(clnt:long)
kernel.function("set_task_cpu") !,
kernel.function("pull_task") ?
{
- cpu_to = (@defined($new_cpu) ? $new_cpu
- : @defined($cpu) ? $cpu : $this_cpu)
+ cpu_to = @choose_defined($new_cpu,
+ @choose_defined($cpu, $this_cpu))
}
probe __scheduler.migrate.tp = kernel.trace("sched_migrate_task")
{
probe scsi.ioentry = scsi.ioentry.* ?
{
- req_addr = @defined($req) ? $req : $rq;
+ req_addr = @choose_defined($req, $rq);
if(@cast(req_addr,"request")->rq_disk == 0) {
disk_major = -1
disk_minor = -1
device_state_str = describe_device_state(device_state)
data_direction = $cmd->sc_data_direction
data_direction_str = describe_data_direction(data_direction)
- request_buffer = (@defined($cmd->sdb->table->sgl)
- ? $cmd->sdb->table->sgl : $cmd->request_buffer)
- request_bufflen = (@defined($cmd->sdb->length)
- ? $cmd->sdb->length : $cmd->request_bufflen)
+ request_buffer = @choose_defined($cmd->sdb->table->sgl,
+ $cmd->request_buffer)
+ request_bufflen = @choose_defined($cmd->sdb->length,
+ $cmd->request_bufflen)
req_addr = $cmd->request
}
function timer_pending:long(timer:long)
{
- return (@defined(@cast(timer, "timer_list")->entry->next)
- ? (@cast(timer, "timer_list")->entry->next != 0)
- : (@cast(timer, "timer_list")->base != 0))
+ return (@choose_defined(@cast(timer, "timer_list")->entry->next,
+ @cast(timer, "timer_list")->base) != 0)
}
function scsi_timer_pending:long(cmd:long)
probe __signal.send.send_sigqueue = kernel.function("send_sigqueue")
{
name = "send_sigqueue"
- task = (@defined($t) ? $t : $p)
- sig = (@defined($q->info->si_signo) ? $q->info->si_signo : $sig)
- sinfo = (@defined($q->info) ? $q->info : 0)
+ task = @choose_defined($t, $p)
+ sig = @choose_defined($q->info->si_signo, $sig)
+ sinfo = @choose_defined($q->info, 0)
shared = 0
send2queue = 1
}
sinfo = $info
sig_code = $info->si_code
ka_addr = $ka
- oldset_addr = (@defined($oldset) ? $oldset : $set)
+ oldset_addr = @choose_defined($oldset, $set)
regs = $regs
// Check whether the signal is a User Mode or Kernel mode Signal.
name = "socket.aio_write"
_sock = _get_sock_addr ($iocb->ki_filp)
size = (@defined($iov) ? _get_sock_size ($iov, $nr_segs)
- : @defined($count) ?$count : $size)
+ : @choose_defined($count, $size))
protocol = _sock_prot_num (_sock)
family = _sock_fam_num (_sock)
state = _sock_state_num (_sock)
name = "socket.aio_read"
_sock = _get_sock_addr ($iocb->ki_filp)
size = (@defined($iov) ? _get_sock_size ($iov, $nr_segs)
- : @defined($count) ?$count : $size)
+ : @choose_defined($count, $size))
protocol = _sock_prot_num (_sock)
family = _sock_fam_num (_sock)
state = _sock_state_num (_sock)
{
oldfd = $oldfd
newfd = $newfd
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
# Corner case handled by dup2
if ($oldfd == $newfd && flags == 0) next
probe syscall.dup2.return = kernel.function("sys_dup3").return !,
kernel.function("sys_dup2").return
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
# Corner case handled by dup2
if ($oldfd == $newfd && flags == 0) next
probe syscall.epoll_create = kernel.function("sys_epoll_create1").call !,
kernel.function("sys_epoll_create").call ?
{
- size = @defined($size) ? $size : 0;
- flags = @defined($flags) ? $flags : 0;
+ size = @choose_defined($size, 0);
+ flags = @choose_defined($flags, 0);
if (flags == 0) {
name = "epoll_create";
argstr = sprint(size);
probe syscall.epoll_create.return = kernel.function("sys_epoll_create1").return !,
kernel.function("sys_epoll_create").return ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
name = (flags == 0) ? "epoll_create" : "epoll_create1";
retstr = return_str(1, $return)
}
probe syscall.eventfd = kernel.function("sys_eventfd2").call !,
kernel.function("sys_eventfd").call ?
{
- flags = @defined($flags) ? $flags : 0
+ flags = @choose_defined($flags, 0)
if (flags == 0) {
name = "eventfd"
argstr = sprint($count)
probe syscall.eventfd.return = kernel.function("sys_eventfd2").return !,
kernel.function("sys_eventfd").return ?
{
- flags = @defined($flags) ? $flags : 0
+ flags = @choose_defined($flags, 0)
name = flags == 0 ? "eventfd" : "eventfd2"
retstr = return_str(1, $return)
}
name = "execve"
filename = kernel_string($filename)
# kernel 3.0 changed the pointer's name to __argv
- __argv = @defined($__argv) ? $__argv : $argv
+ __argv = @choose_defined($__argv, $argv)
args = __get_argv(__argv, 0)
argstr = sprintf("%s %s", filename, __get_argv(__argv, 1))
}
name = "compat_execve"
filename = kernel_string($filename)
# kernel 3.0 changed the pointer's name to __argv
- __argv = @defined($__argv) ? $__argv : $argv
+ __argv = @choose_defined($__argv, $argv)
args = __get_compat_argv(__argv, 0)
argstr = sprintf("%s %s", filename, __get_compat_argv(__argv, 1))
}
probe syscall.fadvise64 = kernel.function("sys_fadvise64").call ?
{
name = "fadvise64"
- fd = (@defined($fd) ? $fd : 0)
- offset = (@defined($offset) ? $offset : 0)
- len = (@defined($len) ? $len : 0)
- advice = (@defined($advice) ? $advice : 0)
+ fd = @choose_defined($fd, 0)
+ offset = @choose_defined($offset, 0)
+ len = @choose_defined($len, 0)
+ advice = @choose_defined($advice, 0)
argstr = sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice))
}
probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return ?
probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64").call ?
{
name = "fadvise64_64"
- fd = (@defined($fd) ? $fd : 0)
- offset = (@defined($offset) ? $offset : 0)
- len = (@defined($len) ? $len : 0)
- advice = (@defined($advice) ? $advice : 0)
+ fd = @choose_defined($fd, 0)
+ offset = @choose_defined($offset, 0)
+ len = @choose_defined($len, 0)
+ advice = @choose_defined($advice, 0)
argstr = sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice))
}
probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return ?
kernel.function("sys_getresgid").call
{
name = "getresgid"
- rgid_uaddr = @defined($rgidp) ? $rgidp : $rgid
- egid_uaddr = @defined($egidp) ? $egidp : $egid
- sgid_uaddr = @defined($sgidp) ? $sgidp : $sgid
- argstr = sprintf("%p, %p, %p", (@defined($rgidp) ? $rgidp : $rgid),
- (@defined($egidp) ? $egidp : $egid),
- (@defined($sgidp) ? $sgidp : $sgid))
+ rgid_uaddr = @choose_defined($rgidp, $rgid)
+ egid_uaddr = @choose_defined($egidp, $egid)
+ sgid_uaddr = @choose_defined($sgidp, $sgid)
+ argstr = sprintf("%p, %p, %p", @choose_defined($rgidp, $rgid),
+ @choose_defined($egidp, $egid),
+ @choose_defined($sgidp, $sgid))
}
probe syscall.getresgid.return = kernel.function("sys_getresgid16").return ?,
kernel.function("sys_getresgid").return
kernel.function("sys_getresuid").call
{
name = "getresuid"
- ruid_uaddr = @defined($ruidp) ? $ruidp : $ruid
- euid_uaddr = @defined($euidp) ? $euidp : $euid
- suid_uaddr = @defined($suidp) ? $suidp : $suid
- argstr = sprintf("%p, %p, %p", (@defined($ruidp) ? $ruidp : $ruid),
- (@defined($euidp) ? $euidp : $euid),
- (@defined($suidp) ? $suidp : $suid))
+ ruid_uaddr = @choose_defined($ruidp, $ruid)
+ euid_uaddr = @choose_defined($euidp, $euid)
+ suid_uaddr = @choose_defined($suidp, $suid)
+ argstr = sprintf("%p, %p, %p", @choose_defined($ruidp, $ruid),
+ @choose_defined($euidp, $euid),
+ @choose_defined($suidp, $suid))
}
probe syscall.getresuid.return = kernel.function("sys_getresuid16").return ?,
kernel.function("sys_getresuid").return
probe syscall.getxattr = kernel.function("sys_getxattr").call
{
name = "getxattr"
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path = user_string(@choose_defined($pathname, $path))
# 'name2' should have been 'name_str'. Deprecate the old name.
%(systemtap_v <= "1.4" %?
name2 = user_string($name)
value_uaddr = $value
size = $size
argstr = sprintf("%s, %s, %p, %d",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
user_string_quoted($name),
$value, $size)
}
name = "inotify_add_watch"
fd = $fd
mask = $mask
- path_uaddr = (@defined($pathname) ? $pathname : $path)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path_uaddr = @choose_defined($pathname, $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%d, %s, %s", $fd,
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
_inotify_watch_mask_str($mask))
}
probe syscall.inotify_init = kernel.function("sys_inotify_init1").call !,
kernel.function("sys_inotify_init").call ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
if (flags == 0) {
name = "inotify_init"
argstr = ""
probe syscall.inotify_init.return = kernel.function("sys_inotify_init1").return !,
kernel.function("sys_inotify_init").return ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
name = (flags == 0) ? "inotify_init" : "inotify_init1"
retstr = return_str(1, $return)
}
probe syscall.lgetxattr = kernel.function("sys_lgetxattr").call
{
name = "lgetxattr"
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path = user_string(@choose_defined($pathname, $path))
# 'name2' should have been 'name_str'. Deprecate the old name.
%(systemtap_v <= "1.4" %?
name2 = user_string($name)
value_uaddr = $value
size = $size
argstr = sprintf("%s, %s, %p, %d",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
user_string_quoted($name),
value_uaddr, size)
}
name = "listxattr"
list_uaddr = $list
size = $size
- path_uaddr = (@defined($pathname) ? $pathname : $path)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path_uaddr = @choose_defined($pathname, $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %p, %d",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
$list, $size)
}
probe syscall.listxattr.return = kernel.function("sys_listxattr").return
name = "llistxattr"
list_uaddr = $list
size = $size
- path_uaddr = (@defined($pathname) ? $pathname : $path)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path_uaddr = @choose_defined($pathname, $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %p, %d",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
$list, $size)
}
probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return
name2 = user_string($name)
%)
name_str = user_string($name)
- path_uaddr = (@defined($pathname) ? $pathname : $path)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path_uaddr = @choose_defined($pathname, $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %s",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
user_string_quoted($name))
}
probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return
probe syscall.lsetxattr = kernel.function("sys_lsetxattr").call
{
name = "lsetxattr"
- path_uaddr = (@defined($pathname) ? $pathname : $path)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path_uaddr = @choose_defined($pathname, $path)
+ path = user_string(@choose_defined($pathname, $path))
name_uaddr = $name
name_str = user_string($name)
value_uaddr = $value
size = $size
flags = $flags
argstr = sprintf("%s, %s, %p, %d, %d",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
user_string_quoted($name),
value_uaddr, $size, $flags)
}
name = "poll"
ufds_uaddr = $ufds
nfds = $nfds
- timeout = (@defined($timeout_msecs) ? $timeout_msecs : $timeout)
+ timeout = @choose_defined($timeout_msecs, $timeout)
argstr = sprintf("%p, %d, %d", $ufds, $nfds,
- (@defined($timeout_msecs) ? $timeout_msecs : $timeout))
+ @choose_defined($timeout_msecs, $timeout))
}
probe syscall.poll.return = kernel.function("sys_poll").return
{
dfd = $dfd
buf_uaddr = $buf
bufsiz = $bufsiz
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %s, %p, %d", _dfd_str($dfd),
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
$buf, $bufsiz)
}
name = "remap_file_pages"
start = $start
size = $size
- prot = (@defined($prot) ? $prot : $__prot)
+ prot = @choose_defined($prot, $__prot)
pgoff = $pgoff
flags = $flags
argstr = sprintf("%p, %p, %p, %p, %p", start, size, prot,
name = "removexattr"
name_str = user_string($name)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %s",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
user_string_quoted($name))
}
probe syscall.removexattr.return = kernel.function("sys_removexattr").return
name = "rt_sigprocmask"
how = $how
how_str = _sigprocmask_how_str($how)
- set_uaddr = @defined($set) ? $set : $nset
+ set_uaddr = @choose_defined($set, $nset)
oldset_uaddr = $oset
argstr = sprintf("%s, [%s], %p, %d", how_str, _stp_sigset_u(set_uaddr),
$oset, $sigsetsize)
{
name = "sched_setaffinity"
pid = $pid
- len = (@defined($len) ? $len : 0)
+ len = @choose_defined($len, 0)
mask_uaddr = $user_mask_ptr
argstr = sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr)
}
probe syscall.setxattr = kernel.function("sys_setxattr").call
{
name = "setxattr"
- path_uaddr = (@defined($pathname) ? $pathname : $path)
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path_uaddr = @choose_defined($pathname, $path)
+ path = user_string(@choose_defined($pathname, $path))
name_uaddr = $name
name_str = user_string($name)
value_uaddr = $value
size = $size
flags = $flags
argstr = sprintf("%s, %s, %p, %d, %d",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
user_string_quoted($name),
value_uaddr, $size, $flags)
}
probe syscall.signalfd = kernel.function("sys_signalfd4").call !,
kernel.function("sys_signalfd").call ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
if (flags == 0) {
name = "signalfd"
argstr = sprintf("%d, %p, %d", $ufd, $user_mask, $sizemask)
probe syscall.signalfd.return = kernel.function("sys_signalfd4").return !,
kernel.function("sys_signalfd").return ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
name = (flags == 0) ? "signalfd" : "signalfd4"
retstr = return_str(1, $return)
}
probe syscall.compat_signalfd = kernel.function("compat_sys_signalfd4").call !,
kernel.function("compat_sys_signalfd").call ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
if (flags == 0) {
name = "compat_signalfd"
argstr = sprintf("%d, %p, %d", $ufd, $sigmask, $sigsetsize)
kernel.function("compat_sys_signalfd4").return !,
kernel.function("compat_sys_signalfd").return ?
{
- flags = @defined($flags) ? $flags : 0;
+ flags = @choose_defined($flags, 0);
name = (flags == 0) ? "compat_signalfd" : "compat_signalfd4"
retstr = return_str(1, $return)
}
name = "sigprocmask"
how = $how
how_str = _sigprocmask_how_str($how)
- set_uaddr = @defined($set) ? $set : $nset
+ set_uaddr = @choose_defined($set, $nset)
oldset_uaddr = $oset
argstr = sprintf("%s, %p, %p", how_str, set_uaddr, $oset)
}
{
name = "statfs"
buf_uaddr = $buf
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %p",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
$buf)
}
sz = $sz
buf_uaddr = $buf
- path = user_string(@defined($pathname) ? $pathname : $path)
+ path = user_string(@choose_defined($pathname, $path))
argstr = sprintf("%s, %d, %p",
- user_string_quoted(@defined($pathname) ? $pathname : $path),
+ user_string_quoted(@choose_defined($pathname, $path)),
$sz, $buf)
}
{
name = "ustat"
dev = $dev
- ubuf_uaddr = (@defined($u) ? $u : $u32p)
- argstr = sprintf("%d, %p", $dev, (@defined($u) ? $u : $u32p))
+ ubuf_uaddr = @choose_defined($u, $u32p)
+ argstr = sprintf("%d, %p", $dev, @choose_defined($u, $u32p))
}
probe syscall.ustat.return = kernel.function("sys_ustat").return ?,
probe syscall.wait4 = kernel.function("sys_wait4").call
{
name = "wait4"
- pid = (@defined($upid) ? $upid : $pid)
+ pid = @choose_defined($upid, $pid)
status_uaddr = $stat_addr
options = $options & 0xffffffff
options_str = _wait4_opt_str(options)
rusage_uaddr = $ru
argstr = sprintf("%d, %p, %s, %p",
- (@defined($upid) ? $upid : $pid),
+ @choose_defined($upid, $pid),
$stat_addr, options_str, $ru)
}
probe syscall.wait4.return = kernel.function("sys_wait4").return
probe syscall.waitid = kernel.function("sys_waitid").call
{
name = "waitid"
- pid = (@defined($upid) ? $upid : $pid)
+ pid = @choose_defined($upid, $pid)
which = $which
which_str = _waitid_which_str($which)
infop_uaddr = $infop
options_str = _waitid_opt_str($options)
rusage_uaddr = $ru
argstr = sprintf("%d, %d, %p, %s, %p", $which,
- (@defined($upid) ? $upid : $pid), $infop,
+ @choose_defined($upid, $pid), $infop,
_waitid_opt_str($options), $ru)
}
probe syscall.waitid.return = kernel.function("sys_waitid").return
*/
function task_parent:long(task:long)
{
- return (@defined(@cast(task, "task_struct",
- "kernel<linux/sched.h>")->real_parent)
- ? @cast(task, "task_struct", "kernel<linux/sched.h>")->real_parent
- : @cast(task, "task_struct", "kernel<linux/sched.h>")->parent)
+ return @choose_defined(
+ @cast(task, "task_struct", "kernel<linux/sched.h>")->real_parent,
+ @cast(task, "task_struct", "kernel<linux/sched.h>")->parent)
}
/**
*/
function task_cpu:long (task:long)
{
- ti = (@defined(@cast(task, "task_struct", "kernel<linux/sched.h>")->stack)
- ? @cast(task, "task_struct", "kernel<linux/sched.h>")->stack
- : @cast(task, "task_struct", "kernel<linux/sched.h>")->thread_info);
+ ti = @choose_defined(@cast(task, "task_struct", "kernel<linux/sched.h>")->stack,
+ @cast(task, "task_struct", "kernel<linux/sched.h>")->thread_info);
return @cast(ti, "thread_info", "kernel<linux/sched.h>")->cpu
}
/* return the TCP destination port for a given sock */
function __tcp_sock_dport:long (sock:long)
{
- return (@defined(@cast(sock, "inet_sock")->inet_dport)
- ? @cast(sock, "inet_sock")->inet_dport # kernel >= 2.6.33
- : (@defined(@cast(sock, "inet_sock")->dport)
- ? @cast(sock, "inet_sock", "kernel")->dport # kernel >= 2.6.11
- : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->dport))
+ return @choose_defined(@cast(sock, "inet_sock")->inet_dport, # kernel >= 2.6.33
+ @choose_defined(@cast(sock, "inet_sock", "kernel")->dport, # kernel >= 2.6.11
+ @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->dport))
}
/* returns the TCP header for recent (<2.6.21) kernel */
/* return the TCP source port for a given sock */
function __tcp_sock_sport:long (sock:long)
{
- return (@defined(@cast(sock, "inet_sock")->inet_sport)
- ? @cast(sock, "inet_sock")->inet_sport # kernel >= 2.6.33
- : (@defined(@cast(sock, "inet_sock")->sport)
- ? @cast(sock, "inet_sock", "kernel")->sport # kernel >= 2.6.11
- : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->sport))
+ return @choose_defined(@cast(sock, "inet_sock")->inet_sport, # kernel >= 2.6.33
+ @choose_defined(@cast(sock, "inet_sock", "kernel")->sport, # kernel >= 2.6.11
+ @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->sport))
}
global sockstate[13], sockstate_init_p
module("ipv6").function("tcp_v6_rcv")
{
name = "tcp.ipv6.receive"
- iphdr = __get_skb_iphdr(@defined($skb) ? $skb : kernel_pointer($pskb))
+ iphdr = __get_skb_iphdr(@choose_defined($skb, kernel_pointer($pskb)))
# If we're here, by definition we're doing AF_INET6, not AF_INET.
family = %{ /* pure */ AF_INET6 %}
saddr = format_ipaddr(&@cast(iphdr, "ipv6hdr")->saddr,
# Procol ID (ETH_P_*), not an IP protocol ID (IPPROTO_*).
protocol = %{ /* pure */ IPPROTO_TCP %}
- tcphdr = __get_skb_tcphdr(@defined($skb) ? $skb : kernel_pointer($pskb))
+ tcphdr = __get_skb_tcphdr(@choose_defined($skb, kernel_pointer($pskb)))
dport = __tcp_skb_dport(tcphdr)
sport = __tcp_skb_sport(tcphdr)
urg = __tcp_skb_urg(tcphdr)
probe
__tcpmib.OutRsts.tcp_v4_send_reset = kernel.function("tcp_v4_send_reset")
{
- sk = (@defined($sk) ? $sk : 0)
+ sk = @choose_defined($sk, 0)
op = 1;
if ( _is_reset($skb) ) next
if (_tcpmib_input_route_type($skb) != _rtn_local() )
inode_state = $inode->i_state
inode_flags = $inode->i_flags
- file_name = d_name(@defined($filp->f_path->dentry)
- ? $filp->f_path->dentry : $filp->f_dentry)
+ file_name = d_name(@choose_defined($filp->f_path->dentry,
+ $filp->f_dentry))
file_mode = $filp->f_mode
file_flags = $filp->f_flags
}
inode_flags = -1
}
- file_name = d_name(@defined($filp->f_path->dentry)
- ? $filp->f_path->dentry : $filp->f_dentry)
+ file_name = d_name(@choose_defined($filp->f_path->dentry,
+ $filp->f_dentry))
file_mode = $filp->f_mode
file_flags = $filp->f_flags
}
*/
probe tty.ioctl = kernel.function("tty_ioctl")
{
- name = kernel_string(@defined($file->f_path->dentry->d_iname)
- ? $file->f_path->dentry->d_iname : $file->f_dentry->d_iname)
+ name = kernel_string(@choose_defined($file->f_path->dentry->d_iname,
+ $file->f_dentry->d_iname))
cmd = $cmd
arg = $arg
}
*/
probe tty.poll = kernel.function("tty_poll")
{
- file_name = d_name(@defined($filp->f_path->dentry)
- ? $filp->f_path->dentry : $filp->f_dentry)
+ file_name = d_name(@choose_defined($filp->f_path->dentry,
+ $filp->f_dentry))
wait_key = (@defined($wait->key) ? ($wait ? $wait->key : 0) : 0)
}
buffer = kernel_string($buf)
nr = $nr
- file_name = d_name(@defined($file->f_path->dentry)
- ? $file->f_path->dentry : $file->f_dentry)
+ file_name = d_name(@choose_defined($file->f_path->dentry,
+ $file->f_dentry))
driver_name = kernel_string($tty->driver->driver_name)
}
{
buffer = kernel_string($buf)
nr = $nr
- file_name = d_name(@defined($file->f_path->dentry)
- ? $file->f_path->dentry : $file->f_dentry)
+ file_name = d_name(@choose_defined($file->f_path->dentry,
+ $file->f_dentry))
driver_name = kernel_string($tty->driver->driver_name)
}
function __file_filename:string (file:long)
{
dentry = file
- ? (@defined(@cast(file, "file", "kernel")->f_path->dentry)
- ? @cast(file, "file", "kernel")->f_path->dentry
- : @cast(file, "file", "kernel")->f_dentry)
+ ? @choose_defined(@cast(file, "file", "kernel")->f_path->dentry,
+ @cast(file, "file", "kernel")->f_dentry)
: 0
name = dentry? @cast(dentry, "dentry", "kernel")->d_name->name : 0
if (name == 0)
devname = __find_bdevname(dev, __file_bdev($iocb->ki_filp))
ino = __file_ino($iocb->ki_filp)
- pos = (@defined($pos) ? $pos : kernel_pointer($ppos))
+ pos = @choose_defined($pos, kernel_pointer($ppos))
buf = $iov->iov_base
count = __iov_length($iov,$nr_segs,1,1) /*FIX ME: should be VERIFY_WRITE instead of 1*/
name = "generic_file_aio_read"
count = (@defined($iov)
? __iov_length($iov,$nr_segs,1,0) /*FIX ME: should be VERIFY_READ instead of 0*/
: $count)
- buf = (@defined($iov->iov_base) ? $iov->iov_base : $buf)
+ buf = @choose_defined($iov->iov_base, $buf)
name = "generic_file_aio_write"
argstr = sprintf("%d, %d, %p", count, pos, buf)
probe _vfs.block_write_begin = kernel.function("block_write_begin") ?
{
- file = (@defined($file) ? $file : 0)
+ file = @choose_defined($file, 0)
pos = $pos
len = $len
flags = $flags
name = "_vfs.block_write_begin"
retstr = sprintf("%d", $return)
- file = (@defined($file) ? $file : 0)
+ file = @choose_defined($file, 0)
pos = $pos
len = $len
flags = $flags
probe syscall.iopl = kernel.function("sys_iopl")
{
name = "iopl"
- level = (@defined($level) ? $level : $new_iopl)
+ level = @choose_defined($level, $new_iopl)
argstr = sprint(level)
}
probe syscall.iopl.return = kernel.function("sys_iopl").return