scsi: pm80xx: Avoid -Wflex-array-member-not-at-end warnings
Subsystems (2)
PATCH v2 1/1 scsi: pm80xx: Avoid -Wflex-array-member-not-at-end warnings
Remove unused field residual_count in a couple of structures, and with this, fix the following -Wflex-array-member-not-at-end warnings:
drivers/scsi/pm8001/pm8001_hwi.h:342:33: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end] drivers/scsi/pm8001/pm80xx_hwi.h:561:32: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
---
Changes in v2:
- Remove unused field residual_count. (James)
v1:
- Link: https://lore.kernel.org/linux-hardening/aLiMoNzLs1_bu4eJ@kspp/
drivers/scsi/pm8001/pm8001_hwi.h | 3 ++- drivers/scsi/pm8001/pm80xx_hwi.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/scsi/pm8001/pm8001_hwi.h +2 -1
@@ -339,8 +339,9 @@ struct ssp_completion_resp {__le32 status;__le32 param;__le32 ssptag_rescv_rescpad; + +/* Must be last --ends in a flexible-array member. */ struct ssp_response_iu ssp_resp_iu; -__le32 residual_count; } __attribute__((packed, aligned(4)));
drivers/scsi/pm8001/pm80xx_hwi.h +2 -1
@@ -558,8 +558,9 @@ struct ssp_completion_resp {__le32 status;__le32 param;__le32 ssptag_rescv_rescpad; + +/* Must be last --ends in a flexible-array member. */ struct ssp_response_iu ssp_resp_iu; -__le32 residual_count; } __attribute__((packed, aligned(4)));#define SSP_RESCV_BIT 0x00010000
Signature · 1 line
2.43.0
Quoted 9 lines · Gustavo A. R. Silva
Remove unused field
residual_countin a couple of structures, and with this, fix the following -Wflex-array-member-not-at-end warnings:
drivers/scsi/pm8001/pm8001_hwi.h:342:33: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]drivers/scsi/pm8001/pm80xx_hwi.h:561:32: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]Signed-off-by Gustavo A. R. Silva <[email protected]>
oh, indeed, v1 is wrong, and v2 is right fix.
Quoted 44 lines
---
Changes in v2:
- Remove unused fieldresidual_count. (James)v1:
- Link: https://lore.kernel.org/linux-hardening/aLiMoNzLs1_bu4eJ@kspp/drivers/scsi/pm8001/pm8001_hwi.h | 3 ++- drivers/scsi/pm8001/pm80xx_hwi.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)drivers/scsi/pm8001/pm8001_hwi.h +2
-1@@ -339,8 +339,9 @@ struct ssp_completion_resp {__le32 status;__le32 param;__le32 ssptag_rescv_rescpad; + +/* Must be last --ends in a flexible-array member. */ struct ssp_response_iu ssp_resp_iu; -__le32 residual_count; } __attribute__((packed, aligned(4)));drivers/scsi/pm8001/pm80xx_hwi.h +2
-2@@ -558,8 +558,9 @@ struct ssp_completion_resp {__le32 status;__le32 param;__le32 ssptag_rescv_rescpad; + +/* Must be last --ends in a flexible-array member. */ struct ssp_response_iu ssp_resp_iu; -__le32 residual_count; } __attribute__((packed, aligned(4)));#define SSP_RESCV_BIT 0x00010000 --2.43.0
Quoted 8 lines · Gustavo A. R. Silva
Remove unused field
residual_countin a couple of structures, and with this, fix the following -Wflex-array-member-not-at-end warnings:
drivers/scsi/pm8001/pm8001_hwi.h:342:33: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]drivers/scsi/pm8001/pm80xx_hwi.h:561:32: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]Signed-off-by Gustavo A. R. Silva <[email protected]>
Personally I think that it would be better to comment-out the residual_count member, so that future developers can know about this field and why it is not there.
Anyway,
Quoted 41 lines
---
Changes in v2:
- Remove unused fieldresidual_count. (James)drivers/scsi/pm8001/pm8001_hwi.h | 3 ++- drivers/scsi/pm8001/pm80xx_hwi.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)drivers/scsi/pm8001/pm8001_hwi.h +2
-1@@ -339,8 +339,9 @@ struct ssp_completion_resp {__le32 status;__le32 param;__le32 ssptag_rescv_rescpad; + +/* Must be last --ends in a flexible-array member. */ struct ssp_response_iu ssp_resp_iu; -__le32 residual_count; } __attribute__((packed, aligned(4)));drivers/scsi/pm8001/pm80xx_hwi.h +2
-1@@ -558,8 +558,9 @@ struct ssp_completion_resp {__le32 status;__le32 param;__le32 ssptag_rescv_rescpad; + +/* Must be last --ends in a flexible-array member. */ struct ssp_response_iu ssp_resp_iu; -__le32 residual_count; } __attribute__((packed, aligned(4)));#define SSP_RESCV_BIT 0x00010000
Quoted 11 lines · John Garry
Quoted 8 lines · Gustavo A. R. Silva
Remove unused field
residual_countin a couple of structures, and with this, fix the following -Wflex-array-member-not-at-end warnings:
drivers/scsi/pm8001/pm8001_hwi.h:342:33: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member- not-at-end]drivers/scsi/pm8001/pm80xx_hwi.h:561:32: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member- not-at-end]Signed-off-by Gustavo A. R. Silva <[email protected]>Personally I think that it would be better to comment-out the
residual_countmember, so that future developers can know about this field and why it is not there.
I agree. I'll send v3.
Quoted 4 lines
Anyway,
Reviewed-by John Garry <[email protected]>
Thanks!
-Gustavo