From: Stephan Mueller <smueller@chronox.de>
To: Tadeusz Struk <tadeusz.struk@intel.com>
Cc: Andrzej Zaborowski <andrew.zaborowski@intel.com>,
linux-crypto@vger.kernel.org
Subject: Re: [RFC PATCH] crypto: RSA padding transform
Date: Mon, 07 Sep 2015 19:54:09 +0200 [thread overview]
Message-ID: <1807044.IVByMVeBDE@tauon.atsec.com> (raw)
In-Reply-To: <55ED9FDC.60602@intel.com>
Am Montag, 7. September 2015, 07:31:56 schrieb Tadeusz Struk:
Hi Tadeusz,
>On 09/06/2015 07:33 AM, Andrzej Zaborowski wrote:
>> Probably yes, I also read about the decision to use iov buffers, this
>> will have a bigger effect on code.
>
>The more I think about the sgl support the more it looks to me like it wasn't
>a good idea. It will be copied into a flat buffer somewhere along the way
>anyway. Like in the example below.
>
>I have that conversion already done, and for SW it looks like the data is
>copied 4 times for a single operation:
>1 - from sgl to flat buffer, because MPI doesn't take sgls, (if the src has
>more ents) 2 - from buff to MPI, then, after operation
>3 - export from MPI to a buff and
>4 - from buff to sgl (if is the output sg it also fragmented).
>
>I can see now that with all these padding schemes there will be more buffer
>copied on top of this, so I wonder if it still make sense.
>Herbert?
When the padding stuff comes into play, I think the SGL approach avoids
memcpy() invocations.
For example, Andrzej's approach currently is to copy the *entire* source data
into a buffer where the padding is added.
With SGLs, Andrzej only needs a buffer with the padding (which I would think
could even reside on the stack, provided some bounds checks are done), and
modify the SGL by preprending the padding buffer to the SGL with the source
data.
>
>> + src = kmalloc(ctx->key_size,
>>
>>>> + (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
>>>> + GFP_KERNEL : GFP_ATOMIC);
>>>> + if (!src)
>>>> + return -ENOMEM;
>>>> +
>>>> + /* Reuse output buffer, add padding in the input */
>>>> + child_req->src = src;
>>>> + child_req->src_len = ctx->key_size;
>>>> + child_req->dst = req->dst;
>>>> + child_req->dst_len = req->dst_len;
>
>--
>To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
Ciao
Stephan
next prev parent reply other threads:[~2015-09-07 17:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-05 23:00 [RFC PATCH] crypto: RSA padding transform Andrew Zaborowski
2015-09-06 8:34 ` Stephan Mueller
2015-09-06 14:33 ` Andrzej Zaborowski
2015-09-06 21:17 ` Stephan Mueller
2015-09-07 14:42 ` Andrzej Zaborowski
2015-09-07 15:10 ` Stephan Mueller
2015-09-07 14:31 ` Tadeusz Struk
2015-09-07 17:54 ` Stephan Mueller [this message]
2015-09-08 16:09 ` Andrzej Zaborowski
2015-10-30 8:35 ` Marcel Holtmann
2015-09-08 1:07 ` Herbert Xu
2015-09-07 14:11 ` Tadeusz Struk
2015-09-07 15:07 ` Stephan Mueller
2015-09-07 14:06 ` Tadeusz Struk
2015-09-07 14:38 ` Andrzej Zaborowski
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=1807044.IVByMVeBDE@tauon.atsec.com \
--to=smueller@chronox.de \
--cc=andrew.zaborowski@intel.com \
--cc=linux-crypto@vger.kernel.org \
--cc=tadeusz.struk@intel.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.