Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: omap-sham - force kernel driver usage for sha algos

As the hardware acceleration for the omap-sham algos is not available
from userspace, force kernel driver usage. Without this flag in place,
openssl 1.1 implementation thinks it can accelerate sha algorithms on
omap devices directly from userspace.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Tero Kristo and committed by
Herbert Xu
8dc43636 b29cb8d6

+16 -8
+16 -8
drivers/crypto/omap-sham.c
··· 1571 1571 .cra_name = "sha224", 1572 1572 .cra_driver_name = "omap-sha224", 1573 1573 .cra_priority = 400, 1574 - .cra_flags = CRYPTO_ALG_ASYNC | 1574 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1575 + CRYPTO_ALG_ASYNC | 1575 1576 CRYPTO_ALG_NEED_FALLBACK, 1576 1577 .cra_blocksize = SHA224_BLOCK_SIZE, 1577 1578 .cra_ctxsize = sizeof(struct omap_sham_ctx), ··· 1593 1592 .cra_name = "sha256", 1594 1593 .cra_driver_name = "omap-sha256", 1595 1594 .cra_priority = 400, 1596 - .cra_flags = CRYPTO_ALG_ASYNC | 1595 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1596 + CRYPTO_ALG_ASYNC | 1597 1597 CRYPTO_ALG_NEED_FALLBACK, 1598 1598 .cra_blocksize = SHA256_BLOCK_SIZE, 1599 1599 .cra_ctxsize = sizeof(struct omap_sham_ctx), ··· 1616 1614 .cra_name = "hmac(sha224)", 1617 1615 .cra_driver_name = "omap-hmac-sha224", 1618 1616 .cra_priority = 400, 1619 - .cra_flags = CRYPTO_ALG_ASYNC | 1617 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1618 + CRYPTO_ALG_ASYNC | 1620 1619 CRYPTO_ALG_NEED_FALLBACK, 1621 1620 .cra_blocksize = SHA224_BLOCK_SIZE, 1622 1621 .cra_ctxsize = sizeof(struct omap_sham_ctx) + ··· 1640 1637 .cra_name = "hmac(sha256)", 1641 1638 .cra_driver_name = "omap-hmac-sha256", 1642 1639 .cra_priority = 400, 1643 - .cra_flags = CRYPTO_ALG_ASYNC | 1640 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1641 + CRYPTO_ALG_ASYNC | 1644 1642 CRYPTO_ALG_NEED_FALLBACK, 1645 1643 .cra_blocksize = SHA256_BLOCK_SIZE, 1646 1644 .cra_ctxsize = sizeof(struct omap_sham_ctx) + ··· 1666 1662 .cra_name = "sha384", 1667 1663 .cra_driver_name = "omap-sha384", 1668 1664 .cra_priority = 400, 1669 - .cra_flags = CRYPTO_ALG_ASYNC | 1665 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1666 + CRYPTO_ALG_ASYNC | 1670 1667 CRYPTO_ALG_NEED_FALLBACK, 1671 1668 .cra_blocksize = SHA384_BLOCK_SIZE, 1672 1669 .cra_ctxsize = sizeof(struct omap_sham_ctx), ··· 1688 1683 .cra_name = "sha512", 1689 1684 .cra_driver_name = "omap-sha512", 1690 1685 .cra_priority = 400, 1691 - .cra_flags = CRYPTO_ALG_ASYNC | 1686 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1687 + CRYPTO_ALG_ASYNC | 1692 1688 CRYPTO_ALG_NEED_FALLBACK, 1693 1689 .cra_blocksize = SHA512_BLOCK_SIZE, 1694 1690 .cra_ctxsize = sizeof(struct omap_sham_ctx), ··· 1711 1705 .cra_name = "hmac(sha384)", 1712 1706 .cra_driver_name = "omap-hmac-sha384", 1713 1707 .cra_priority = 400, 1714 - .cra_flags = CRYPTO_ALG_ASYNC | 1708 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1709 + CRYPTO_ALG_ASYNC | 1715 1710 CRYPTO_ALG_NEED_FALLBACK, 1716 1711 .cra_blocksize = SHA384_BLOCK_SIZE, 1717 1712 .cra_ctxsize = sizeof(struct omap_sham_ctx) + ··· 1735 1728 .cra_name = "hmac(sha512)", 1736 1729 .cra_driver_name = "omap-hmac-sha512", 1737 1730 .cra_priority = 400, 1738 - .cra_flags = CRYPTO_ALG_ASYNC | 1731 + .cra_flags = CRYPTO_ALG_KERN_DRIVER_ONLY | 1732 + CRYPTO_ALG_ASYNC | 1739 1733 CRYPTO_ALG_NEED_FALLBACK, 1740 1734 .cra_blocksize = SHA512_BLOCK_SIZE, 1741 1735 .cra_ctxsize = sizeof(struct omap_sham_ctx) +