Skip to content
Permalink
Hongbo-Li/cryp…
Switch branches/tags

Commits on May 12, 2021

  1. crypto: add eddsa test vector

    This patch adds the test vector for ed25519.
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021
  2. crypto: ed25519 cert verification

    This patch adds the support of eddsa(currently ed25519) which is described
    in RFC8032 section 5.1.7 [1].
    
    [1]: https://tools.ietf.org/html/rfc8032#section-5.1.7
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021
  3. crypto: move common code in sm2 to ec_mpi.c and ec_mpi.h

    Some structs and functions in sm2 are common codes, and could be
    used by the following eddsa patch. So move them to common files:
    ec_mpi.c and ec_mpi.h.
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021
  4. x509: add support for eddsa

    This patch make x509 support eddsa(currently ed25519). According to
    RFC8032 section 5.1.7[1], the digest is not on the original message,
    but on a special formated message string:
    	SHA512(dom2(F, C) || R || A || PH(M))
    
    [1]: https://tools.ietf.org/html/rfc8032#section-5.1.7
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021
  5. lib/mpi: export some common function

    Export mpi_add_ui() and mpi_sub() that are used by the following
    eddsa patch.
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021
  6. lib/mpi: use kcalloc in mpi_resize

    We should set the additional space to 0 in mpi_resize().
    So use kcalloc() instead of kmalloc_array().
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021
  7. crypto: fix a memory leak in sm2

    SM2 module alloc ec->Q in sm2_set_pub_key(), when doing alg test in
    test_akcipher_one(), it will set public key for every test vector,
    and don't free ec->Q. This will cause a memory leak.
    
    This patch alloc ec->Q in sm2_ec_ctx_init().
    
    Signed-off-by: Hongbo Li <herberthbli@tencent.com>
    herberthbli authored and intel-lab-lkp committed May 12, 2021

Commits on Apr 22, 2021

  1. fsverity: relax build time dependency on CRYPTO_SHA256

    CONFIG_CRYPTO_SHA256 denotes the generic C implementation of the SHA-256
    shash algorithm, which is selected as the default crypto shash provider
    for fsverity. However, fsverity has no strict link time dependency, and
    the same shash could be exposed by an optimized implementation, and arm64
    has a number of those (scalar, NEON-based and one based on special crypto
    instructions). In such cases, it makes little sense to require that the
    generic C implementation is incorporated as well, given that it will never
    be called.
    
    To address this, relax the 'select' clause to 'imply' so that the generic
    driver can be omitted from the build if desired.
    
    Acked-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    ardbiesheuvel authored and herbertx committed Apr 22, 2021
  2. fscrypt: relax Kconfig dependencies for crypto API algorithms

    Even if FS encryption has strict functional dependencies on various
    crypto algorithms and chaining modes. those dependencies could potentially
    be satisified by other implementations than the generic ones, and no link
    time dependency exists on the 'depends on' claused defined by
    CONFIG_FS_ENCRYPTION_ALGS.
    
    So let's relax these clauses to 'imply', so that the default behavior
    is still to pull in those generic algorithms, but in a way that permits
    them to be disabled again in Kconfig.
    
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    ardbiesheuvel authored and herbertx committed Apr 22, 2021
  3. crypto: camellia - drop duplicate "depends on CRYPTO"

    All 5 CAMELLIA crypto driver Kconfig symbols have a duplicate
    "depends on CRYPTO" line but they are inside an
    "if CRYPTO"/"endif # if CRYPTO" block, so drop the duplicate "depends"
    lines.
    
    These 5 symbols still depend on CRYPTO.
    
    Fixes: 584fffc ("[CRYPTO] kconfig: Ordering cleanup")
    Fixes: 0b95ec5 ("crypto: camellia - add assembler implementation for x86_64")
    Fixes: d9b1d2e ("crypto: camellia - add AES-NI/AVX/x86_64 assembler implementation of camellia cipher")
    Fixes: f3f935a ("crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher")
    Fixes: c5aac2d ("sparc64: Add DES driver making use of the new des opcodes.")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Sebastian Siewior <sebastian@breakpoint.cc>
    Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: linux-crypto@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    rddunlap authored and herbertx committed Apr 22, 2021
  4. crypto: s5p-sss - consistently use local 'dev' variable in probe()

    For code readability, the probe() function uses 'dev' variable instead
    of '&pdev->dev', so update remaining places.
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    krzk authored and herbertx committed Apr 22, 2021
  5. crypto: s5p-sss - remove unneeded local variable initialization

    The initialization of 'err' local variable is not needed as it is
    shortly after overwritten.
    
    Addresses-Coverity: Unused value
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    krzk authored and herbertx committed Apr 22, 2021
  6. crypto: s5p-sss - simplify getting of_device_id match data

    Use of_device_get_match_data() to make the code slightly smaller.
    
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    krzk authored and herbertx committed Apr 22, 2021
  7. ccp: ccp - add support for Green Sardine

    Add a new PCI device entry for Green Sardine APU.
    
    Signed-off-by: Devaraj Rangasamy <Devaraj.Rangasamy@amd.com>
    Tested-by: Babulu Ellune <Babulu.Ellune@amd.com>
    Signed-off-by: Rijo Thomas <Rijo-john.Thomas@amd.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Devaraj Rangasamy authored and herbertx committed Apr 22, 2021
  8. crypto: ccp - Make ccp_dev_suspend and ccp_dev_resume void functions

    Since ccp_dev_suspend() and ccp_dev_resume() only return 0 which causes
    ret to equal 0 in sp_suspend and sp_resume, making the if condition
    impossible to use. it might be a more appropriate fix to have these be
    void functions and eliminate the if condition in sp_suspend() and
    sp_resume().
    
    Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: John Allen <john.allen@amd.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Tian Tao authored and herbertx committed Apr 22, 2021
  9. crypto: octeontx2 - add support for OcteonTX2 98xx CPT block.

    OcteonTX2 series of silicons have multiple variants, the
    98xx variant has two crypto (CPT0 & CPT1) blocks. This patch
    adds support for firmware load on new CPT block(CPT1).
    
    Signed-off-by: Srujana Challa <schalla@marvell.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    SruChalla authored and herbertx committed Apr 22, 2021
  10. crypto: chelsio/chcr - Remove useless MODULE_VERSION

    kernel version describes module state more accurately.
    hence remove chcr versioning.
    
    Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    vinaychelsio authored and herbertx committed Apr 22, 2021
  11. crypto: ux500/cryp - Remove duplicate argument

    Fix the following coccicheck warning:
    
    ./drivers/crypto/ux500/cryp/cryp_p.h:84:6-27:duplicated argument to |
    
    Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Wan Jiabing authored and herbertx committed Apr 22, 2021
  12. crypto: chelsio - remove unused function

    Fix the following clang warning:
    
    drivers/crypto/chelsio/chcr_algo.c:129:19: warning: unused function
    'is_ofld_imm' [-Wunused-function].
    
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Jiapeng Chong authored and herbertx committed Apr 22, 2021
  13. crypto: sa2ul - Add support for AM64

    The sa2ul module in am64 have limited support for algorithms, and the
    priv and priv_id used on the platform is different compared to AM654 or
    j721e.
    
    Use match data to get the SoC specific information and use it throughout
    the driver.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Vaibhav Gupta <v_gupta@ti.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Peter Ujfalusi authored and herbertx committed Apr 22, 2021
  14. crypto: sa2ul - Support for per channel coherency

    On AM64 the DMA channel for sa2ul can be configured to be coherent or
    non coherent via DT binding.
    
    Use the dmaengine_get_device_for_dma_api() to get the device pointer which
    should be used for with the dma_api to use matching dma_ops for the
    channel coherency/non coherency.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Vaibhav Gupta <v_gupta@ti.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Peter Ujfalusi authored and herbertx committed Apr 22, 2021
  15. dt-bindings: crypto: ti,sa2ul: Add new compatible for AM64

    Add the AM64 version of sa2ul to the compatible list.
    
    [v_gupta@ti.com: Conditional dma-coherent requirement, clocks]
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Vaibhav Gupta <v_gupta@ti.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Peter Ujfalusi authored and herbertx committed Apr 22, 2021
  16. crypto: hisilicon - enable new error types for QM

    QM adds 'qm_mailbox_timeout' and 'qm_flr_timeout' hardware error types on
    Kunpeng930. This patch enables the new error types and configures the error
    types as NFE.
    
    Signed-off-by: Weili Qian <qianweili@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Weili Qian authored and herbertx committed Apr 22, 2021
  17. crypto: hisilicon - add new error type for SEC

    Kunpeng930 SEC adds several new hardware error types. This patch enables
    the new error types and configures the error types as NFE.
    
    Signed-off-by: Weili Qian <qianweili@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Weili Qian authored and herbertx committed Apr 22, 2021
  18. crypto: hisilicon - support new error types for ZIP

    Kunpeng930 ZIP adds 'zip_axi_poison_err' 'zip_sva_err' and
    'QM_ACC_DO_TASK_TIMEOUT' hardware error types. This patch enables the error
    types and configures the error types as NFE.
    
    Signed-off-by: Weili Qian <qianweili@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Weili Qian authored and herbertx committed Apr 22, 2021
  19. crypto: hisilicon - dynamic configuration 'err_info'

    'err_info' does not support dynamic configuration since it is const type.
    Therefore, in order to support new error type later, 'err_info' is changed
    to dynamic configuration.
    
    Signed-off-by: Weili Qian <qianweili@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Weili Qian authored and herbertx committed Apr 22, 2021
  20. crypto: doc - fix kernel-doc notation in chacha.c and af_alg.c

    Fix function name in chacha.c kernel-doc comment to remove a warning.
    
    Convert af_alg.c to kernel-doc notation to eliminate many kernel-doc
    warnings.
    
    ../lib/crypto/chacha.c:77: warning: expecting prototype for chacha_block(). Prototype was for chacha_block_generic() instead
    chacha.c:104: warning: Excess function parameter 'out' description in 'hchacha_block_generic'
    
    af_alg.c:498: warning: Function parameter or member 'sk' not described in 'af_alg_alloc_tsgl'
    ../crypto/af_alg.c:539: warning: expecting prototype for aead_count_tsgl(). Prototype was for af_alg_count_tsgl() instead
    ../crypto/af_alg.c:596: warning: expecting prototype for aead_pull_tsgl(). Prototype was for af_alg_pull_tsgl() instead
    af_alg.c:663: warning: Function parameter or member 'areq' not described in 'af_alg_free_areq_sgls'
    af_alg.c:700: warning: Function parameter or member 'sk' not described in 'af_alg_wait_for_wmem'
    af_alg.c:700: warning: Function parameter or member 'flags' not described in 'af_alg_wait_for_wmem'
    af_alg.c:731: warning: Function parameter or member 'sk' not described in 'af_alg_wmem_wakeup'
    af_alg.c:757: warning: Function parameter or member 'sk' not described in 'af_alg_wait_for_data'
    af_alg.c:757: warning: Function parameter or member 'flags' not described in 'af_alg_wait_for_data'
    af_alg.c:757: warning: Function parameter or member 'min' not described in 'af_alg_wait_for_data'
    af_alg.c:796: warning: Function parameter or member 'sk' not described in 'af_alg_data_wakeup'
    af_alg.c:832: warning: Function parameter or member 'sock' not described in 'af_alg_sendmsg'
    af_alg.c:832: warning: Function parameter or member 'msg' not described in 'af_alg_sendmsg'
    af_alg.c:832: warning: Function parameter or member 'size' not described in 'af_alg_sendmsg'
    af_alg.c:832: warning: Function parameter or member 'ivsize' not described in 'af_alg_sendmsg'
    af_alg.c:985: warning: Function parameter or member 'sock' not described in 'af_alg_sendpage'
    af_alg.c:985: warning: Function parameter or member 'page' not described in 'af_alg_sendpage'
    af_alg.c:985: warning: Function parameter or member 'offset' not described in 'af_alg_sendpage'
    af_alg.c:985: warning: Function parameter or member 'size' not described in 'af_alg_sendpage'
    af_alg.c:985: warning: Function parameter or member 'flags' not described in 'af_alg_sendpage'
    af_alg.c:1040: warning: Function parameter or member 'areq' not described in 'af_alg_free_resources'
    af_alg.c:1059: warning: Function parameter or member '_req' not described in 'af_alg_async_cb'
    af_alg.c:1059: warning: Function parameter or member 'err' not described in 'af_alg_async_cb'
    af_alg.c:1083: warning: Function parameter or member 'file' not described in 'af_alg_poll'
    af_alg.c:1083: warning: Function parameter or member 'sock' not described in 'af_alg_poll'
    af_alg.c:1083: warning: Function parameter or member 'wait' not described in 'af_alg_poll'
    af_alg.c:1114: warning: Function parameter or member 'sk' not described in 'af_alg_alloc_areq'
    af_alg.c:1114: warning: Function parameter or member 'areqlen' not described in 'af_alg_alloc_areq'
    af_alg.c:1146: warning: Function parameter or member 'sk' not described in 'af_alg_get_rsgl'
    af_alg.c:1146: warning: Function parameter or member 'msg' not described in 'af_alg_get_rsgl'
    af_alg.c:1146: warning: Function parameter or member 'flags' not described in 'af_alg_get_rsgl'
    af_alg.c:1146: warning: Function parameter or member 'areq' not described in 'af_alg_get_rsgl'
    af_alg.c:1146: warning: Function parameter or member 'maxsize' not described in 'af_alg_get_rsgl'
    af_alg.c:1146: warning: Function parameter or member 'outlen' not described in 'af_alg_get_rsgl'
    
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: linux-crypto@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    rddunlap authored and herbertx committed Apr 22, 2021

Commits on Apr 16, 2021

  1. crypto: crc32-generic - Use SPDX-License-Identifier

    Use SPDX-License-Identifier: GPL-2.0-only, instead of hand writing it.
    
    This also removes a reference to http://www.xyratex.com which seems to be
    down.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    tititiou36 authored and herbertx committed Apr 16, 2021
  2. crypto: hisilicon/hpre - delete redundant log and return in advance

    'hpre_cfg_by_dsm' has checked and printed error path internally. It is not
    necessary to do it here, so remove it.
    
    It should return error immediately when return value of 'hpre_cfg_by_dsm'
    is non-zero, and no need to execute the remaining sentences.
    
    Signed-off-by: Hui Tang <tanghui20@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Hui Tang authored and herbertx committed Apr 16, 2021
  3. crypto: hisilicon/hpre - add debug log

    When the received sqe is abnormal, the error message in the sqe written
    back by the hardware is printed to help to analyze the abnormal causes.
    
    Signed-off-by: Hui Tang <tanghui20@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Hui Tang authored and herbertx committed Apr 16, 2021
  4. crypto: hisilicon/hpre - use the correct variable type

    The return value of 'le32_to_cpu' is unsigned, so change the
    variable type from 'int' to 'unsigned int'.
    
    Signed-off-by: Hui Tang <tanghui20@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Hui Tang authored and herbertx committed Apr 16, 2021
  5. crypto: hisilicon/hpre - delete the rudundant space after return

    There are two spaces after return, just keep one.
    
    Signed-off-by: Hui Tang <tanghui20@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Hui Tang authored and herbertx committed Apr 16, 2021
  6. crypto: arm/curve25519 - Move '.fpu' after '.arch'

    Debian's clang carries a patch that makes the default FPU mode
    'vfp3-d16' instead of 'neon' for 'armv7-a' to avoid generating NEON
    instructions on hardware that does not support them:
    
    https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/raw/5a61ca6f21b4ad8c6ac4970e5ea5a7b5b4486d22/debian/patches/clang-arm-default-vfp3-on-armv7a.patch
    https://bugs.debian.org/841474
    https://bugs.debian.org/842142
    https://bugs.debian.org/914268
    
    This results in the following build error when clang's integrated
    assembler is used because the '.arch' directive overrides the '.fpu'
    directive:
    
    arch/arm/crypto/curve25519-core.S:25:2: error: instruction requires: NEON
     vmov.i32 q0, #1
     ^
    arch/arm/crypto/curve25519-core.S:26:2: error: instruction requires: NEON
     vshr.u64 q1, q0, torvalds#7
     ^
    arch/arm/crypto/curve25519-core.S:27:2: error: instruction requires: NEON
     vshr.u64 q0, q0, torvalds#8
     ^
    arch/arm/crypto/curve25519-core.S:28:2: error: instruction requires: NEON
     vmov.i32 d4, torvalds#19
     ^
    
    Shuffle the order of the '.arch' and '.fpu' directives so that the code
    builds regardless of the default FPU mode. This has been tested against
    both clang with and without Debian's patch and GCC.
    
    Cc: stable@vger.kernel.org
    Fixes: d8f1308 ("crypto: arm/curve25519 - wire up NEON implementation")
    Link: https://github.com/ClangBuiltLinux/continuous-integration2/issues/118
    Reported-by: Arnd Bergmann <arnd@arndb.de>
    Suggested-by: Arnd Bergmann <arnd@arndb.de>
    Suggested-by: Jessica Clarke <jrtc27@jrtc27.com>
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Tested-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    nathanchance authored and herbertx committed Apr 16, 2021
  7. crypto: qat - enable detection of accelerators hang

    Enable the detection of hangs by setting watchdog timers (WDTs) on
    generations that supports that feature.
    
    The default timeout value comes from HW specs. WTDs are reset each time
    an accelerator wins arbitration and is able to send/read a command to/from
    an accelerator.
    
    The value has added significant margin to make sure there are no spurious
    timeouts. The scope of watchdog is per QAT device.
    
    If a timeout is detected, the firmware resets the accelerator and
    returns a response descriptor with an appropriate error code.
    
    Signed-off-by: Wojciech Ziemba <wojciech.ziemba@intel.com>
    Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    wziembax authored and herbertx committed Apr 16, 2021
  8. crypto: hisilicon/sgl - fix the sg buf unmap

    Add data cleared operation for sge data.
    
    Signed-off-by: Kai Ye <yekai13@huawei.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    yekai123123 authored and herbertx committed Apr 16, 2021
Older