From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: stefanha@redhat.com
Subject: [Qemu-devel] [PATCH for-2.9 v2 00/30] trace type mismatch cleanups
Date: Mon, 13 Mar 2017 14:55:17 -0500 [thread overview]
Message-ID: <20170313195547.21466-1-eblake@redhat.com> (raw)
We have a number of tracepoints that mistakenly truncate 64-bit
values into 32-bit printouts, making the trace less useful than
what is fully possible.
Previously posted patch 1 here:
https://lists.gnu.org/archive/html/qemu-devel/2017-03/msg01918.html
At which point I realized the problem may be more pervasive, so I
started a much bigger audit (aided by patch 30 of this series).
Proposing the (bulk of this) series for 2.9. Patches 1-3 are ready
to go, and definitely belong in 2.9 as bug-fixes; 4-29 can probably
be treated as bug-fixes and included per maintainer discretion, but
may need further tweaks on platforms with different typing setups
than what I tested with (for example, I have not attempted a 32-bit
build, which will likely flag some additional misuse of "%lx" that
should have been "%"PRIx64, and I know that mingw still trips
things up).
Patch 30 is NOT 2.9 material - it has too much risk of causing
compilation failures on platforms with different types, where the
current behavior of just (silently) switching between types allows
compilation (even if it is not accurate traces). But if we like
the approach, there are enough potential merge-conflict magnets
that the overall series should probably go early into 2.10 (other
than the bug-fixes picked into 2.9), and patch 30 is essential to
keeping us from regressing into future type mismatches.
Eric Blake (30):
trace: Fix backwards mirror_yield parameters
trace: Fix incorrect megasas trace parameters
trace: Avoid abuse of amdvi_mmio_read
trace: Fix parameter types in block
trace: Fix parameter types in io
trace: Fix parameter types in migration
trace: Fix parameter types in ui
trace: Fix parameter types in top level
trace: Fix parameter types in linux-user
trace: Fix parameter types in hw/acpi
trace: Fix parameter types in hw/audio
trace: Fix parameter types in hw/block
trace: Fix parameter types in hw/char
trace: Fix parameter types in hw/display
trace: Fix parameter types in hw/dma
trace: Fix parameter types in hw/i386
trace: Fix parameter types in hw/input
trace: Fix parameter types in hw/intc
trace: Fix parameter types in hw/isa
trace: Fix parameter types in hw/misc
trace: Fix parameter types in hw/net
trace: Fix parameter types in hw/nvram
trace: Fix parameter types in hw/ppc
trace: Fix parameter types in hw/sd
trace: Fix parameter types in hw/scsi
trace: Fix parameter types in hw/timer
trace: Fix parameter types in hw/usb
trace: Fix parameter types in hw/vfio
trace: Fix parameter types in hw/virtio
trace: Force compiler warnings on trace parameter type mismatches
scripts/tracetool/format/h.py | 13 +++++
block/mirror.c | 5 +-
cpu-exec.c | 6 +--
hw/block/virtio-blk.c | 4 +-
hw/char/escc.c | 4 +-
hw/i386/amd_iommu.c | 3 +-
hw/intc/apic_common.c | 2 +-
hw/net/e1000e_core.c | 10 ++--
hw/nvram/fw_cfg.c | 2 +-
hw/scsi/esp-pci.c | 2 +-
hw/scsi/megasas.c | 14 +++---
hw/timer/grlib_gptimer.c | 6 +--
hw/usb/hcd-ehci.c | 9 ++--
hw/usb/hcd-xhci.c | 4 +-
hw/vfio/pci.c | 3 +-
io/channel-command.c | 2 +-
linux-user/signal.c | 106 +++++++++++++++++++--------------------
translate-all.c | 2 +-
block/trace-events | 4 +-
hw/acpi/trace-events | 6 +--
hw/audio/trace-events | 8 +--
hw/char/trace-events | 14 +++---
hw/display/trace-events | 20 ++++----
hw/dma/trace-events | 8 +--
hw/i386/trace-events | 3 +-
hw/input/trace-events | 4 +-
hw/intc/trace-events | 40 +++++++--------
hw/isa/trace-events | 4 +-
hw/misc/trace-events | 44 ++++++++--------
hw/net/trace-events | 58 ++++++++++-----------
hw/nvram/trace-events | 4 +-
hw/ppc/trace-events | 16 +++---
hw/scsi/trace-events | 114 +++++++++++++++++++++---------------------
hw/sd/trace-events | 4 +-
hw/timer/trace-events | 14 +++---
hw/usb/trace-events | 84 +++++++++++++++----------------
hw/vfio/trace-events | 14 +++---
hw/virtio/trace-events | 2 +-
migration/trace-events | 4 +-
trace-events | 2 +-
ui/trace-events | 8 +--
41 files changed, 347 insertions(+), 329 deletions(-)
--
2.9.3
next reply other threads:[~2017-03-13 19:55 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-13 19:55 Eric Blake [this message]
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 01/30] trace: Fix backwards mirror_yield parameters Eric Blake
2017-03-16 7:36 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 02/30] trace: Fix incorrect megasas trace parameters Eric Blake
2017-03-14 6:49 ` Hannes Reinecke
2017-03-16 7:36 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 03/30] trace: Avoid abuse of amdvi_mmio_read Eric Blake
2017-03-16 7:36 ` Stefan Hajnoczi
2017-03-23 15:23 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 04/30] trace: Fix parameter types in block Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 05/30] trace: Fix parameter types in io Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 06/30] trace: Fix parameter types in migration Eric Blake
2017-03-13 20:07 ` Dr. David Alan Gilbert
2017-03-13 20:18 ` Eric Blake
2017-03-14 11:32 ` Dr. David Alan Gilbert
2017-03-14 14:36 ` Eric Blake
2017-03-15 19:55 ` Eric Blake
2017-03-15 22:33 ` Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 07/30] trace: Fix parameter types in ui Eric Blake
2017-03-14 9:16 ` Gerd Hoffmann
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 08/30] trace: Fix parameter types in top level Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 09/30] trace: Fix parameter types in linux-user Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 10/30] trace: Fix parameter types in hw/acpi Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 11/30] trace: Fix parameter types in hw/audio Eric Blake
2017-03-14 9:16 ` Gerd Hoffmann
2017-03-22 15:10 ` Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 12/30] trace: Fix parameter types in hw/block Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 13/30] trace: Fix parameter types in hw/char Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 14/30] trace: Fix parameter types in hw/display Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 15/30] trace: Fix parameter types in hw/dma Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 16/30] trace: Fix parameter types in hw/i386 Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 17/30] trace: Fix parameter types in hw/input Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 18/30] trace: Fix parameter types in hw/intc Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 19/30] trace: Fix parameter types in hw/isa Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 20/30] trace: Fix parameter types in hw/misc Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 21/30] trace: Fix parameter types in hw/net Eric Blake
2017-03-14 7:21 ` Dmitry Fleytman
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 22/30] trace: Fix parameter types in hw/nvram Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 23/30] trace: Fix parameter types in hw/ppc Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 24/30] trace: Fix parameter types in hw/sd Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 25/30] trace: Fix parameter types in hw/scsi Eric Blake
2017-03-14 6:50 ` Hannes Reinecke
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 26/30] trace: Fix parameter types in hw/timer Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 27/30] trace: Fix parameter types in hw/usb Eric Blake
2017-03-14 9:16 ` Gerd Hoffmann
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 28/30] trace: Fix parameter types in hw/vfio Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 29/30] trace: Fix parameter types in hw/virtio Eric Blake
2017-03-16 7:45 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [RFC PATCH v2 30/30] trace: Force compiler warnings on trace parameter type mismatches Eric Blake
2017-03-15 19:59 ` Eric Blake
2017-03-16 7:28 ` Stefan Hajnoczi
2017-03-13 20:27 ` [Qemu-devel] [PATCH for-2.9 v2 00/30] trace type mismatch cleanups no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170313195547.21466-1-eblake@redhat.com \
--to=eblake@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).