lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170104013355.4a8923b6@duuni>
Date:   Wed, 4 Jan 2017 01:34:50 +0200
From:   Tuomas Tynkkynen <tuomas@...era.com>
To:     Al Viro <viro@...IV.linux.org.uk>
CC:     <v9fs-developer@...ts.sourceforge.net>,
        <linux-fsdevel@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: 9pfs hangs since 4.7

On Mon, 2 Jan 2017 16:23:09 +0000
Al Viro <viro@...IV.linux.org.uk> wrote:


> 
> What I'd like to see is a log of 9p traffic in those; to hell with the
> payloads, just the type and tag of from each message [...]

Thanks for the suggestions. With the following patch to QEMU:

diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index aea7e9d..8a6b426 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -662,6 +662,7 @@ static void coroutine_fn pdu_complete(V9fsPDU *pdu, ssize_t len)
 
     /* fill out the header */
     pdu_marshal(pdu, 0, "dbw", (int32_t)len, id, pdu->tag);
+    fprintf(stderr, "complete %d %04x\n", id, pdu->tag);
 
     /* keep these in sync */
     pdu->size = len;
@@ -2347,6 +2348,7 @@ static void v9fs_flush(void *opaque)
         return;
     }
     trace_v9fs_flush(pdu->tag, pdu->id, tag);
+    fprintf(stderr, "flush %04x %04x\n", tag, pdu->tag);
 
     QLIST_FOREACH(cancel_pdu, &s->active_list, next) {
         if (cancel_pdu->tag == tag) {
diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index 1782e4a..6a5ac04 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -76,6 +76,7 @@ static void handle_9p_output(VirtIODevice *vdev, VirtQueue *vq)
 
         pdu->id = out.id;
         pdu->tag = le16_to_cpu(out.tag_le);
+        fprintf(stderr, "out %d %04x\n", pdu->id, pdu->tag);
 
         qemu_co_queue_init(&pdu->complete);
         pdu_submit(pdu);

I got these logs from the server & client with 9p tracepoints enabled:

https://gist.githubusercontent.com/dezgeg/02447100b3182167403099fe7de4d941/raw/3772e408ddf586fb662ac9148fc10943529a6b99/dmesg%2520with%25209p%2520trace
https://gist.githubusercontent.com/dezgeg/e1e0c7f354042e1d9bdf7e9135934a65/raw/3a0e3b4f7a5229fd0be032c6839b578d47a21ce4/qemu.log

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ