• Herbert Xu's avatar
    iov_iter: Move unnecessary inclusion of crypto/hash.h · 7999096f
    Herbert Xu authored
    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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    7999096f
iov_iter.c 42 KB