Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 3945

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>syscall_rollback</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The utrace User Debugging Infrastructure" /><link rel="up" href="ch03s03.html" title="System Call Tracing" /><link rel="prev" href="re32.html" title="syscall_get_nr" /><link rel="next" href="re34.html" title="syscall_get_error" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>syscall_rollback</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re32.html">Prev</a>&#160;</td><th width="60%" align="center"><code class="filename">System Call Tracing</code></th><td width="20%" align="right">&#160;<a accesskey="n" href="re34.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="syscall_rollback"><a id="API-syscall-rollback"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>syscall_rollback &#8212; 
     roll back registers after an aborted system call
 </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">syscall_rollback </b>(</code></td><td>struct task_struct * <var class="pdparam">task</var>, </td></tr><tr><td>&#160;</td><td>struct pt_regs * <var class="pdparam">regs</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id2896663"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>task</code></em></span></dt><dd><p>
     task of interest, must be in system call exit tracing
    </p></dd><dt><span class="term"><em class="parameter"><code>regs</code></em></span></dt><dd><p>
     <code class="function">task_pt_regs</code> of <em class="parameter"><code>task</code></em>
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2896716"></a><h2>Description</h2><p>
   It's only valid to call this when <em class="parameter"><code>task</code></em> is stopped for system
   call exit tracing (due to TIF_SYSCALL_TRACE or TIF_SYSCALL_AUDIT),
   after <code class="function">tracehook_report_syscall_entry</code> returned nonzero to prevent
   the system call from taking place.
   </p><p>

   This rolls back the register state in <em class="parameter"><code>regs</code></em> so it's as if the
   system call instruction was a no-op.  The registers containing
   the system call number and arguments are as they were before the
   system call instruction.  This may not be the same as what the
   register state looked like at system call entry tracing.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re32.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch03s03.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re34.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>syscall_get_nr</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span>syscall_get_error</span></td></tr></table></div></body></html>