]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
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)
committerKhalid Elmously <khalid.elmously@canonical.com>
Wed, 29 Jan 2020 05:00:31 +0000 (00:00 -0500)
BugLink: https://bugs.launchpad.net/bugs/1860490
[ 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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/crypto/sunxi-ss/sun4i-ss-hash.c

index fcffba5ef9276b3ac5779ee385e39be2919a9fba..1369c5fa30871fdc2e87e24c8b0ca9621c19fa9d 100644 (file)
@@ -272,8 +272,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;
@@ -293,8 +293,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);
@@ -320,8 +320,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;