headers: untangle kmemleak.h from mm.h
authorRandy Dunlap <rdunlap@infradead.org>
Thu, 5 Apr 2018 23:25:34 +0000 (16:25 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 04:36:27 +0000 (21:36 -0700)
commit514c60324960137e74457fdc233a339b985fa8a8
tree017192aa6755caa4aaa0139bc970b63bfa9ef265
parent91241681c62a5a690c88eb2aca027f094125eaac
headers: untangle kmemleak.h from mm.h

Currently <linux/slab.h> #includes <linux/kmemleak.h> for no obvious
reason.  It looks like it's only a convenience, so remove kmemleak.h
from slab.h and add <linux/kmemleak.h> to any users of kmemleak_* that
don't already #include it.  Also remove <linux/kmemleak.h> from source
files that do not use it.

This is tested on i386 allmodconfig and x86_64 allmodconfig.  It would
be good to run it through the 0day bot for other $ARCHes.  I have
neither the horsepower nor the storage space for the other $ARCHes.

Update: This patch has been extensively build-tested by both the 0day
bot & kisskb/ozlabs build farms.  Both of them reported 2 build failures
for which patches are included here (in v2).

[ slab.h is the second most used header file after module.h; kernel.h is
  right there with slab.h. There could be some minor error in the
  counting due to some #includes having comments after them and I didn't
  combine all of those. ]

[akpm@linux-foundation.org: security/keys/big_key.c needs vmalloc.h, per sfr]
Link: http://lkml.kernel.org/r/e4309f98-3749-93e1-4bb7-d9501a39d015@infradead.org
Link: http://kisskb.ellerman.id.au/kisskb/head/13396/
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Reported-by: Michael Ellerman <mpe@ellerman.id.au> [2 build failures]
Reported-by: Fengguang Wu <fengguang.wu@intel.com> [2 build failures]
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Wei Yongjun <weiyongjun1@huawei.com>
Cc: Luis R. Rodriguez <mcgrof@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
Cc: John Johansen <john.johansen@canonical.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
23 files changed:
arch/powerpc/sysdev/dart_iommu.c
arch/powerpc/sysdev/msi_bitmap.c
arch/s390/kernel/nmi.c
arch/s390/kernel/smp.c
arch/sparc/kernel/irq_64.c
arch/x86/kernel/pci-dma.c
drivers/iommu/exynos-iommu.c
drivers/iommu/mtk_iommu_v1.c
drivers/net/ethernet/ti/cpsw.c
drivers/net/wireless/realtek/rtlwifi/pci.c
drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
drivers/staging/rtl8188eu/hal/fw.c
drivers/staging/rtlwifi/pci.c
drivers/virtio/virtio_ring.c
include/linux/slab.h
kernel/ucount.c
lib/test_firmware.c
mm/cma.c
mm/memblock.c
net/core/sysctl_net_core.c
net/ipv4/route.c
security/apparmor/lsm.c
security/keys/big_key.c