Go to file
Eric Biggers c626910f3f crypto: ahash - remove support for nonzero alignmask
Currently, the ahash API checks the alignment of all key and result
buffers against the algorithm's declared alignmask, and for any
unaligned buffers it falls back to manually aligned temporary buffers.

This is virtually useless, however.  First, since it does not apply to
the message, its effect is much more limited than e.g. is the case for
the alignmask for "skcipher".  Second, the key and result buffers are
given as virtual addresses and cannot (in general) be DMA'ed into, so
drivers end up having to copy to/from them in software anyway.  As a
result it's easy to use memcpy() or the unaligned access helpers.

The crypto_hash_walk_*() helper functions do use the alignmask to align
the message.  But with one exception those are only used for shash
algorithms being exposed via the ahash API, not for native ahashes, and
aligning the message is not required in this case, especially now that
alignmask support has been removed from shash.  The exception is the
n2_core driver, which doesn't set an alignmask.

In any case, no ahash algorithms actually set a nonzero alignmask
anymore.  Therefore, remove support for it from ahash.  The benefit is
that all the code to handle "misaligned" buffers in the ahash API goes
away, reducing the overhead of the ahash API.

This follows the same change that was made to shash.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-27 18:04:29 +08:00
Documentation crypto: ahash - remove support for nonzero alignmask 2023-10-27 18:04:29 +08:00
LICENSES
arch crypto: loongarch/crc32 - remove redundant setting of alignmask to 0 2023-10-27 18:04:24 +08:00
block
certs certs: Limit MODULE_SIG_KEY_TYPE_ECDSA to SHA384 or SHA512 2023-10-20 13:39:26 +08:00
crypto crypto: ahash - remove support for nonzero alignmask 2023-10-27 18:04:29 +08:00
drivers crypto: stm32 - remove unnecessary alignmask for ahashes 2023-10-27 18:04:29 +08:00
fs treewide: Add SPDX identifier to IETF ASN.1 modules 2023-10-27 18:04:28 +08:00
include crypto: ahash - remove support for nonzero alignmask 2023-10-27 18:04:29 +08:00
init
io_uring
ipc
kernel padata: Fix refcnt handling in padata_free_shell() 2023-10-27 18:04:24 +08:00
lib iov_iter: Kunit tests for page extraction 2023-09-09 15:11:49 -07:00
mm LoongArch changes for v6.6 2023-09-08 12:16:52 -07:00
net treewide: Add SPDX identifier to IETF ASN.1 modules 2023-10-27 18:04:28 +08:00
rust
samples
scripts Fix preemption delays in the SGX code, remove unnecessarily UAPI-exported code, 2023-09-10 10:39:31 -07:00
security KEYS: encrypted: Do not include crypto/algapi.h 2023-09-15 18:30:43 +08:00
sound sound fixes for 6.6-rc1 2023-09-08 13:07:50 -07:00
tools crypto: ccp - Fix some unfused tests 2023-09-15 18:29:45 +08:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: update AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER - SEV SUPPORT 2023-10-27 18:04:28 +08:00
Makefile Linux 6.6-rc1 2023-09-10 16:28:41 -07:00
README

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.