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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox