scsi: pm8001: Drop !task check in pm8001_abort_task()

Message ID 1666781764-123090-1-git-send-email-john.garry@huawei.com
State New
Headers
Series scsi: pm8001: Drop !task check in pm8001_abort_task() |

Commit Message

John Garry Oct. 26, 2022, 10:56 a.m. UTC
  In commit 0b639decf651 ("scsi: pm8001: Modify task abort handling for SATA
task"), code was introduced to dereference "task" pointer in
pm8001_abort_task(). However there was a pre-existing later check for
"!task", which spooked the kernel test robot.

Function pm8001_abort_task() should never be passed NULL for "task"
pointer, so remove that check. Also remove the "unlikely" hint, as this is
not fastpath code.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John Garry <john.garry@huawei.com>
  

Comments

Jinpu Wang Oct. 26, 2022, 10:36 a.m. UTC | #1
On Wed, Oct 26, 2022 at 12:25 PM John Garry <john.garry@huawei.com> wrote:
>
> In commit 0b639decf651 ("scsi: pm8001: Modify task abort handling for SATA
> task"), code was introduced to dereference "task" pointer in
> pm8001_abort_task(). However there was a pre-existing later check for
> "!task", which spooked the kernel test robot.
>
> Function pm8001_abort_task() should never be passed NULL for "task"
> pointer, so remove that check. Also remove the "unlikely" hint, as this is
> not fastpath code.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: John Garry <john.garry@huawei.com>
Acked-by: Jack Wang <jinpu.wang@ionos.com>
>
> diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
> index 2359e827c9e6..e5673c774f66 100644
> --- a/drivers/scsi/pm8001/pm8001_sas.c
> +++ b/drivers/scsi/pm8001/pm8001_sas.c
> @@ -979,7 +979,7 @@ int pm8001_abort_task(struct sas_task *task)
>         u32 phy_id, port_id;
>         struct sas_task_slow slow_task;
>
> -       if (unlikely(!task || !task->lldd_task || !task->dev))
> +       if (!task->lldd_task || !task->dev)
>                 return TMF_RESP_FUNC_FAILED;
>
>         dev = task->dev;
> --
> 2.25.1
>
  
Damien Le Moal Oct. 27, 2022, 12:30 a.m. UTC | #2
On 10/26/22 19:56, John Garry wrote:
> In commit 0b639decf651 ("scsi: pm8001: Modify task abort handling for SATA
> task"), code was introduced to dereference "task" pointer in
> pm8001_abort_task(). However there was a pre-existing later check for
> "!task", which spooked the kernel test robot.
> 
> Function pm8001_abort_task() should never be passed NULL for "task"
> pointer, so remove that check. Also remove the "unlikely" hint, as this is
> not fastpath code.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: John Garry <john.garry@huawei.com>
> 
> diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
> index 2359e827c9e6..e5673c774f66 100644
> --- a/drivers/scsi/pm8001/pm8001_sas.c
> +++ b/drivers/scsi/pm8001/pm8001_sas.c
> @@ -979,7 +979,7 @@ int pm8001_abort_task(struct sas_task *task)
>  	u32 phy_id, port_id;
>  	struct sas_task_slow slow_task;
>  
> -	if (unlikely(!task || !task->lldd_task || !task->dev))
> +	if (!task->lldd_task || !task->dev)
>  		return TMF_RESP_FUNC_FAILED;
>  
>  	dev = task->dev;

Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
  
Martin K. Petersen Oct. 27, 2022, 2:23 a.m. UTC | #3
John,

> In commit 0b639decf651 ("scsi: pm8001: Modify task abort handling for
> SATA task"), code was introduced to dereference "task" pointer in
> pm8001_abort_task(). However there was a pre-existing later check for
> "!task", which spooked the kernel test robot.
>
> Function pm8001_abort_task() should never be passed NULL for "task"
> pointer, so remove that check. Also remove the "unlikely" hint, as
> this is not fastpath code.

Applied to 6.2/scsi-staging, thanks!
  
Martin K. Petersen Nov. 8, 2022, 4:01 a.m. UTC | #4
On Wed, 26 Oct 2022 18:56:04 +0800, John Garry wrote:

> In commit 0b639decf651 ("scsi: pm8001: Modify task abort handling for SATA
> task"), code was introduced to dereference "task" pointer in
> pm8001_abort_task(). However there was a pre-existing later check for
> "!task", which spooked the kernel test robot.
> 
> Function pm8001_abort_task() should never be passed NULL for "task"
> pointer, so remove that check. Also remove the "unlikely" hint, as this is
> not fastpath code.
> 
> [...]

Applied to 6.2/scsi-queue, thanks!

[1/1] scsi: pm8001: Drop !task check in pm8001_abort_task()
      https://git.kernel.org/mkp/scsi/c/4481bdc677c1
  

Patch

diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
index 2359e827c9e6..e5673c774f66 100644
--- a/drivers/scsi/pm8001/pm8001_sas.c
+++ b/drivers/scsi/pm8001/pm8001_sas.c
@@ -979,7 +979,7 @@  int pm8001_abort_task(struct sas_task *task)
 	u32 phy_id, port_id;
 	struct sas_task_slow slow_task;
 
-	if (unlikely(!task || !task->lldd_task || !task->dev))
+	if (!task->lldd_task || !task->dev)
 		return TMF_RESP_FUNC_FAILED;
 
 	dev = task->dev;