diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 22:35:17 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 22:35:17 -0400 |
| commit | 86fe5194527810e15ddd3cf305b9fdf4b044e286 (patch) | |
| tree | c5faa8ba4872181d8f5b557d3278378f30a626e9 /kernel/gsp_sema_service.c | |
| parent | 524ee34fc2e899aabb71fe9d6e71b0732627aa28 (diff) | |
| download | open-iov-86fe5194527810e15ddd3cf305b9fdf4b044e286.tar.gz open-iov-86fe5194527810e15ddd3cf305b9fdf4b044e286.zip | |
vgsp: dump the full captured guest push stream for method decode
Diffstat (limited to 'kernel/gsp_sema_service.c')
| -rw-r--r-- | kernel/gsp_sema_service.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index 7467b45..663e1ba 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -3333,18 +3333,20 @@ static void svc_gr_cand_capture(struct svc_channel *ch, svc_gr_cand.n_pointer, svc_gr_cand.n_inline); if (push && push_len >= 16) { u32 n = push_len / 4; - char buf[6 * 16 + 1]; - u32 i, o = 0; - - if (n > 32) - n = 32; - for (i = 0; i < n; i++) { - o += scnprintf(buf + o, sizeof(buf) - o, "%08x ", - get_unaligned_le32(push + i * 4)); - if (o >= sizeof(buf) - 12) - break; + u32 i, j; + + if (n > 256) + n = 256; + for (i = 0; i < n; i += 16) { + char buf[160]; + u32 o = 0; + + for (j = i; j < i + 16 && j < n; j++) + o += scnprintf(buf + o, sizeof(buf) - o, + "%08x ", + get_unaligned_le32(push + j * 4)); + pr_info("sema-gr: push[%u]: %s\n", i, buf); } - pr_info("sema-gr: push[%u dwords]: %s\n", n, buf); } } |
