iov_iter: Move unnecessary inclusion of crypto/hash.h
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 12 Jun 2020 06:57:37 +0000 (16:57 +1000)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 30 Jun 2020 13:34:23 +0000 (09:34 -0400)
commit7999096fa9cfd0253497c8d2ed9a5a1537521d25
tree461e813d6748825b84b48a8ffa2aaf606d726473
parent067c054fb9c90811ae38898ce649f8dafa13354c
iov_iter: Move unnecessary inclusion of crypto/hash.h

The header file linux/uio.h includes crypto/hash.h which pulls in
most of the Crypto API.  Since linux/uio.h is used throughout the
kernel this means that every tiny bit of change to the Crypto API
causes the entire kernel to get rebuilt.

This patch fixes this by moving it into lib/iov_iter.c instead
where it is actually used.

This patch also fixes the ifdef to use CRYPTO_HASH instead of just
CRYPTO which does not guarantee the existence of ahash.

Unfortunately a number of drivers were relying on linux/uio.h to
provide access to linux/slab.h.  This patch adds inclusions of
linux/slab.h as detected by build failures.

Also skbuff.h was relying on this to provide a declaration for
ahash_request.  This patch adds a forward declaration instead.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
14 files changed:
arch/s390/lib/test_unwind.c
drivers/dma/sf-pdma/sf-pdma.c
drivers/dma/st_fdma.c
drivers/dma/uniphier-xdmac.c
drivers/misc/uacce/uacce.c
drivers/mtd/mtdpstore.c
drivers/mtd/nand/raw/cadence-nand-controller.c
drivers/remoteproc/qcom_q6v5_mss.c
drivers/soc/qcom/pdr_interface.c
fs/btrfs/inode.c
include/linux/skbuff.h
include/linux/socket.h
include/linux/uio.h
lib/iov_iter.c