Message ID | 20240913033627.1465713-1-liaochen4@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | scsi: qedf: Fix potential null pointer dereference | expand |
On 2024/9/13 11:36, Liao Chen wrote: > qedf is checked to be null in this if branch, accessing its member will > cause a null pointer dereference. Fix it by passing a direct NULL into > the error function. > > Fixes: 51071f0831ea ("scsi: qedf: Don't process stag work during unload and recovery") > Signed-off-by: Liao Chen <liaochen4@huawei.com> > --- > drivers/scsi/qedf/qedf_main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c > index 4813087e58a1..9d4738db0e51 100644 > --- a/drivers/scsi/qedf/qedf_main.c > +++ b/drivers/scsi/qedf/qedf_main.c > @@ -4021,7 +4021,7 @@ void qedf_stag_change_work(struct work_struct *work) > container_of(work, struct qedf_ctx, stag_work.work); > > if (!qedf) { > - QEDF_ERR(&qedf->dbg_ctx, "qedf is NULL"); > + QEDF_ERR(NULL, "qedf is NULL"); > return; > } > gentle ping Thanks, Chen
On 9/12/24 8:36 PM, Liao Chen wrote: > qedf is checked to be null in this if branch, accessing its member will > cause a null pointer dereference. Fix it by passing a direct NULL into > the error function. > > Fixes: 51071f0831ea ("scsi: qedf: Don't process stag work during unload and recovery") > Signed-off-by: Liao Chen <liaochen4@huawei.com> > --- > drivers/scsi/qedf/qedf_main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c > index 4813087e58a1..9d4738db0e51 100644 > --- a/drivers/scsi/qedf/qedf_main.c > +++ b/drivers/scsi/qedf/qedf_main.c > @@ -4021,7 +4021,7 @@ void qedf_stag_change_work(struct work_struct *work) > container_of(work, struct qedf_ctx, stag_work.work); > > if (!qedf) { > - QEDF_ERR(&qedf->dbg_ctx, "qedf is NULL"); > + QEDF_ERR(NULL, "qedf is NULL"); > return; > } I think it would be better to remove the if-statement and the if-statement body since qedf cannot be NULL in this function. Thanks, Bart.
diff --git a/drivers/scsi/qedf/qedf_main.c b/drivers/scsi/qedf/qedf_main.c index 4813087e58a1..9d4738db0e51 100644 --- a/drivers/scsi/qedf/qedf_main.c +++ b/drivers/scsi/qedf/qedf_main.c @@ -4021,7 +4021,7 @@ void qedf_stag_change_work(struct work_struct *work) container_of(work, struct qedf_ctx, stag_work.work); if (!qedf) { - QEDF_ERR(&qedf->dbg_ctx, "qedf is NULL"); + QEDF_ERR(NULL, "qedf is NULL"); return; }
qedf is checked to be null in this if branch, accessing its member will cause a null pointer dereference. Fix it by passing a direct NULL into the error function. Fixes: 51071f0831ea ("scsi: qedf: Don't process stag work during unload and recovery") Signed-off-by: Liao Chen <liaochen4@huawei.com> --- drivers/scsi/qedf/qedf_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)