Re: [PATCH] scsi: qedi: return via va_end to match corresponding va_start
> "Colin" == Colin Kingwrites: Colin> Although on most systems va_end is a no-op, it is good practice Colin> to use va_end on the function return path, especially since the Colin> va_start documenation states: Colin> "Each invocation of va_start() must be matched by a Colin> corresponding Colin>invocation of va_end() in the same function." Applied to 4.11/scsi-queue. -- Martin K. Petersen Oracle Linux Engineering
Re: [PATCH] scsi: qedi: return via va_end to match corresponding va_start
> "Colin" == Colin King writes: Colin> Although on most systems va_end is a no-op, it is good practice Colin> to use va_end on the function return path, especially since the Colin> va_start documenation states: Colin> "Each invocation of va_start() must be matched by a Colin> corresponding Colin>invocation of va_end() in the same function." Applied to 4.11/scsi-queue. -- Martin K. Petersen Oracle Linux Engineering
Re: [PATCH] scsi: qedi: return via va_end to match corresponding va_start
On 16/12/16 7:40 PM, "Colin King"wrote: >From: Colin Ian King > >Although on most systems va_end is a no-op, it is good practice >to use va_end on the function return path, especially since the >va_start documenation states: > > "Each invocation of va_start() must be matched by a corresponding > invocation of va_end() in the same function." > >Found with static analysis by CoverityScan, CIDs 1389477-1389479 > >Signed-off-by: Colin Ian King >--- > drivers/scsi/qedi/qedi_dbg.c | 9 ++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > >diff --git a/drivers/scsi/qedi/qedi_dbg.c b/drivers/scsi/qedi/qedi_dbg.c >index 2bdedb9..8fd28b0 100644 >--- a/drivers/scsi/qedi/qedi_dbg.c >+++ b/drivers/scsi/qedi/qedi_dbg.c >@@ -52,7 +52,7 @@ qedi_dbg_warn(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > vaf.va = > > if (!(qedi_dbg_log & QEDI_LOG_WARN)) >- return; >+ goto ret; > > if (likely(qedi) && likely(qedi->pdev)) > pr_warn("[%s]:[%s:%d]:%d: %pV", dev_name(>pdev->dev), >@@ -60,6 +60,7 @@ qedi_dbg_warn(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > else > pr_warn("[:00:00.0]:[%s:%d]: %pV", nfunc, line, ); > >+ret: > va_end(va); > } > >@@ -80,7 +81,7 @@ qedi_dbg_notice(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > vaf.va = > > if (!(qedi_dbg_log & QEDI_LOG_NOTICE)) >- return; >+ goto ret; > > if (likely(qedi) && likely(qedi->pdev)) > pr_notice("[%s]:[%s:%d]:%d: %pV", >@@ -89,6 +90,7 @@ qedi_dbg_notice(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > else > pr_notice("[:00:00.0]:[%s:%d]: %pV", nfunc, line, ); > >+ret: > va_end(va); > } > >@@ -109,7 +111,7 @@ qedi_dbg_info(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > vaf.va = > > if (!(qedi_dbg_log & level)) >- return; >+ goto ret; > > if (likely(qedi) && likely(qedi->pdev)) > pr_info("[%s]:[%s:%d]:%d: %pV", dev_name(>pdev->dev), >@@ -117,6 +119,7 @@ qedi_dbg_info(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > else > pr_info("[:00:00.0]:[%s:%d]: %pV", nfunc, line, ); > >+ret: > va_end(va); > } > >-- >2.10.2 Acked-by: Manish Rangankar
Re: [PATCH] scsi: qedi: return via va_end to match corresponding va_start
On 16/12/16 7:40 PM, "Colin King" wrote: >From: Colin Ian King > >Although on most systems va_end is a no-op, it is good practice >to use va_end on the function return path, especially since the >va_start documenation states: > > "Each invocation of va_start() must be matched by a corresponding > invocation of va_end() in the same function." > >Found with static analysis by CoverityScan, CIDs 1389477-1389479 > >Signed-off-by: Colin Ian King >--- > drivers/scsi/qedi/qedi_dbg.c | 9 ++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > >diff --git a/drivers/scsi/qedi/qedi_dbg.c b/drivers/scsi/qedi/qedi_dbg.c >index 2bdedb9..8fd28b0 100644 >--- a/drivers/scsi/qedi/qedi_dbg.c >+++ b/drivers/scsi/qedi/qedi_dbg.c >@@ -52,7 +52,7 @@ qedi_dbg_warn(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > vaf.va = > > if (!(qedi_dbg_log & QEDI_LOG_WARN)) >- return; >+ goto ret; > > if (likely(qedi) && likely(qedi->pdev)) > pr_warn("[%s]:[%s:%d]:%d: %pV", dev_name(>pdev->dev), >@@ -60,6 +60,7 @@ qedi_dbg_warn(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > else > pr_warn("[:00:00.0]:[%s:%d]: %pV", nfunc, line, ); > >+ret: > va_end(va); > } > >@@ -80,7 +81,7 @@ qedi_dbg_notice(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > vaf.va = > > if (!(qedi_dbg_log & QEDI_LOG_NOTICE)) >- return; >+ goto ret; > > if (likely(qedi) && likely(qedi->pdev)) > pr_notice("[%s]:[%s:%d]:%d: %pV", >@@ -89,6 +90,7 @@ qedi_dbg_notice(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > else > pr_notice("[:00:00.0]:[%s:%d]: %pV", nfunc, line, ); > >+ret: > va_end(va); > } > >@@ -109,7 +111,7 @@ qedi_dbg_info(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > vaf.va = > > if (!(qedi_dbg_log & level)) >- return; >+ goto ret; > > if (likely(qedi) && likely(qedi->pdev)) > pr_info("[%s]:[%s:%d]:%d: %pV", dev_name(>pdev->dev), >@@ -117,6 +119,7 @@ qedi_dbg_info(struct qedi_dbg_ctx *qedi, const char >*func, u32 line, > else > pr_info("[:00:00.0]:[%s:%d]: %pV", nfunc, line, ); > >+ret: > va_end(va); > } > >-- >2.10.2 Acked-by: Manish Rangankar