Skip to content

Pull changes from joanbm#2

Merged
plauth merged 44 commits into
plauth:masterfrom
joanbm:master
Aug 31, 2020
Merged

Pull changes from joanbm#2
plauth merged 44 commits into
plauth:masterfrom
joanbm:master

Conversation

@plauth

@plauth plauth commented Aug 31, 2020

Copy link
Copy Markdown
Owner

No description provided.

joanbm added 30 commits March 15, 2020 20:48
…ession/decompression operation back to userspace (for now, recycling the struct crypt_op.iv member, to avoid any big changes or compatibility breaks with other cryptodev structures).
…or some yet unknown reason, are surprisingly slow (major bottleneck) when HW-acceleration is available.
…ng crypto_op.iv, simply return it back in crypto_op.dlen.
…(e.g. uncompressing an empty compression stream).
…oid writing past the allocated kernel buffers.
cryptodev_compr_init could leak memory if an allocation error failed within the initialization routine.
This refactors the initialization routine to make sure this doesn't happen.
…to avoid undesired different behaviors depending on the system's page sizes.
This commit extends compression so that the user can compress or decompress data in multiple separate chunks (compressed bitstreams) with a single ioctl system call. This avoids reducing the overhead if the user wants to compress the input in many small chunks, which previously required a separate ioctl for each chunk, involving substantial overhead.
… destionation buffers are page-aligned and the chunk sizes are multiples of the page size.
…llback less costly, and even allow some zerocopy even if the user buffer isn't perfectly aligned. It also allows leaking uninitialized kernel memory through the inter-chunk gaps like it was doing before.
…tly in order to be able to distinguish between compressible (ret=0) and incompressible(ret=-ENOSPC) chunks on compression.
joanbm and others added 14 commits June 14, 2020 03:03
…specify that the chunk is not present (i.e. should be skipped). This is useful in the presence of uncompressible chunks, which can be transmitted uncompressed, which ends up creating 'gaps' between compressible chunks.
…tra header that makes it incompatible with the other implementations.
…ession (for decompression the NX842 driver has the same problem internally but it will fix it itself without our help).
Signed-off-by: Scott Branden <[email protected]>
Linux no longer allows VLA use in the kernel, requiring declaration of
arrays to be up-front. This patch fixes "alloca is no longer permitted
in linux" build error.

Suggested-at: cryptodev-linux@5b0662b
Signed-off-by: Cristian Stoica <[email protected]>
Signed-off-by: Cristian Stoica <[email protected]>
@plauth
plauth merged commit 644d220 into plauth:master Aug 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants