Subject: Re: [v3 PATCH] iov_iter: Move unnecessary inclusion of crypto/hash.h

From: Al Viro <[email-masked]>
Date: Mon, 15 Jun 2020 15:16:47 +0100

On Fri, Jun 12, 2020 at 04:57:37PM +1000, Herbert Xu wrote:
> 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 <[email-masked]>

Applied; let it sit in -next for a while to get better build coverage...