Patchwork scsi: Remove SCSI_BUS macro

login
register
mail settings
Submitter Lei Li
Date Nov. 27, 2012, 5:37 a.m.
Message ID <1353994672-20714-1-git-send-email-lilei@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/202097/
State New
Headers show

Comments

Lei Li - Nov. 27, 2012, 5:37 a.m.
As step behind Paolo's fix for RHBZ#879657 and according to the current
fix in Commit b5007bc (hmp: do not crash on invalid SCSI hotplug), the
macro SCSI_BUS has already been replaced to object_dynamic_cast which
has been improved when try to cast to NULL value and it is also what
DO_UPCAST macro does. And due to the potential Segmentation risk of
SCSI_BUS, remove this macro.


Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
---
 hw/scsi.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
Paolo Bonzini - Nov. 27, 2012, 8:24 a.m.
Il 27/11/2012 06:37, Lei Li ha scritto:
> As step behind Paolo's fix for RHBZ#879657 and according to the current
> fix in Commit b5007bc (hmp: do not crash on invalid SCSI hotplug), the
> macro SCSI_BUS has already been replaced to object_dynamic_cast which
> has been improved when try to cast to NULL value and it is also what
> DO_UPCAST macro does. And due to the potential Segmentation risk of
> SCSI_BUS, remove this macro.

The SCSI_BUS macro has a different purpose than object_dynamic_cast.
The NULL pointer change will also work with SCSI_BUS; the assertion
causes the bug in this particular case, but it is still useful in
general.  Whenever the assertion is fine, SCSI_BUS should be used
instead of DO_UPCAST.

Paolo

Patch

diff --git a/hw/scsi.h b/hw/scsi.h
index b8f7357..ad063e5 100644
--- a/hw/scsi.h
+++ b/hw/scsi.h
@@ -142,7 +142,6 @@  struct SCSIBusInfo {
 };
 
 #define TYPE_SCSI_BUS "SCSI"
-#define SCSI_BUS(obj) OBJECT_CHECK(SCSIBus, (obj), TYPE_SCSI_BUS)
 
 struct SCSIBus {
     BusState qbus;