All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilad Ben-Yossef <gilad@benyossef.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
	driverdev-devel@linuxdriverproject.org,
	linux-crypto@vger.kernel.org, Ofir Drang <ofir.drang@arm.com>
Subject: [PATCH 5/8] staging: ccree: fold common code into function
Date: Tue,  7 Nov 2017 09:40:01 +0000	[thread overview]
Message-ID: <1510047606-5589-6-git-send-email-gilad@benyossef.com> (raw)
In-Reply-To: <1510047606-5589-1-git-send-email-gilad@benyossef.com>

Fold common code copying MAC to/from a temp. buffer
into an inline function instead of keeping multiple
open coded versions of same.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
---
 drivers/staging/ccree/ssi_buffer_mgr.c | 92 ++++++++++++++--------------------
 1 file changed, 38 insertions(+), 54 deletions(-)

diff --git a/drivers/staging/ccree/ssi_buffer_mgr.c b/drivers/staging/ccree/ssi_buffer_mgr.c
index b3ca249..f3076f3 100644
--- a/drivers/staging/ccree/ssi_buffer_mgr.c
+++ b/drivers/staging/ccree/ssi_buffer_mgr.c
@@ -65,6 +65,27 @@ struct buffer_array {
 };
 
 /**
+ * cc_copy_mac() - Copy MAC to temporary location
+ *
+ * @dev: device object
+ * @req: aead request object
+ * @dir: [IN] copy from/to sgl
+ */
+static inline void cc_copy_mac(struct device *dev, struct aead_request *req,
+			       enum ssi_sg_cpy_direct dir)
+{
+	struct aead_req_ctx *areq_ctx = aead_request_ctx(req);
+	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
+	u32 skip = req->assoclen + req->cryptlen;
+
+	if (areq_ctx->is_gcm4543)
+		skip += crypto_aead_ivsize(tfm);
+
+	cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
+			   (skip - areq_ctx->req_authsize), skip, dir);
+}
+
+/**
  * cc_get_sgl_nents() - Get scatterlist number of entries.
  *
  * @sg_list: SG list
@@ -669,21 +690,12 @@ void cc_unmap_aead_request(struct device *dev, struct aead_request *req)
 	}
 	if (drvdata->coherent &&
 	    (areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) &&
-	    likely(req->src == req->dst)) {
-		u32 size_to_skip = req->assoclen;
-
-		if (areq_ctx->is_gcm4543)
-			size_to_skip += crypto_aead_ivsize(tfm);
+	    likely(req->src == req->dst))
 
-		/* copy mac to a temporary location to deal with possible
+		/* copy back mac from temporary location to deal with possible
 		 * data memory overriding that caused by cache coherence problem.
 		 */
-		cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
-				   (size_to_skip + req->cryptlen -
-				    areq_ctx->req_authsize),
-				   (size_to_skip + req->cryptlen),
-				   SSI_SG_FROM_BUF);
-	}
+		cc_copy_mac(dev, req, SSI_SG_FROM_BUF);
 }
 
 static inline int cc_get_aead_icv_nents(
@@ -918,7 +930,6 @@ static inline int cc_prepare_aead_data_mlli(
 	enum drv_crypto_direction direct = areq_ctx->gen_ctx.op_type;
 	unsigned int authsize = areq_ctx->req_authsize;
 	int rc = 0, icv_nents;
-	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct device *dev = drvdata_to_dev(drvdata);
 
 	if (likely(req->src == req->dst)) {
@@ -943,24 +954,14 @@ static inline int cc_prepare_aead_data_mlli(
 			 * MAC verification upon request completion
 			 */
 			if (direct == DRV_CRYPTO_DIRECTION_DECRYPT) {
-				if (!drvdata->coherent) {
 				/* In coherent platforms (e.g. ACP)
 				 * already copying ICV for any
 				 * INPLACE-DECRYPT operation, hence
 				 * we must neglect this code.
 				 */
-					u32 skip = req->assoclen;
-
-					if (areq_ctx->is_gcm4543)
-						skip += crypto_aead_ivsize(tfm);
-
-					cc_copy_sg_portion(dev,
-							   areq_ctx->backup_mac,
-							   req->src,
-							   (skip + req->cryptlen - areq_ctx->req_authsize),
-							   (skip + req->cryptlen),
-							   SSI_SG_TO_BUF);
-				}
+				if (!drvdata->coherent)
+					cc_copy_mac(dev, req, SSI_SG_TO_BUF);
+
 				areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
 			} else {
 				areq_ctx->icv_virt_addr = areq_ctx->mac_buf;
@@ -996,22 +997,14 @@ static inline int cc_prepare_aead_data_mlli(
 			goto prepare_data_mlli_exit;
 		}
 
+		/* Backup happens only when ICV is fragmented, ICV
+		 * verification is made by CPU compare in order to simplify
+		 * MAC verification upon request completion
+		 */
 		if (unlikely(areq_ctx->is_icv_fragmented)) {
-			/* Backup happens only when ICV is fragmented, ICV
-			 * verification is made by CPU compare in order to simplify
-			 * MAC verification upon request completion
-			 */
-			u32 size_to_skip = req->assoclen;
-
-			if (areq_ctx->is_gcm4543)
-				size_to_skip += crypto_aead_ivsize(tfm);
-
-			  cc_copy_sg_portion(dev, areq_ctx->backup_mac,
-					     req->src,
-					     (size_to_skip + req->cryptlen - areq_ctx->req_authsize),
-					     (size_to_skip + req->cryptlen),
-					     SSI_SG_TO_BUF);
+			cc_copy_mac(dev, req, SSI_SG_TO_BUF);
 			areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
+
 		} else { /* Contig. ICV */
 			/*Should hanlde if the sg is not contig.*/
 			areq_ctx->icv_dma_addr = sg_dma_address(
@@ -1249,22 +1242,13 @@ int cc_map_aead_request(
 	mlli_params->curr_pool = NULL;
 	sg_data.num_of_buffers = 0;
 
+	/* copy mac to a temporary location to deal with possible
+	 * data memory overriding that caused by cache coherence problem.
+	 */
 	if (drvdata->coherent &&
 	    (areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) &&
-	    likely(req->src == req->dst)) {
-		u32 size_to_skip = req->assoclen;
-
-		if (is_gcm4543)
-			size_to_skip += crypto_aead_ivsize(tfm);
-
-		/* copy mac to a temporary location to deal with possible
-		 * data memory overriding that caused by cache coherence problem.
-		 */
-		cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
-				   (size_to_skip + req->cryptlen - areq_ctx->req_authsize),
-				   (size_to_skip + req->cryptlen),
-				   SSI_SG_TO_BUF);
-	}
+	    likely(req->src == req->dst))
+		cc_copy_mac(dev, req, SSI_SG_TO_BUF);
 
 	/* cacluate the size for cipher remove ICV in decrypt*/
 	areq_ctx->cryptlen = (areq_ctx->gen_ctx.op_type ==
-- 
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Gilad Ben-Yossef <gilad@benyossef.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ofir Drang <ofir.drang@arm.com>,
	linux-crypto@vger.kernel.org,
	driverdev-devel@linuxdriverproject.org,
	devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org
Subject: [PATCH 5/8] staging: ccree: fold common code into function
Date: Tue,  7 Nov 2017 09:40:01 +0000	[thread overview]
Message-ID: <1510047606-5589-6-git-send-email-gilad@benyossef.com> (raw)
In-Reply-To: <1510047606-5589-1-git-send-email-gilad@benyossef.com>

Fold common code copying MAC to/from a temp. buffer
into an inline function instead of keeping multiple
open coded versions of same.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
---
 drivers/staging/ccree/ssi_buffer_mgr.c | 92 ++++++++++++++--------------------
 1 file changed, 38 insertions(+), 54 deletions(-)

diff --git a/drivers/staging/ccree/ssi_buffer_mgr.c b/drivers/staging/ccree/ssi_buffer_mgr.c
index b3ca249..f3076f3 100644
--- a/drivers/staging/ccree/ssi_buffer_mgr.c
+++ b/drivers/staging/ccree/ssi_buffer_mgr.c
@@ -65,6 +65,27 @@ struct buffer_array {
 };
 
 /**
+ * cc_copy_mac() - Copy MAC to temporary location
+ *
+ * @dev: device object
+ * @req: aead request object
+ * @dir: [IN] copy from/to sgl
+ */
+static inline void cc_copy_mac(struct device *dev, struct aead_request *req,
+			       enum ssi_sg_cpy_direct dir)
+{
+	struct aead_req_ctx *areq_ctx = aead_request_ctx(req);
+	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
+	u32 skip = req->assoclen + req->cryptlen;
+
+	if (areq_ctx->is_gcm4543)
+		skip += crypto_aead_ivsize(tfm);
+
+	cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
+			   (skip - areq_ctx->req_authsize), skip, dir);
+}
+
+/**
  * cc_get_sgl_nents() - Get scatterlist number of entries.
  *
  * @sg_list: SG list
@@ -669,21 +690,12 @@ void cc_unmap_aead_request(struct device *dev, struct aead_request *req)
 	}
 	if (drvdata->coherent &&
 	    (areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) &&
-	    likely(req->src == req->dst)) {
-		u32 size_to_skip = req->assoclen;
-
-		if (areq_ctx->is_gcm4543)
-			size_to_skip += crypto_aead_ivsize(tfm);
+	    likely(req->src == req->dst))
 
-		/* copy mac to a temporary location to deal with possible
+		/* copy back mac from temporary location to deal with possible
 		 * data memory overriding that caused by cache coherence problem.
 		 */
-		cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
-				   (size_to_skip + req->cryptlen -
-				    areq_ctx->req_authsize),
-				   (size_to_skip + req->cryptlen),
-				   SSI_SG_FROM_BUF);
-	}
+		cc_copy_mac(dev, req, SSI_SG_FROM_BUF);
 }
 
 static inline int cc_get_aead_icv_nents(
@@ -918,7 +930,6 @@ static inline int cc_prepare_aead_data_mlli(
 	enum drv_crypto_direction direct = areq_ctx->gen_ctx.op_type;
 	unsigned int authsize = areq_ctx->req_authsize;
 	int rc = 0, icv_nents;
-	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct device *dev = drvdata_to_dev(drvdata);
 
 	if (likely(req->src == req->dst)) {
@@ -943,24 +954,14 @@ static inline int cc_prepare_aead_data_mlli(
 			 * MAC verification upon request completion
 			 */
 			if (direct == DRV_CRYPTO_DIRECTION_DECRYPT) {
-				if (!drvdata->coherent) {
 				/* In coherent platforms (e.g. ACP)
 				 * already copying ICV for any
 				 * INPLACE-DECRYPT operation, hence
 				 * we must neglect this code.
 				 */
-					u32 skip = req->assoclen;
-
-					if (areq_ctx->is_gcm4543)
-						skip += crypto_aead_ivsize(tfm);
-
-					cc_copy_sg_portion(dev,
-							   areq_ctx->backup_mac,
-							   req->src,
-							   (skip + req->cryptlen - areq_ctx->req_authsize),
-							   (skip + req->cryptlen),
-							   SSI_SG_TO_BUF);
-				}
+				if (!drvdata->coherent)
+					cc_copy_mac(dev, req, SSI_SG_TO_BUF);
+
 				areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
 			} else {
 				areq_ctx->icv_virt_addr = areq_ctx->mac_buf;
@@ -996,22 +997,14 @@ static inline int cc_prepare_aead_data_mlli(
 			goto prepare_data_mlli_exit;
 		}
 
+		/* Backup happens only when ICV is fragmented, ICV
+		 * verification is made by CPU compare in order to simplify
+		 * MAC verification upon request completion
+		 */
 		if (unlikely(areq_ctx->is_icv_fragmented)) {
-			/* Backup happens only when ICV is fragmented, ICV
-			 * verification is made by CPU compare in order to simplify
-			 * MAC verification upon request completion
-			 */
-			u32 size_to_skip = req->assoclen;
-
-			if (areq_ctx->is_gcm4543)
-				size_to_skip += crypto_aead_ivsize(tfm);
-
-			  cc_copy_sg_portion(dev, areq_ctx->backup_mac,
-					     req->src,
-					     (size_to_skip + req->cryptlen - areq_ctx->req_authsize),
-					     (size_to_skip + req->cryptlen),
-					     SSI_SG_TO_BUF);
+			cc_copy_mac(dev, req, SSI_SG_TO_BUF);
 			areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
+
 		} else { /* Contig. ICV */
 			/*Should hanlde if the sg is not contig.*/
 			areq_ctx->icv_dma_addr = sg_dma_address(
@@ -1249,22 +1242,13 @@ int cc_map_aead_request(
 	mlli_params->curr_pool = NULL;
 	sg_data.num_of_buffers = 0;
 
+	/* copy mac to a temporary location to deal with possible
+	 * data memory overriding that caused by cache coherence problem.
+	 */
 	if (drvdata->coherent &&
 	    (areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) &&
-	    likely(req->src == req->dst)) {
-		u32 size_to_skip = req->assoclen;
-
-		if (is_gcm4543)
-			size_to_skip += crypto_aead_ivsize(tfm);
-
-		/* copy mac to a temporary location to deal with possible
-		 * data memory overriding that caused by cache coherence problem.
-		 */
-		cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
-				   (size_to_skip + req->cryptlen - areq_ctx->req_authsize),
-				   (size_to_skip + req->cryptlen),
-				   SSI_SG_TO_BUF);
-	}
+	    likely(req->src == req->dst))
+		cc_copy_mac(dev, req, SSI_SG_TO_BUF);
 
 	/* cacluate the size for cipher remove ICV in decrypt*/
 	areq_ctx->cryptlen = (areq_ctx->gen_ctx.op_type ==
-- 
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Gilad Ben-Yossef <gilad@benyossef.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
	driverdev-devel@linuxdriverproject.org,
	linux-crypto@vger.kernel.org, Ofir Drang <ofir.drang@arm.com>
Subject: [PATCH 5/8] staging: ccree: fold common code into function
Date: Tue,  7 Nov 2017 09:40:01 +0000	[thread overview]
Message-ID: <1510047606-5589-6-git-send-email-gilad@benyossef.com> (raw)
In-Reply-To: <1510047606-5589-1-git-send-email-gilad@benyossef.com>

Fold common code copying MAC to/from a temp. buffer
into an inline function instead of keeping multiple
open coded versions of same.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
---
 drivers/staging/ccree/ssi_buffer_mgr.c | 92 ++++++++++++++--------------------
 1 file changed, 38 insertions(+), 54 deletions(-)

diff --git a/drivers/staging/ccree/ssi_buffer_mgr.c b/drivers/staging/ccree/ssi_buffer_mgr.c
index b3ca249..f3076f3 100644
--- a/drivers/staging/ccree/ssi_buffer_mgr.c
+++ b/drivers/staging/ccree/ssi_buffer_mgr.c
@@ -65,6 +65,27 @@ struct buffer_array {
 };
 
 /**
+ * cc_copy_mac() - Copy MAC to temporary location
+ *
+ * @dev: device object
+ * @req: aead request object
+ * @dir: [IN] copy from/to sgl
+ */
+static inline void cc_copy_mac(struct device *dev, struct aead_request *req,
+			       enum ssi_sg_cpy_direct dir)
+{
+	struct aead_req_ctx *areq_ctx = aead_request_ctx(req);
+	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
+	u32 skip = req->assoclen + req->cryptlen;
+
+	if (areq_ctx->is_gcm4543)
+		skip += crypto_aead_ivsize(tfm);
+
+	cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
+			   (skip - areq_ctx->req_authsize), skip, dir);
+}
+
+/**
  * cc_get_sgl_nents() - Get scatterlist number of entries.
  *
  * @sg_list: SG list
@@ -669,21 +690,12 @@ void cc_unmap_aead_request(struct device *dev, struct aead_request *req)
 	}
 	if (drvdata->coherent &&
 	    (areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) &&
-	    likely(req->src == req->dst)) {
-		u32 size_to_skip = req->assoclen;
-
-		if (areq_ctx->is_gcm4543)
-			size_to_skip += crypto_aead_ivsize(tfm);
+	    likely(req->src == req->dst))
 
-		/* copy mac to a temporary location to deal with possible
+		/* copy back mac from temporary location to deal with possible
 		 * data memory overriding that caused by cache coherence problem.
 		 */
-		cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
-				   (size_to_skip + req->cryptlen -
-				    areq_ctx->req_authsize),
-				   (size_to_skip + req->cryptlen),
-				   SSI_SG_FROM_BUF);
-	}
+		cc_copy_mac(dev, req, SSI_SG_FROM_BUF);
 }
 
 static inline int cc_get_aead_icv_nents(
@@ -918,7 +930,6 @@ static inline int cc_prepare_aead_data_mlli(
 	enum drv_crypto_direction direct = areq_ctx->gen_ctx.op_type;
 	unsigned int authsize = areq_ctx->req_authsize;
 	int rc = 0, icv_nents;
-	struct crypto_aead *tfm = crypto_aead_reqtfm(req);
 	struct device *dev = drvdata_to_dev(drvdata);
 
 	if (likely(req->src == req->dst)) {
@@ -943,24 +954,14 @@ static inline int cc_prepare_aead_data_mlli(
 			 * MAC verification upon request completion
 			 */
 			if (direct == DRV_CRYPTO_DIRECTION_DECRYPT) {
-				if (!drvdata->coherent) {
 				/* In coherent platforms (e.g. ACP)
 				 * already copying ICV for any
 				 * INPLACE-DECRYPT operation, hence
 				 * we must neglect this code.
 				 */
-					u32 skip = req->assoclen;
-
-					if (areq_ctx->is_gcm4543)
-						skip += crypto_aead_ivsize(tfm);
-
-					cc_copy_sg_portion(dev,
-							   areq_ctx->backup_mac,
-							   req->src,
-							   (skip + req->cryptlen - areq_ctx->req_authsize),
-							   (skip + req->cryptlen),
-							   SSI_SG_TO_BUF);
-				}
+				if (!drvdata->coherent)
+					cc_copy_mac(dev, req, SSI_SG_TO_BUF);
+
 				areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
 			} else {
 				areq_ctx->icv_virt_addr = areq_ctx->mac_buf;
@@ -996,22 +997,14 @@ static inline int cc_prepare_aead_data_mlli(
 			goto prepare_data_mlli_exit;
 		}
 
+		/* Backup happens only when ICV is fragmented, ICV
+		 * verification is made by CPU compare in order to simplify
+		 * MAC verification upon request completion
+		 */
 		if (unlikely(areq_ctx->is_icv_fragmented)) {
-			/* Backup happens only when ICV is fragmented, ICV
-			 * verification is made by CPU compare in order to simplify
-			 * MAC verification upon request completion
-			 */
-			u32 size_to_skip = req->assoclen;
-
-			if (areq_ctx->is_gcm4543)
-				size_to_skip += crypto_aead_ivsize(tfm);
-
-			  cc_copy_sg_portion(dev, areq_ctx->backup_mac,
-					     req->src,
-					     (size_to_skip + req->cryptlen - areq_ctx->req_authsize),
-					     (size_to_skip + req->cryptlen),
-					     SSI_SG_TO_BUF);
+			cc_copy_mac(dev, req, SSI_SG_TO_BUF);
 			areq_ctx->icv_virt_addr = areq_ctx->backup_mac;
+
 		} else { /* Contig. ICV */
 			/*Should hanlde if the sg is not contig.*/
 			areq_ctx->icv_dma_addr = sg_dma_address(
@@ -1249,22 +1242,13 @@ int cc_map_aead_request(
 	mlli_params->curr_pool = NULL;
 	sg_data.num_of_buffers = 0;
 
+	/* copy mac to a temporary location to deal with possible
+	 * data memory overriding that caused by cache coherence problem.
+	 */
 	if (drvdata->coherent &&
 	    (areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT) &&
-	    likely(req->src == req->dst)) {
-		u32 size_to_skip = req->assoclen;
-
-		if (is_gcm4543)
-			size_to_skip += crypto_aead_ivsize(tfm);
-
-		/* copy mac to a temporary location to deal with possible
-		 * data memory overriding that caused by cache coherence problem.
-		 */
-		cc_copy_sg_portion(dev, areq_ctx->backup_mac, req->src,
-				   (size_to_skip + req->cryptlen - areq_ctx->req_authsize),
-				   (size_to_skip + req->cryptlen),
-				   SSI_SG_TO_BUF);
-	}
+	    likely(req->src == req->dst))
+		cc_copy_mac(dev, req, SSI_SG_TO_BUF);
 
 	/* cacluate the size for cipher remove ICV in decrypt*/
 	areq_ctx->cryptlen = (areq_ctx->gen_ctx.op_type ==
-- 
2.7.4

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

  parent reply	other threads:[~2017-11-07  9:40 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-07  9:39 [PATCH 0/8] staging: ccree: fixes and cleanups Gilad Ben-Yossef
2017-11-07  9:39 ` Gilad Ben-Yossef
2017-11-07  9:39 ` [PATCH 1/8] staging: ccree: fix leak of import() after init() Gilad Ben-Yossef
2017-11-07  9:39 ` [PATCH 2/8] staging: ccree: use more readable func names Gilad Ben-Yossef
2017-11-07  9:39   ` Gilad Ben-Yossef
2017-11-07  9:39   ` Gilad Ben-Yossef
2017-11-07 10:30   ` Dan Carpenter
2017-11-07 10:30     ` Dan Carpenter
2017-11-09  6:26     ` Gilad Ben-Yossef
2017-11-09  6:26       ` Gilad Ben-Yossef
2017-11-07  9:39 ` [PATCH 3/8] staging: ccree: simplify AEAD using local var Gilad Ben-Yossef
2017-11-07  9:39   ` Gilad Ben-Yossef
2017-11-07  9:39   ` Gilad Ben-Yossef
2017-11-07 10:35   ` Dan Carpenter
2017-11-07 10:35     ` Dan Carpenter
2017-11-07 10:35     ` Dan Carpenter
2017-11-07  9:40 ` [PATCH 4/8] staging: ccree: simplify buf mgr using local vars Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07  9:40 ` Gilad Ben-Yossef [this message]
2017-11-07  9:40   ` [PATCH 5/8] staging: ccree: fold common code into function Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07 10:40   ` Dan Carpenter
2017-11-07 10:40     ` Dan Carpenter
2017-11-07 10:40     ` Dan Carpenter
2017-11-07  9:40 ` [PATCH 6/8] staging: ccree: simplify pm manager using local var Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07 10:43   ` Dan Carpenter
2017-11-07 10:43     ` Dan Carpenter
2017-11-07 10:43     ` Dan Carpenter
2017-11-09  6:27     ` Gilad Ben-Yossef
2017-11-09  6:27       ` Gilad Ben-Yossef
2017-11-09 12:54       ` Dan Carpenter
2017-11-07  9:40 ` [PATCH 7/8] staging: ccree: remove compare to none zero Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07 10:52   ` Dan Carpenter
2017-11-07 10:52     ` Dan Carpenter
2017-11-07 10:52     ` Dan Carpenter
2017-11-07  9:40 ` [PATCH 8/8] staging: ccree: remove braces for single statement Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef
2017-11-07  9:40   ` Gilad Ben-Yossef

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=1510047606-5589-6-git-send-email-gilad@benyossef.com \
    --to=gilad@benyossef.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=driverdev-devel@linuxdriverproject.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ofir.drang@arm.com \
    /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.