2021-08-06 21:53:55

by Colin King

[permalink] [raw]
Subject: [PATCH][next] scsi: ufs: Fix unsigned int compared with less than zero

From: Colin Ian King <[email protected]>

Variable tag is currently and unsigned int and is being compared to
less than zero, this check is always false. Fix this by making tag
an int.

Addresses-Coverity: ("Macro compares unsigned to 0")
Fixes: 4728ab4a8e64 ("scsi: ufs: Remove ufshcd_valid_tag()")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/scsi/ufs/ufshcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 47a5085f16a9..21378682cb4f 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6976,7 +6976,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
{
struct Scsi_Host *host = cmd->device->host;
struct ufs_hba *hba = shost_priv(host);
- unsigned int tag = cmd->request->tag;
+ int tag = cmd->request->tag;
struct ufshcd_lrb *lrbp = &hba->lrb[tag];
unsigned long flags;
int err = FAILED;
--
2.31.1


2021-08-07 00:21:14

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH][next] scsi: ufs: Fix unsigned int compared with less than zero

On 8/6/21 7:43 AM, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Variable tag is currently and unsigned int and is being compared to
> less than zero, this check is always false. Fix this by making tag
> an int.
>
> Addresses-Coverity: ("Macro compares unsigned to 0")
> Fixes: 4728ab4a8e64 ("scsi: ufs: Remove ufshcd_valid_tag()")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/scsi/ufs/ufshcd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 47a5085f16a9..21378682cb4f 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -6976,7 +6976,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
> {
> struct Scsi_Host *host = cmd->device->host;
> struct ufs_hba *hba = shost_priv(host);
> - unsigned int tag = cmd->request->tag;
> + int tag = cmd->request->tag;
> struct ufshcd_lrb *lrbp = &hba->lrb[tag];
> unsigned long flags;
> int err = FAILED;

Reviewed-by: Bart Van Assche <[email protected]>

Thanks!

Bart.

2021-08-10 07:59:42

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH][next] scsi: ufs: Fix unsigned int compared with less than zero


Colin,

> Variable tag is currently and unsigned int and is being compared to
> less than zero, this check is always false. Fix this by making tag an
> int.

Applied to 5.15/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering

2021-08-17 03:19:47

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH][next] scsi: ufs: Fix unsigned int compared with less than zero

On Fri, 6 Aug 2021 15:43:01 +0100, Colin King wrote:

> From: Colin Ian King <[email protected]>
>
> Variable tag is currently and unsigned int and is being compared to
> less than zero, this check is always false. Fix this by making tag
> an int.
>
>
> [...]

Applied to 5.15/scsi-queue, thanks!

[1/1] scsi: ufs: Fix unsigned int compared with less than zero
https://git.kernel.org/mkp/scsi/c/a5402cdcc2a9

--
Martin K. Petersen Oracle Linux Engineering