This file is indexed.

/usr/share/systemtap/tapset/logging.stp is in systemtap-common 1.7-1+deb7u1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// logging tapset
// Copyright (C) 2005-2011 Red Hat Inc.
//
// This file is part of systemtap, and is free software.  You can
// redistribute it and/or modify it under the terms of the GNU General
// Public License (GPL); either version 2, or (at your option) any
// later version.


/**
 * sfunction log - Send a line to the common trace buffer
 *
 * @msg: The formatted message string
 *
 * Description: This function logs data. log sends the
 * message immediately to staprun and to the bulk transport
 * (relayfs) if it is being used. If the last character given
 * is not a newline, then one is added. This function is not 
 * as effecient as printf and should be used only for urgent
 * messages. 
 */
function log (msg:string) %{ /* unprivileged */
	_stp_printf ("%s\n", THIS->msg);
%}


/**
 * sfunction warn - Send a line to the warning stream
 *
 * @msg: The formatted message string
 *
 * Description: This function sends a warning message immediately to 
 * staprun. It is also sent over the bulk transport (relayfs) if it is
 * being used. If the last characater is not a newline, the one is added.
 */
function warn (msg:string) %{ /* unprivileged */
    _stp_warn ("%s", THIS->msg);
%}


/**
 * sfunction exit - Start shutting down probing script.
 *
 * Description: This only enqueues a request to start
 * shutting down the script.  New probes will not fire
 * (except "end" probes), but all currently   
 * running ones may complete their work.
 */
function exit () %{ /* unprivileged */
    atomic_set (&session_state, STAP_SESSION_STOPPING);
    _stp_exit ();
%}


/**
 * sfunction error - Send an error message
 *
 * @msg: The formatted message string
 *
 * Description: An implicit end-of-line is added.  staprun prepends
 * the string "ERROR:".  Sending an error message aborts the currently
 * running probe.  Depending on the MAXERRORS parameter, it may
 * trigger an exit().
 */
function error (msg:string) %{ /* unprivileged */
    /* This is an assignment of a local char[] to a global char*.
       It would normally be just as unsafe as returning a pointer to
       a local variable from a function.  However, the translated
       code ensures that upon an error (last_error != NULL), the
       context stack is only ever unwound, and not reused, before
       the probe-level stp-error call.  */
    CONTEXT->last_error = THIS->msg;
    CONTEXT->last_stmt = NULL;
%}

function stp_print_binary(n:long, arg1:long, arg2:long, arg3:long, arg4:long) %{
	_stp_print_binary (THIS->n, THIS->arg1, THIS->arg2, THIS->arg3, THIS->arg4);
%}


/**
 * sfunction ftrace - Send a message to the ftrace ring-buffer
 *
 * @msg: The formatted message string
 *
 * Description: If the ftrace ring-buffer is configured & available,
 * see /debugfs/tracing/trace for the message.  Otherwise, the
 * message may be quietly dropped.  An implicit end-of-line is added.
 */
function ftrace (msg:string) %{
#ifdef STAPCONF_TRACE_PRINTK
       static char *fmt = "%s\n";
       trace_printk (fmt, THIS->msg);

       /* The "fmt" is designed to be non __builtin_constant_p(), so as
       to defeat trace_printk -> __trace_bprintk optimization.  That's
       because bprintk doesn't save the incoming strings, only their
       addresses. */
#endif
%}



/**
 * sfunction printk - Send a message to the kernel trace buffer
 *
 * @level: an integer for the severity level (0=KERN_EMERG ... 7=KERN_DEBUG)
 * @msg: The formatted message string
 *
 * Description: Print a line of text to the kernel dmesg/console with the
 * given severity.  An implicit end-of-line is added.  This function may 
 * not be safely called from all kernel probe contexts, so is restricted
 * to guru mode only.
 */
function printk (level:long,msg:string) %{ /* guru */
         printk (THIS->level == 0 ? KERN_EMERG "%s\n":
                 THIS->level == 1 ? KERN_ALERT "%s\n":
                 THIS->level == 2 ? KERN_CRIT "%s\n":
                 THIS->level == 3 ? KERN_ERR "%s\n":
                 THIS->level == 4 ? KERN_WARNING "%s\n":
                 THIS->level == 5 ? KERN_NOTICE "%s\n":
                 THIS->level == 6 ? KERN_INFO "%s\n":
                 THIS->level == 7 ? KERN_DEBUG "%s\n":
#ifdef KERN_DEFAULT
                 KERN_DEFAULT "%s\n"
#else
                 KERN_INFO "%s\n"
#endif
                 , THIS->msg);
%}