Message ID | 1493398960-25643-1-git-send-email-logang@deltatee.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Herbert Xu |
Headers | show |
On Fri, Apr 28, 2017 at 11:02:40AM -0600, Logan Gunthorpe wrote: > * Cleaned up the formatting of ablkcipher_get arguments so it complies > with kernel style > * The offset in ablkcipher_get sould be added to the source, not the > destination. We rename it to soffset for clarity. > * dst++ should be dst=sg_next(dst) > * We call kunmap_atomic earlier so we only have to do it once. > * If ablkcipher_get fails, we should probably ensure the request > completes with an error. Please don't mix unrelated changes in the same patch. Also was this tested on actual hardware? This is an old driver so it's probably best to just let it be. Thanks,
On Thu, May 18, 2017 at 11:25:06AM +0800, Herbert Xu wrote: > On Fri, Apr 28, 2017 at 11:02:40AM -0600, Logan Gunthorpe wrote: > > * Cleaned up the formatting of ablkcipher_get arguments so it complies > > with kernel style > > * The offset in ablkcipher_get sould be added to the source, not the > > destination. We rename it to soffset for clarity. > > * dst++ should be dst=sg_next(dst) > > * We call kunmap_atomic earlier so we only have to do it once. > > * If ablkcipher_get fails, we should probably ensure the request > > completes with an error. > > Please don't mix unrelated changes in the same patch. > > Also was this tested on actual hardware? This is an old driver so > it's probably best to just let it be. Of course we do want fix the offset issue so could you please send a new patch with just that fix? Thanks,
On 17/05/17 09:26 PM, Herbert Xu wrote: > On Thu, May 18, 2017 at 11:25:06AM +0800, Herbert Xu wrote: >> On Fri, Apr 28, 2017 at 11:02:40AM -0600, Logan Gunthorpe wrote: >>> * Cleaned up the formatting of ablkcipher_get arguments so it complies >>> with kernel style >>> * The offset in ablkcipher_get sould be added to the source, not the >>> destination. We rename it to soffset for clarity. >>> * dst++ should be dst=sg_next(dst) >>> * We call kunmap_atomic earlier so we only have to do it once. >>> * If ablkcipher_get fails, we should probably ensure the request >>> completes with an error. >> Please don't mix unrelated changes in the same patch. Seriously? The patch is tiny and those are all incredibly minor changes. >> Also was this tested on actual hardware? This is an old driver so >> it's probably best to just let it be. No, I don't have that hardware. I sent this patch because you requested it. > Of course we do want fix the offset issue so could you please send > a new patch with just that fix? Sorry, no, I honestly don't see that as worth my time. Feel free to drop the patch or roll your own. Logan
From: Logan Gunthorpe <logang@deltatee.com> Date: Wed, 17 May 2017 21:33:22 -0600 > > > On 17/05/17 09:26 PM, Herbert Xu wrote: >> On Thu, May 18, 2017 at 11:25:06AM +0800, Herbert Xu wrote: >>> On Fri, Apr 28, 2017 at 11:02:40AM -0600, Logan Gunthorpe wrote: >>>> * Cleaned up the formatting of ablkcipher_get arguments so it complies >>>> with kernel style >>>> * The offset in ablkcipher_get sould be added to the source, not the >>>> destination. We rename it to soffset for clarity. >>>> * dst++ should be dst=sg_next(dst) >>>> * We call kunmap_atomic earlier so we only have to do it once. >>>> * If ablkcipher_get fails, we should probably ensure the request >>>> completes with an error. > >>> Please don't mix unrelated changes in the same patch. > > Seriously? The patch is tiny and those are all incredibly minor changes. Yes, seriously. It is the only way to make your changes easy to review and audit. Please do as Herbert is asking.
diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c index e09d405..4c19e4a 100644 --- a/drivers/crypto/hifn_795x.c +++ b/drivers/crypto/hifn_795x.c @@ -1619,8 +1619,9 @@ static int hifn_start_device(struct hifn_device *dev) return 0; } -static int ablkcipher_get(void *saddr, unsigned int *srestp, unsigned int offset, - struct scatterlist *dst, unsigned int size, unsigned int *nbytesp) +static int ablkcipher_get(void *saddr, unsigned int *srestp, + unsigned int soffset, struct scatterlist *dst, + unsigned int size, unsigned int *nbytesp) { unsigned int srest = *srestp, nbytes = *nbytesp, copy; void *daddr; @@ -1633,19 +1634,19 @@ static int ablkcipher_get(void *saddr, unsigned int *srestp, unsigned int offset copy = min3(srest, dst->length, size); daddr = kmap_atomic(sg_page(dst)); - memcpy(daddr + dst->offset + offset, saddr, copy); + memcpy(daddr + dst->offset, saddr + soffset, copy); kunmap_atomic(daddr); nbytes -= copy; size -= copy; srest -= copy; saddr += copy; - offset = 0; + soffset = 0; pr_debug("%s: copy: %u, size: %u, srest: %u, nbytes: %u.\n", __func__, copy, size, srest, nbytes); - dst++; + dst = sg_next(dst); idx++; } @@ -1699,13 +1700,15 @@ static void hifn_process_ready(struct ablkcipher_request *req, int error) err = ablkcipher_get(saddr, &t->length, t->offset, dst, nbytes, &nbytes); + kunmap_atomic(saddr); + if (err < 0) { - kunmap_atomic(saddr); + if (!error) + error = err; break; } idx += err; - kunmap_atomic(saddr); } hifn_cipher_walk_exit(&rctx->walk);
* Cleaned up the formatting of ablkcipher_get arguments so it complies with kernel style * The offset in ablkcipher_get sould be added to the source, not the destination. We rename it to soffset for clarity. * dst++ should be dst=sg_next(dst) * We call kunmap_atomic earlier so we only have to do it once. * If ablkcipher_get fails, we should probably ensure the request completes with an error. Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> --- drivers/crypto/hifn_795x.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)