All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>, qemu-trivial@nongnu.org
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v2] tpm_tis: fix format for 64bit variable
Date: Tue, 31 Mar 2015 10:50:28 -0600	[thread overview]
Message-ID: <551AD054.40802@redhat.com> (raw)
In-Reply-To: <1427814318-541552-1-git-send-email-stefanb@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 1763 bytes --]

On 03/31/2015 09:05 AM, Stefan Berger wrote:
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> ---
>  hw/tpm/tpm_tis.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

However;

> 
> diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
> index 815c8ea..3f42982 100644
> --- a/hw/tpm/tpm_tis.c
> +++ b/hw/tpm/tpm_tis.c
> @@ -814,7 +814,7 @@ static void tpm_tis_mmio_write_intern(void *opaque, hwaddr addr,
>              tis->loc[locty].state == TPM_TIS_STATE_COMPLETION) {
>              /* drop the byte */
>          } else {
> -            DPRINTF("tpm_tis: Data to send to TPM: %08x (size=%d)\n",
> +            DPRINTF("tpm_tis: Data to send to TPM: 0x%08" PRIx64 " (size=%d)\n",

This caused me to do a double-take (usually, a variable named 'size' is
size_t, in which case %d is wrong; but here it is 'unsigned size').

Also, there is another suspicious DPRINTF earlier in the function; maybe
it's worth a v3? I'm talking about:

    DPRINTF("tpm_tis: write.%u(%08x) = %08x\n", size, (int)addr,
(uint32_t)val);

but there are some 32-bit platforms where uint32_t is a long, so %x will
cause a compiler warning, as compared to PRIx32.  And if you are just
going to cast, why not cast directly to int; on the other hand, if what
you are printing is truly 64-bit, then why not use %016x instead of %08x
(that is, when printing a 64-bit number, having a minimum of 8 0-padded
bytes doesn't make it easy to distinguish a 10-character from
11-character printout, while consistently padding all output to 16
characters makes alignment easier to spot).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Eric Blake <eblake@redhat.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>, qemu-trivial@nongnu.org
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2] tpm_tis: fix format for 64bit variable
Date: Tue, 31 Mar 2015 10:50:28 -0600	[thread overview]
Message-ID: <551AD054.40802@redhat.com> (raw)
In-Reply-To: <1427814318-541552-1-git-send-email-stefanb@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 1763 bytes --]

On 03/31/2015 09:05 AM, Stefan Berger wrote:
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> ---
>  hw/tpm/tpm_tis.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Eric Blake <eblake@redhat.com>

However;

> 
> diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
> index 815c8ea..3f42982 100644
> --- a/hw/tpm/tpm_tis.c
> +++ b/hw/tpm/tpm_tis.c
> @@ -814,7 +814,7 @@ static void tpm_tis_mmio_write_intern(void *opaque, hwaddr addr,
>              tis->loc[locty].state == TPM_TIS_STATE_COMPLETION) {
>              /* drop the byte */
>          } else {
> -            DPRINTF("tpm_tis: Data to send to TPM: %08x (size=%d)\n",
> +            DPRINTF("tpm_tis: Data to send to TPM: 0x%08" PRIx64 " (size=%d)\n",

This caused me to do a double-take (usually, a variable named 'size' is
size_t, in which case %d is wrong; but here it is 'unsigned size').

Also, there is another suspicious DPRINTF earlier in the function; maybe
it's worth a v3? I'm talking about:

    DPRINTF("tpm_tis: write.%u(%08x) = %08x\n", size, (int)addr,
(uint32_t)val);

but there are some 32-bit platforms where uint32_t is a long, so %x will
cause a compiler warning, as compared to PRIx32.  And if you are just
going to cast, why not cast directly to int; on the other hand, if what
you are printing is truly 64-bit, then why not use %016x instead of %08x
(that is, when printing a 64-bit number, having a minimum of 8 0-padded
bytes doesn't make it easy to distinguish a 10-character from
11-character printout, while consistently padding all output to 16
characters makes alignment easier to spot).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  reply	other threads:[~2015-03-31 16:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-31 15:05 [Qemu-trivial] [PATCH v2] tpm_tis: fix format for 64bit variable Stefan Berger
2015-03-31 15:05 ` [Qemu-devel] " Stefan Berger
2015-03-31 16:50 ` Eric Blake [this message]
2015-03-31 16:50   ` Eric Blake
2015-03-31 18:03   ` [Qemu-trivial] " Stefan Berger
2015-03-31 18:03     ` Stefan Berger

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=551AD054.40802@redhat.com \
    --to=eblake@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.