Skip to contentSkip to conversation

crypto: omap - use min3 to simplify omap_crypto_copy_data

PATCH In review Thorsten Blum 2 participants 2 messages Jun 4 – Jun 11 Crypto API

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 crypto: omap - use min3 to simplify omap_crypto_copy_data

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.

---
 drivers/crypto/omap-crypto.c | 12 ++++++------
 drivers/crypto/omap-crypto.h |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)
drivers/crypto/omap-crypto.c +5 -6
index 0345c9383d50..c0400fbe313e 100644
@@ -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;
drivers/crypto/omap-crypto.h +1 -1
index 506ccde6f380..436f45f3bb7d 100644
@@ -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
maintainer
#1 lore raw
Quoted 10 lines · Thorsten Blum

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.

---
 drivers/crypto/omap-crypto.c | 12 ++++++------
 drivers/crypto/omap-crypto.h |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

Please stop these min3 patches. It makes the code harder to read for humans.

Thanks,

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt