Pull changes from joanbm#2
Merged
Merged
Conversation
…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.
…r-module instance.
…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.
…kernel very fast.
…re copying it there.
…tly in order to be able to distinguish between compressible (ret=0) and incompressible(ret=-ENOSPC) chunks on compression.
…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).
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9740ca4e95b43b91a4a848694a20d01ba6818f7b https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=da1c55f1b272f4bd54671d459b39ea7b54944ef9 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d8ed45c5dcd455fc5848d47f86883a1b872ac0d0 Signed-off-by: Joan Bruguera <[email protected]>
Fix build for Linux 5.8-rc1
Signed-off-by: Scott Branden <[email protected]>
Fix for change in Kernel 4.4.168
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]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.