[PATCH] crypto: omap - use min3 to simplify omap_crypto_copy_data

From: Thorsten Blum

Date: Wed Jun 03 2026 - 20:19:35 EST


Replace two consecutive min() calls with min3() to simplify the code.

Change the function parameters and local variables from int to size_t
since these represent unsigned values and to prevent a signedness error.

Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
---
drivers/crypto/omap-crypto.c | 12 ++++++------
drivers/crypto/omap-crypto.h | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/crypto/omap-crypto.c b/drivers/crypto/omap-crypto.c
index 0345c9383d50..c0400fbe313e 100644
--- a/drivers/crypto/omap-crypto.c
+++ b/drivers/crypto/omap-crypto.c
@@ -156,11 +157,11 @@ EXPORT_SYMBOL_GPL(omap_crypto_align_sg);

static void omap_crypto_copy_data(struct scatterlist *src,
struct scatterlist *dst,
- int offset, int len)
+ size_t offset, size_t len)
{
- int amt;
+ size_t amt;
void *srcb, *dstb;
- int srco = 0, dsto = offset;
+ size_t srco = 0, dsto = offset;

while (src && dst && len) {
if (srco >= src->length) {
@@ -175,8 +176,7 @@ static void omap_crypto_copy_data(struct scatterlist *src,
continue;
}

- amt = min(src->length - srco, dst->length - dsto);
- amt = min(len, amt);
+ amt = min3(src->length - srco, dst->length - dsto, len);

srcb = kmap_atomic(sg_page(src)) + srco + src->offset;
dstb = kmap_atomic(sg_page(dst)) + dsto + dst->offset;
@@ -195,7 +195,7 @@ static void omap_crypto_copy_data(struct scatterlist *src,
}

void omap_crypto_cleanup(struct scatterlist *sg, struct scatterlist *orig,
- int offset, int len, u8 flags_shift,
+ size_t offset, size_t len, u8 flags_shift,
unsigned long flags)
{
void *buf;
diff --git a/drivers/crypto/omap-crypto.h b/drivers/crypto/omap-crypto.h
index 506ccde6f380..436f45f3bb7d 100644
--- a/drivers/crypto/omap-crypto.h
+++ b/drivers/crypto/omap-crypto.h
@@ -28,7 +28,7 @@ int omap_crypto_align_sg(struct scatterlist **sg, int total, int bs,
struct scatterlist *new_sg, u16 flags,
u8 flags_shift, unsigned long *dd_flags);
void omap_crypto_cleanup(struct scatterlist *sg, struct scatterlist *orig,
- int offset, int len, u8 flags_shift,
+ size_t offset, size_t len, u8 flags_shift,
unsigned long flags);

#endif