mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stephan Mueller <smueller@chronox.de>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Daniel Borkmann <dborkman@redhat.com>,
	quentin.gouchet@gmail.com, LKML <linux-kernel@vger.kernel.org>,
	linux-crypto@vger.kernel.org, ABI/API <linux-api@vger.kernel.org>
Subject: Re: [PATCH v2 01/10] crypto: AF_ALG: add user space interface for AEAD
Date: Wed, 19 Nov 2014 07:30:52 +0100	[thread overview]
Message-ID: <12318471.ucMNmAKX0e@tachyon.chronox.de> (raw)
In-Reply-To: <20141119042704.GA19258@gondor.apana.org.au>

Am Mittwoch, 19. November 2014, 12:27:04 schrieb Herbert Xu:

Hi Herbert,

> On Wed, Nov 19, 2014 at 05:20:42AM +0100, Stephan Mueller wrote:
> > When looking deeper into skcipher_sendmsg, I see that the input data is
> > copied into the kernel using memcpy_fromiovec. The memory is allocated
> > before the memcpy call by skcipher_alloc_sgl.
> 
> Zero-copy is done through sendpage.

I am slightly at a loss here -- if you could give me a hint on how you think 
it can be implemented, I would be grateful.

Let us assume the AD || plaintext buffer is known to the kernel, either 
through sendpage or sendmsg. The entire buffer is split into chunks of 
scatterlists with ctx->tsgl. After processing one scatterlist from ctx->tsgl, 
that scatterlist is released via skcipher_pull_sgl.

Now, for AD, we need to consider:

- AD can span multiple ctx->tsgl chunks

- these AD scatterlist chunks cannot be released after a normal encryption 
operation. The associated data must be available for multiple operations. So, 
while plaintext data is still flowing in, we need to keep operating with the 
same AD.

Thus I am wondering how the rather static nature of the AD can fit with the 
dynamic nature of the plaintext given the current implementation on how 
plaintext is handled in the kernel.

To me, AD in league with an IV considering its rather static nature. Having 
said that, the IV is also not transported via the plaintext interface, but via 
a setsockopt. Shouldn't the AD be handled the same way?
> 
> Cheers,


-- 
Ciao
Stephan

  reply	other threads:[~2014-11-19  6:30 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-16  2:23 [PATCH v2 00/10] crypto: AF_ALG: add AEAD and RNG support Stephan Mueller
2014-11-16  2:23 ` [PATCH v2 01/10] crypto: AF_ALG: add user space interface for AEAD Stephan Mueller
2014-11-18 14:06   ` Herbert Xu
2014-11-19  0:34     ` Stephan Mueller
2014-11-19  4:20     ` Stephan Mueller
2014-11-19  4:27       ` Herbert Xu
2014-11-19  6:30         ` Stephan Mueller [this message]
2014-11-19  6:45           ` Herbert Xu
2014-11-16  2:24 ` [PATCH v2 02/10] crypto: AF_ALG: user space interface for cipher info Stephan Mueller
2014-11-18 14:08   ` Herbert Xu
2014-11-19  1:02     ` Stephan Mueller
2014-11-19  1:05       ` Herbert Xu
2014-11-20  4:03     ` Stephan Mueller
2014-11-20  4:07       ` Herbert Xu
2014-11-20  4:14         ` Stephan Mueller
2014-11-20  4:18           ` Herbert Xu
2014-11-20  4:23             ` Stephan Mueller
2014-11-20  4:46               ` crypto: user - Allow get request with empty driver name Herbert Xu
2014-11-20  7:11                 ` Steffen Klassert
2014-11-20  7:45                   ` Herbert Xu
2014-11-20  8:04                     ` Steffen Klassert
2014-11-20 13:07                       ` Stephan Mueller
2014-11-20 13:02                 ` Stephan Mueller
2014-11-20 13:10                   ` Stephan Mueller
2014-11-20 13:40                     ` Herbert Xu
2014-11-20 16:08                       ` Stephan Mueller
2014-11-21  2:31                         ` Herbert Xu
2014-11-21  2:42                           ` Stephan Mueller
2014-11-21  4:40                   ` Stephan Mueller
2014-11-20  6:32       ` [PATCH v2 02/10] crypto: AF_ALG: user space interface for cipher info Steffen Klassert
2014-11-20  7:05       ` Steffen Klassert
2014-11-16  2:25 ` [PATCH v2 03/10] crypto: AF_ALG: extend data structuers for AEAD Stephan Mueller
2014-11-16  2:25 ` [PATCH v2 04/10] crypto: AF_ALG: crypto API calls to inline functions Stephan Mueller
2014-11-16  2:26 ` [PATCH v2 05/10] crypto: AF_ALG: add AEAD support Stephan Mueller
2014-11-16  2:26 ` [PATCH v2 06/10] crypto: AF_ALG: make setkey optional Stephan Mueller
2014-11-18 14:10   ` Herbert Xu
2014-11-19  2:36     ` Stephan Mueller
2014-11-16  2:27 ` [PATCH v2 07/10] crypto: AF_ALG: add random number generator support Stephan Mueller
2014-11-16  2:28 ` [PATCH v2 08/10] crypto: AF_ALG: enable RNG interface compilation Stephan Mueller
2014-11-16  2:28 ` [PATCH v2 09/10] crypto: AF_ALG: user space interface for hash info Stephan Mueller
2014-11-16  2:29 ` [PATCH v2 10/10] crypto: AF_ALG: document the user space interface Stephan Mueller

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=12318471.ucMNmAKX0e@tachyon.chronox.de \
    --to=smueller@chronox.de \
    --cc=dborkman@redhat.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quentin.gouchet@gmail.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

all inboxes | Powered by JetHome®