[Crash-utility] [PATCH v2 0/7] Upgrade the remote access to a xen domain.

Don Slutz dslutz at verizon.com
Wed Nov 20 01:33:36 UTC 2013


From: Don Slutz <dslutz at verizon.com>

Currently crash 4.0 and later using the code:

http://lists.xen.org/archives/html/xen-devel/2013-11/msg02569.html

There is some very limited documention on crashes remote ptotocol in:

http://lists.xen.org/archives/html/xen-devel/2013-11/msg02352.html

and some fixes in the attachment 0001-xen-crashd-Connect-crash-with-domain.patch
from the 1st link above.

How ever there are issues with the current code:

1) The remote protocol has a minor issue (which I have not been able to
   happen) based on the fact TCP/IP is stream based protocol.  This means
   a RECV or a SEND may not do the fully requested size of data.  In fact
   the current code assumes that the amount of data that a SEND is called
   with will all be read with a single RECV.

2) The most common mismatch between crash and older kernels is
   phys_base.  In the remote case, see if the remote server supports
   vitrual memory access, and if so, see if phys_base can be retreived.

3) crash assumes that the remote system is active and can not return
   currect IP and SP to do a better back trace.

4) enable a non-active mode of remote access.

This patch set attempts to fix these:

The fix for #1 I have called NIL mode (patch 1).
The fix for #2 uses get_remote_phys_base (patch 3).
The fix for #3 uses get_remote_regs (patch 5).
The fix for #4 uses special fake file /dev/xenmem (patch 7).
  It also REMOTE_PAUSED() to indicate "remote paused system".

changes v1 to v2:
  Daniel Kiper:
    remove all camelCase.
    remove Emacs directives.
  Dave Anderson:
    rework flags, and time of changes.
    change get_remote_regs() to return non-zero when it successfully gets the registers.
    fix "make warn" warnings
    remove Emacs directives.


Don Slutz (7):
  Add NIL mode to remote.
  remote_proc_version: NULL terminate passed buffer on error.
  Add get_remote_phys_base.
  Add remote_vtop.
  bt: get remote live registers if possible.
  Add get_remote_cr3
  Add support for non-live remote.

 defs.h   |   8 +-
 kernel.c |  13 +-
 memory.c |  13 +-
 remote.c | 464 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 x86_64.c |  12 ++
 5 files changed, 430 insertions(+), 80 deletions(-)

-- 
1.8.4




More information about the Crash-utility mailing list