qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 09d560: qdev: Avoid type assertion in qdev_bu


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 09d560: qdev: Avoid type assertion in qdev_build_hotplugga...
Date: Mon, 02 Mar 2015 06:30:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 09d560177101d2ef1e333754a25cfa49b70583b3
      
https://github.com/qemu/qemu/commit/09d560177101d2ef1e333754a25cfa49b70583b3
  Author: Jun Li <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  qdev: Avoid type assertion in qdev_build_hotpluggable_device_list()

Currently when *obj is not a TYPE_DEVICE, QEMU will abort. This patch
fixes it. When *obj is not a TYPE_DEVICE, just do not add it to hotpluggable
device list.

This patch also fixes the following issue:
1. boot QEMU using cli:
$ /opt/qemu-git-arm/bin/qemu-system-x86_64 -monitor stdio -enable-kvm \
-device virtio-scsi-pci,id=scsi0

2. device_del scsi0 via hmp using tab key(first input device_del, then press
"Tab" key).
(qemu) device_del

After step 2, QEMU will abort.
(qemu) device_del hw/core/qdev.c:930:qdev_build_hotpluggable_device_list:
Object 0x5555563a2460 is not an instance of type device

Signed-off-by: Jun Li <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Cc: address@hidden
Signed-off-by: Andreas Färber <address@hidden>


  Commit: f824e8ed03cfcda55531206b2ee6fce62a7206f3
      
https://github.com/qemu/qemu/commit/f824e8ed03cfcda55531206b2ee6fce62a7206f3
  Author: Zhoujian <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M include/qom/object.h

  Log Message:
  -----------
  qom: Fix typo, 'my_class_init' -> 'derived_class_init'

Signed-off-by: Zhoujian <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: c4bacafb717de55538311b80a185ce9166b8daa2
      
https://github.com/qemu/qemu/commit/c4bacafb717de55538311b80a185ce9166b8daa2
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  qdev: Improve qdev_init_nofail()'s error reporting

We get two error messages: a specific one from qdev_init(), and a
generic one from qdev_init_nofail().  The specific one gets suppressed
in QMP context.  qdev_init_nofail() failing there is a bug, though.

Cut out the qdev_init() middle-man: realize the device, and on error
exit with a single error message.

Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: e25b89e5208564220b9ea3a728f899b37ff6dc2d
      
https://github.com/qemu/qemu/commit/e25b89e5208564220b9ea3a728f899b37ff6dc2d
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M hw/ide/isa.c

  Log Message:
  -----------
  ide/isa: Replace unchecked qdev_init() by qdev_init_nofail()

isa_ide_init()'s callers don't check for failure.  isa_ide_init()
looks like it could fail, but since isa_ide_realizefn() can't fail, it
actually can't.  Replace its qdev_init() by qdev_init_nofail() to make
it obvious.

Cc: Kevin Wolf <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: cd7c50a48dd484637aec36c351728ad0f140805a
      
https://github.com/qemu/qemu/commit/cd7c50a48dd484637aec36c351728ad0f140805a
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M include/hw/sparc/grlib.h

  Log Message:
  -----------
  leon3: Replace unchecked qdev_init() by qdev_init_nofail()

grlib_irqmp_create(), grlib_gptimer_create() and
grlib_apbuart_create() are helpers to create and realize GRLIB
devices.  Their only caller leon3_generic_hw_init() doesn't check for
failure.  Only the first can actually fail, and only when the caller
fails to set up a pointer property, which is a programming error.

Replace qdev_init() by qdev_init_nofail().

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Fabien Chouteau <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: aef0d55a4bc52b1713de88c100ba6dc451578e50
      
https://github.com/qemu/qemu/commit/aef0d55a4bc52b1713de88c100ba6dc451578e50
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M hw/net/fsl_etsec/etsec.c

  Log Message:
  -----------
  etsec: Replace qdev_init() by qdev_init_nofail()

etsec_create() is a helper to create and realize the eTSEC.  It's
currently unused.  Similar helpers for other NICs use
qdev_init_nofail().  Match that.

Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: b6607a1a204d52fe13746cc9c3d2da4303e39b18
      
https://github.com/qemu/qemu/commit/b6607a1a204d52fe13746cc9c3d2da4303e39b18
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/char/serial-isa.c
    M hw/i386/pc.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/sparc64/sun4u.c
    M include/hw/char/serial.h

  Log Message:
  -----------
  serial: Factor out common serial_hds_isa_init()

It's the same old loop copied five times, plus another instance where
it's clipped to two iterations and unrolled.

No external users of serial_isa_init() are left, so give it internal
linkage.

Maintainers of affected machines cc'ed.

Cc: Richard Henderson <address@hidden>
Cc: Anthony Liguori <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Cc: Leon Alrae <address@hidden>
Cc: Blue Swirl <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: c6f10a5876a81f7a016714df06730c48210ee419
      
https://github.com/qemu/qemu/commit/c6f10a5876a81f7a016714df06730c48210ee419
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M hw/char/serial-isa.c

  Log Message:
  -----------
  serial: serial_hds_isa_init() shouldn't fail

It shouldn't fail, and no caller checks for failure.  Make failure
fatal.

Maintainers of affected machines cc'ed.

Cc: Richard Henderson <address@hidden>
Cc: Anthony Liguori <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Cc: Leon Alrae <address@hidden>
Cc: Blue Swirl <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 07dc788054d714a07df08e2eacc8c2e1c47b9a58
      
https://github.com/qemu/qemu/commit/07dc788054d714a07df08e2eacc8c2e1c47b9a58
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M hw/char/parallel.c
    M hw/i386/pc.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/sparc64/sun4u.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  parallel: Factor out common parallel_hds_isa_init()

Maintainers of affected machines cc'ed.

Cc: Anthony Liguori <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Cc: Leon Alrae <address@hidden>
Cc: Blue Swirl <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 4bc6a3e54e06c47b8e23bfa3d873fa2f42dfec02
      
https://github.com/qemu/qemu/commit/4bc6a3e54e06c47b8e23bfa3d873fa2f42dfec02
  Author: Markus Armbruster <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M hw/char/parallel.c

  Log Message:
  -----------
  parallel: parallel_hds_isa_init() shouldn't fail

It shouldn't fail, and no caller checks for failure.  Make failure
fatal.

Maintainers of affected machines cc'ed.

Cc: Anthony Liguori <address@hidden>
Cc: "Michael S. Tsirkin" <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Cc: Leon Alrae <address@hidden>
Cc: Blue Swirl <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>


  Commit: 5de090464f1ec5360c4f30faa01d8a9f8826cd58
      
https://github.com/qemu/qemu/commit/5de090464f1ec5360c4f30faa01d8a9f8826cd58
  Author: Peter Maydell <address@hidden>
  Date:   2015-03-02 (Mon, 02 Mar 2015)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/char/parallel.c
    M hw/char/serial-isa.c
    M hw/core/qdev.c
    M hw/i386/pc.c
    M hw/ide/isa.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/net/fsl_etsec/etsec.c
    M hw/sparc64/sun4u.c
    M include/hw/char/serial.h
    M include/hw/i386/pc.h
    M include/hw/sparc/grlib.h
    M include/qom/object.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-peter' 
into staging

QOM infrastructure fixes and device conversions

* Assertion fix for device_add with non-device types
* Documentation fix
* qdev_init() error reporting cleanups

# gpg: Signature made Tue Feb 24 13:56:33 2015 GMT using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <address@hidden>"
# gpg:                 aka "Andreas Färber <address@hidden>"

* remotes/afaerber/tags/qom-devices-for-peter:
  parallel: parallel_hds_isa_init() shouldn't fail
  parallel: Factor out common parallel_hds_isa_init()
  serial: serial_hds_isa_init() shouldn't fail
  serial: Factor out common serial_hds_isa_init()
  etsec: Replace qdev_init() by qdev_init_nofail()
  leon3: Replace unchecked qdev_init() by qdev_init_nofail()
  ide/isa: Replace unchecked qdev_init() by qdev_init_nofail()
  qdev: Improve qdev_init_nofail()'s error reporting
  qom: Fix typo, 'my_class_init' -> 'derived_class_init'
  qdev: Avoid type assertion in qdev_build_hotpluggable_device_list()

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/2dffe5516e74...5de090464f1e

reply via email to

[Prev in Thread] Current Thread [Next in Thread]