crypto: sun4i-ss - Fix 64-bit size_t warnings on sun4i-ss-hash.c
authorCorentin Labbe <clabbe.montjoie@gmail.com>
Thu, 14 Nov 2019 10:49:06 +0000 (11:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 12:40:06 +0000 (13:40 +0100)
[ Upstream commit a7126603d46fe8f01aeedf589e071c6aaa6c6c39 ]

If you try to compile this driver on a 64-bit platform then you
will get warnings because it mixes size_t with unsigned int which
only works on 32-bit.

This patch fixes all of the warnings on sun4i-ss-hash.c.
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/sunxi-ss/sun4i-ss-hash.c

index ec16ec2..b2e6837 100644 (file)
@@ -286,8 +286,8 @@ static int sun4i_hash(struct ahash_request *areq)
                         */
                        while (op->len < 64 && i < end) {
                                /* how many bytes we can read from current SG */
-                               in_r = min3(mi.length - in_i, end - i,
-                                           64 - op->len);
+                               in_r = min(end - i, 64 - op->len);
+                               in_r = min_t(size_t, mi.length - in_i, in_r);
                                memcpy(op->buf + op->len, mi.addr + in_i, in_r);
                                op->len += in_r;
                                i += in_r;
@@ -307,8 +307,8 @@ static int sun4i_hash(struct ahash_request *areq)
                }
                if (mi.length - in_i > 3 && i < end) {
                        /* how many bytes we can read from current SG */
-                       in_r = min3(mi.length - in_i, areq->nbytes - i,
-                                   ((mi.length - in_i) / 4) * 4);
+                       in_r = min_t(size_t, mi.length - in_i, areq->nbytes - i);
+                       in_r = min_t(size_t, ((mi.length - in_i) / 4) * 4, in_r);
                        /* how many bytes we can write in the device*/
                        todo = min3((u32)(end - i) / 4, rx_cnt, (u32)in_r / 4);
                        writesl(ss->base + SS_RXFIFO, mi.addr + in_i, todo);
@@ -334,8 +334,8 @@ static int sun4i_hash(struct ahash_request *areq)
        if ((areq->nbytes - i) < 64) {
                while (i < areq->nbytes && in_i < mi.length && op->len < 64) {
                        /* how many bytes we can read from current SG */
-                       in_r = min3(mi.length - in_i, areq->nbytes - i,
-                                   64 - op->len);
+                       in_r = min(areq->nbytes - i, 64 - op->len);
+                       in_r = min_t(size_t, mi.length - in_i, in_r);
                        memcpy(op->buf + op->len, mi.addr + in_i, in_r);
                        op->len += in_r;
                        i += in_r;