qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
Cc: borntraeger@de.ibm.com, qiaonuohan@cn.fujitsu.com,
	Public KVM Mailing List <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v2] Define the architecture for compressed dump format.
Date: Fri, 31 Jan 2014 15:11:40 +0100	[thread overview]
Message-ID: <52EBAF1C.8050006@redhat.com> (raw)
In-Reply-To: <1391175905-61306-2-git-send-email-tumanova@linux.vnet.ibm.com>

one not-so-important comment below:

On 01/31/14 14:45, Ekaterina Tumanova wrote:
> Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
> ---
>  dump.c             | 7 +++++--
>  target-i386/cpu.h  | 2 ++
>  target-s390x/cpu.h | 1 +
>  3 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/dump.c b/dump.c
> index 8f64aab..25503bc 100644
> --- a/dump.c
> +++ b/dump.c
> @@ -32,6 +32,9 @@
>  #ifdef CONFIG_SNAPPY
>  #include <snappy-c.h>
>  #endif
> +#ifndef ELF_MACHINE_UNAME
> +#define ELF_MACHINE_UNAME "Unknown"
> +#endif
>  
>  static uint16_t cpu_convert_to_target16(uint16_t val, int endian)
>  {
> @@ -817,7 +820,7 @@ static int create_header32(DumpState *s)
>      dh->nr_cpus = cpu_convert_to_target32(s->nr_cpus, endian);
>      bitmap_blocks = DIV_ROUND_UP(s->len_dump_bitmap, block_size) * 2;
>      dh->bitmap_blocks = cpu_convert_to_target32(bitmap_blocks, endian);
> -    memcpy(&(dh->utsname.machine), "i686", 4);
> +    strncpy((char *)&(dh->utsname.machine), ELF_MACHINE_UNAME, sizeof(dh->utsname.machine));

"dh->utsname.machine" is actually an array of characters, if I recall
correctly (see NewUtsname in patch 08).

The expression in the first argument takes the address of the entire
array (the resultant pointer has type pointer-to-array). I didn't call
it out with memcpy(), because it didn't really matter. But now it looks
a bit gross, because as 2nd step we convert the pointer-to-array back to
pointer-to-char. It would be simpler to write

    strncpy(dh->utsname.machine, ELF_MACHINE_UNAME,
            sizeof(dh->utsname.machine))

where "dh->utsname.machine" decays to a pointer to its first element:

6.      Language
6.3     Conversions
6.3.2   Other operands
6.3.2.1 Lvalues, arrays, and function designators

  3  Except when it is the operand of the sizeof operator or the unary
     & operator, or is a string literal used to initialize an array, an
     expression that has type ‘‘array of type’’ is converted to an
     expression with type ‘‘pointer to type’’ that points to the
     initial element of the array object and is not an lvalue. If the
     array object has register storage class, the behavior is undefined.

I should have probably noticed this in v1 of the followup patch. I don't
insist on upating it of course.

Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Nonetheless, if you want to fix that up in a v3, please keep my R-b.

Thanks
Laszlo

  parent reply	other threads:[~2014-01-31 14:12 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-28  6:21 [Qemu-devel] [PATCH v8 00/13] Make 'dump-guest-memory' dump in kdump-compressed format qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 01/13] dump: const-qualify the buf of WriteCoreDumpFunction qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 02/13] dump: add argument to write_elfxx_notes qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 03/13] dump: add API to write header of flatten format qiaonuohan
2014-02-10 19:35   ` Luiz Capitulino
2014-02-10 21:57     ` Laszlo Ersek
2014-02-10 22:48       ` Luiz Capitulino
2014-02-10 23:20         ` Laszlo Ersek
2014-02-11  9:06           ` Markus Armbruster
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 04/13] dump: add API to write vmcore qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 05/13] dump: add API to write elf notes to buffer qiaonuohan
2014-01-28  6:21 ` [Qemu-devel] [PATCH v8 06/13] dump: add support for lzo/snappy qiaonuohan
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 07/13] dump: add members to DumpState and init some of them qiaonuohan
2014-01-29 14:11   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 08/13] dump: add API to write dump header qiaonuohan
2014-01-28 11:51   ` Ekaterina Tumanova
2014-01-28 13:37     ` Laszlo Ersek
2014-01-28 14:42       ` Ekaterina Tumanova
2014-01-28 14:55         ` Laszlo Ersek
2014-01-29  1:39       ` Qiao Nuohan
2014-01-29 14:19   ` Laszlo Ersek
2014-01-30 17:14   ` Ekaterina Tumanova
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 09/13] dump: add API to write dump_bitmap qiaonuohan
2014-01-29 14:32   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 10/13] dump: add APIs to operate DataCache qiaonuohan
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 11/13] dump: add API to write dump pages qiaonuohan
2014-01-29 14:39   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 12/13] dump: make kdump-compressed format available for 'dump-guest-memory' qiaonuohan
2014-01-29 14:45   ` Laszlo Ersek
2014-01-28  6:22 ` [Qemu-devel] [PATCH v8 13/13] dump: add 'query-dump-guest-memory-capability' command qiaonuohan
2014-02-10 19:10   ` Luiz Capitulino
2014-02-10 22:02     ` Laszlo Ersek
2014-02-10 23:09       ` Paolo Bonzini
2014-02-10 23:09       ` Paolo Bonzini
2014-02-10 23:30         ` Laszlo Ersek
2014-02-10 23:34           ` Paolo Bonzini
2014-02-11  0:22             ` Laszlo Ersek
2014-02-11  2:37               ` Qiao Nuohan
2014-02-11  2:47             ` Luiz Capitulino
2014-02-11  3:20               ` Qiao Nuohan
2014-02-11  7:19               ` Paolo Bonzini
2014-02-11 13:26                 ` Eric Blake
2014-02-12  3:13                   ` [Qemu-devel] [PATCH v9 " Qiao Nuohan
2014-02-12  3:29                     ` Eric Blake
2014-02-12  6:34                       ` [Qemu-devel] [PATCH v10 " Qiao Nuohan
2014-02-12 14:49                         ` Luiz Capitulino
2014-02-13  1:48                           ` Qiao Nuohan
2014-02-13  2:57                             ` Luiz Capitulino
2014-02-13 13:13                             ` Eric Blake
2014-02-13 13:45                             ` Luiz Capitulino
2014-01-28  6:37 ` [Qemu-devel] [PATCH v8 00/13] Make 'dump-guest-memory' dump in kdump-compressed format Qiao Nuohan
2014-01-29 14:50 ` Laszlo Ersek
2014-01-30 17:01 ` [Qemu-devel] [PATCH] Define the architecture for compressed dump format Ekaterina Tumanova
2014-01-30 17:20   ` Laszlo Ersek
2014-01-31 13:45     ` [Qemu-devel] [PATCH v2] Define guest architecture for the compressed dump header Ekaterina Tumanova
2014-01-31 13:45       ` [Qemu-devel] [PATCH v2] Define the architecture for compressed dump format Ekaterina Tumanova
2014-01-31 13:56         ` Christian Borntraeger
2014-01-31 14:11         ` Laszlo Ersek [this message]
2014-01-31 15:04           ` [Qemu-devel] [PATCH v3 0/1] Detect arch for dump compressed header Ekaterina Tumanova
2014-01-31 15:04             ` [Qemu-devel] [PATCH v3 1/1] Define the architecture for compressed dump format Ekaterina Tumanova
2014-02-13 13:50               ` Luiz Capitulino
2014-01-31 17:14             ` [Qemu-devel] [PATCH v3 0/1] Detect arch for dump compressed header Laszlo Ersek
2014-02-10 21:23               ` Luiz Capitulino
2014-02-10 22:06                 ` Laszlo Ersek
2014-02-10  3:34             ` Qiao Nuohan
2014-02-10  8:29               ` Laszlo Ersek
2014-02-10  8:57                 ` Qiao Nuohan
2014-02-10 13:24                   ` Luiz Capitulino
2014-02-11 17:00 ` [Qemu-devel] [PATCH v8 00/13] Make 'dump-guest-memory' dump in kdump-compressed format Luiz Capitulino
2014-02-17 17:51   ` Luiz Capitulino
2014-02-18  6:16     ` Qiao Nuohan

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=52EBAF1C.8050006@redhat.com \
    --to=lersek@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qiaonuohan@cn.fujitsu.com \
    --cc=tumanova@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 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).