All of lore.kernel.org
 help / color / mirror / Atom feed
From: SF Markus Elfring <elfring@users.sourceforge.net>
To: linux-crypto@vger.kernel.org,
	Christophe Leroy <christophe.leroy@c-s.fr>,
	"David S. Miller" <davem@davemloft.net>,
	Herbert Xu <herbert@gondor.apana.org.au>
Cc: LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org
Subject: [PATCH 1/2] crypto: talitos: Use common error handling code in talitos_edesc_alloc()
Date: Mon, 12 Mar 2018 14:31:54 +0100	[thread overview]
Message-ID: <330e4ffc-64dc-5474-4c84-916561cf0783@users.sourceforge.net> (raw)
In-Reply-To: <ad256dc9-a064-37f9-fb8e-aea22ba40a2b@users.sourceforge.net>

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Mon, 12 Mar 2018 14:08:55 +0100

Add jump targets so that an error message and the setting of a specific
error code is stored only once at the end of this function.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/crypto/talitos.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
index 6882fa2f8bad..a2271322db34 100644
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -1352,29 +1352,24 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
 	if (!dst || dst == src) {
 		src_len = assoclen + cryptlen + authsize;
 		src_nents = sg_nents_for_len(src, src_len);
-		if (src_nents < 0) {
-			dev_err(dev, "Invalid number of src SG.\n");
-			err = ERR_PTR(-EINVAL);
-			goto error_sg;
-		}
+		if (src_nents < 0)
+			goto report_failure;
+
 		src_nents = (src_nents == 1) ? 0 : src_nents;
 		dst_nents = dst ? src_nents : 0;
 		dst_len = 0;
 	} else { /* dst && dst != src*/
 		src_len = assoclen + cryptlen + (encrypt ? 0 : authsize);
 		src_nents = sg_nents_for_len(src, src_len);
-		if (src_nents < 0) {
-			dev_err(dev, "Invalid number of src SG.\n");
-			err = ERR_PTR(-EINVAL);
-			goto error_sg;
-		}
+		if (src_nents < 0)
+			goto report_failure;
+
 		src_nents = (src_nents == 1) ? 0 : src_nents;
 		dst_len = assoclen + cryptlen + (encrypt ? authsize : 0);
 		dst_nents = sg_nents_for_len(dst, dst_len);
 		if (dst_nents < 0) {
 			dev_err(dev, "Invalid number of dst SG.\n");
-			err = ERR_PTR(-EINVAL);
-			goto error_sg;
+			goto set_error_code;
 		}
 		dst_nents = (dst_nents == 1) ? 0 : dst_nents;
 	}
@@ -1424,6 +1419,11 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
 						     DMA_BIDIRECTIONAL);
 	}
 	return edesc;
+
+report_failure:
+	dev_err(dev, "Invalid number of src SG.\n");
+set_error_code:
+	err = ERR_PTR(-EINVAL);
 error_sg:
 	if (iv_dma)
 		dma_unmap_single(dev, iv_dma, ivsize, DMA_TO_DEVICE);
-- 
2.16.2

WARNING: multiple messages have this Message-ID (diff)
From: SF Markus Elfring <elfring@users.sourceforge.net>
To: linux-crypto@vger.kernel.org,
	Christophe Leroy <christophe.leroy@c-s.fr>,
	"David S. Miller" <davem@davemloft.net>,
	Herbert Xu <herbert@gondor.apana.org.au>
Cc: LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org
Subject: [PATCH 1/2] crypto: talitos: Use common error handling code in talitos_edesc_alloc()
Date: Mon, 12 Mar 2018 13:31:54 +0000	[thread overview]
Message-ID: <330e4ffc-64dc-5474-4c84-916561cf0783@users.sourceforge.net> (raw)
In-Reply-To: <ad256dc9-a064-37f9-fb8e-aea22ba40a2b@users.sourceforge.net>

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Mon, 12 Mar 2018 14:08:55 +0100

Add jump targets so that an error message and the setting of a specific
error code is stored only once at the end of this function.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/crypto/talitos.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
index 6882fa2f8bad..a2271322db34 100644
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -1352,29 +1352,24 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
 	if (!dst || dst = src) {
 		src_len = assoclen + cryptlen + authsize;
 		src_nents = sg_nents_for_len(src, src_len);
-		if (src_nents < 0) {
-			dev_err(dev, "Invalid number of src SG.\n");
-			err = ERR_PTR(-EINVAL);
-			goto error_sg;
-		}
+		if (src_nents < 0)
+			goto report_failure;
+
 		src_nents = (src_nents = 1) ? 0 : src_nents;
 		dst_nents = dst ? src_nents : 0;
 		dst_len = 0;
 	} else { /* dst && dst != src*/
 		src_len = assoclen + cryptlen + (encrypt ? 0 : authsize);
 		src_nents = sg_nents_for_len(src, src_len);
-		if (src_nents < 0) {
-			dev_err(dev, "Invalid number of src SG.\n");
-			err = ERR_PTR(-EINVAL);
-			goto error_sg;
-		}
+		if (src_nents < 0)
+			goto report_failure;
+
 		src_nents = (src_nents = 1) ? 0 : src_nents;
 		dst_len = assoclen + cryptlen + (encrypt ? authsize : 0);
 		dst_nents = sg_nents_for_len(dst, dst_len);
 		if (dst_nents < 0) {
 			dev_err(dev, "Invalid number of dst SG.\n");
-			err = ERR_PTR(-EINVAL);
-			goto error_sg;
+			goto set_error_code;
 		}
 		dst_nents = (dst_nents = 1) ? 0 : dst_nents;
 	}
@@ -1424,6 +1419,11 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
 						     DMA_BIDIRECTIONAL);
 	}
 	return edesc;
+
+report_failure:
+	dev_err(dev, "Invalid number of src SG.\n");
+set_error_code:
+	err = ERR_PTR(-EINVAL);
 error_sg:
 	if (iv_dma)
 		dma_unmap_single(dev, iv_dma, ivsize, DMA_TO_DEVICE);
-- 
2.16.2


  reply	other threads:[~2018-03-12 13:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-12 13:30 [PATCH 0/2] crypto/talitos: Adjustments for talitos_edesc_alloc() SF Markus Elfring
2018-03-12 13:30 ` SF Markus Elfring
2018-03-12 13:31 ` SF Markus Elfring [this message]
2018-03-12 13:31   ` [PATCH 1/2] crypto: talitos: Use common error handling code in talitos_edesc_alloc() SF Markus Elfring
2018-03-12 14:12   ` Christophe LEROY
2018-03-12 14:12     ` Christophe LEROY
2018-03-12 13:32 ` [PATCH 2/2] crypto: talitos: Delete an error message for a failed memory allocation " SF Markus Elfring
2018-03-12 13:32   ` [PATCH 2/2] crypto: talitos: Delete an error message for a failed memory allocation in talitos_edesc SF Markus Elfring
2018-03-12 14:13   ` [PATCH 2/2] crypto: talitos: Delete an error message for a failed memory allocation in talitos_edesc_alloc() Christophe LEROY
2018-03-12 14:13     ` [PATCH 2/2] crypto: talitos: Delete an error message for a failed memory allocation in talitos_e Christophe LEROY
2018-03-23 15:58   ` [PATCH 2/2] crypto: talitos: Delete an error message for a failed memory allocation in talitos_edesc_alloc() Herbert Xu
2018-03-23 15:58     ` [PATCH 2/2] crypto: talitos: Delete an error message for a failed memory allocation in talitos_e Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=330e4ffc-64dc-5474-4c84-916561cf0783@users.sourceforge.net \
    --to=elfring@users.sourceforge.net \
    --cc=christophe.leroy@c-s.fr \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.