lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250820185738.098a49f9@pumpkin>
Date: Wed, 20 Aug 2025 18:57:38 +0100
From: David Laight <david.laight.linux@...il.com>
To: Qianfeng Rong <rongqianfeng@...o.com>
Cc: Don Brace <don.brace@...rochip.com>, "James E.J. Bottomley"
 <James.Bottomley@...senPartnership.com>, "Martin K. Petersen"
 <martin.petersen@...cle.com>, "open list:HEWLETT-PACKARD SMART ARRAY RAID
 DRIVER (hpsa)" <storagedev@...rochip.com>, "open list:HEWLETT-PACKARD SMART
 ARRAY RAID DRIVER (hpsa)" <linux-scsi@...r.kernel.org>, open list
 <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/6] scsi: hpsa: use min()/min_t() to improve code

On Wed, 20 Aug 2025 20:50:08 +0800
Qianfeng Rong <rongqianfeng@...o.com> wrote:

> 在 2025/8/20 20:02, David Laight 写道:
> > [You don't often get email from david.laight.linux@...il.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> >
> > On Fri, 15 Aug 2025 20:16:04 +0800
> > Qianfeng Rong <rongqianfeng@...o.com> wrote:
> >  
> >> Use min()/min_t() to reduce the code in complete_scsi_command() and
> >> hpsa_vpd_page_supported(), and improve readability.
> >>
> >> Signed-off-by: Qianfeng Rong <rongqianfeng@...o.com>
> >> ---
> >>   drivers/scsi/hpsa.c | 11 +++--------
> >>   1 file changed, 3 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
> >> index c73a71ac3c29..95dfcbac997f 100644
> >> --- a/drivers/scsi/hpsa.c
> >> +++ b/drivers/scsi/hpsa.c
> >> @@ -2662,10 +2662,8 @@ static void complete_scsi_command(struct CommandList *cp)
> >>        case CMD_TARGET_STATUS:
> >>                cmd->result |= ei->ScsiStatus;
> >>                /* copy the sense data */
> >> -             if (SCSI_SENSE_BUFFERSIZE < sizeof(ei->SenseInfo))
> >> -                     sense_data_size = SCSI_SENSE_BUFFERSIZE;
> >> -             else
> >> -                     sense_data_size = sizeof(ei->SenseInfo);
> >> +             sense_data_size = min_t(unsigned long, SCSI_SENSE_BUFFERSIZE,
> >> +                                     sizeof(ei->SenseInfo));  
> > Why min_t() ?
> > A plain min() should be fine.
> > If it isn't you should really need to justify why the type of one parameter
> > can't be changes before using min_t().

> SCSI_SENSE_BUFFERSIZE is a macro definition and is generally of type int.
> The return type of sizeof(ei->SenseInfo) is size_t, so I used min_t()
> here.  However, as you mentioned, min() can also be used.  Do I need to
> send v2?

The thing to remember is that min_t(type, a, b) is just min((type)a, (type)b))
and you really would never write the latter.

	David

> 
> Best regards,
> Qianfeng


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ