[PATCH] crypto: qat - use min() in fw loader

From: Giovanni Cabiddu
Date: Wed Jun 28 2023 - 09:12:31 EST


On Wed, Jun 28, 2023 at 01:46:44PM +0300, Andy Shevchenko wrote:
> On Tue, Jun 27, 2023 at 03:17:24PM +0800, You Kangren wrote:
> > Replace the if statement with min_t() to simplify the code
>
> ...
>
> > - if (words_num < UWORD_CPYBUF_SIZE)
> > - cpylen = words_num;
> > - else
> > - cpylen = UWORD_CPYBUF_SIZE;
> > + cpylen = min_t(unsigned int, words_num, UWORD_CPYBUF_SIZE);
>
> min_t() can be dangerous some times.
>
> To make it robust I would suggest to use min() and mark UWORD_CPYBUF_SIZE
> with U suffix to make the type the same.
Thanks. I reworked it, added a missing include and ordered the includes
in the file.

----8<----
From: Giovanni Cabiddu <giovanni.cabiddu@xxxxxxxxx>
Date: Wed, 28 Jun 2023 13:32:09 +0100
Subject: [PATCH] crypto: qat - use min() in fw loader
Organization: Intel Research and Development Ireland Ltd - Co. Reg. #308263 - Collinstown Industrial Park, Leixlip, County Kildare - Ireland

Use min() macro in firmware loaded instead of if statement.

While at it, reorder the includes on this file in alphabetical order.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@xxxxxxxxx>
---
drivers/crypto/intel/qat/qat_common/qat_uclo.c | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/crypto/intel/qat/qat_common/qat_uclo.c b/drivers/crypto/intel/qat/qat_common/qat_uclo.c
index ce837bcc1cab..6a52a853e2b1 100644
--- a/drivers/crypto/intel/qat/qat_common/qat_uclo.c
+++ b/drivers/crypto/intel/qat/qat_common/qat_uclo.c
@@ -1,17 +1,19 @@
// SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only)
/* Copyright(c) 2014 - 2020 Intel Corporation */
-#include <linux/slab.h>
#include <linux/ctype.h>
-#include <linux/kernel.h>
#include <linux/delay.h>
+#include <linux/kernel.h>
+#include <linux/minmax.h>
#include <linux/pci_ids.h>
+#include <linux/slab.h>
+
#include "adf_accel_devices.h"
#include "adf_common_drv.h"
-#include "icp_qat_uclo.h"
-#include "icp_qat_hal.h"
#include "icp_qat_fw_loader_handle.h"
+#include "icp_qat_hal.h"
+#include "icp_qat_uclo.h"

-#define UWORD_CPYBUF_SIZE 1024
+#define UWORD_CPYBUF_SIZE 1024U
#define INVLD_UWORD 0xffffffffffull
#define PID_MINOR_REV 0xf
#define PID_MAJOR_REV (0xf << 4)
@@ -1986,10 +1988,7 @@ static void qat_uclo_wr_uimage_raw_page(struct icp_qat_fw_loader_handle *handle,
uw_relative_addr = 0;
words_num = encap_page->micro_words_num;
while (words_num) {
- if (words_num < UWORD_CPYBUF_SIZE)
- cpylen = words_num;
- else
- cpylen = UWORD_CPYBUF_SIZE;
+ cpylen = min(words_num, UWORD_CPYBUF_SIZE);

/* load the buffer */
for (i = 0; i < cpylen; i++)
--
2.40.1