2 Years ago I proposed to kill kmemcheck: > As discussed on LSF/MM, kill kmemcheck. > > KASan is a replacement that is able to work without the limitation of > kmemcheck (single CPU, slow). KASan is already upstream. > > We are also not aware of any users of kmemcheck (or users who don't consider > KASan as a suitable replacement).
The only objection was that since KASAN wasn't supported by all GCC versions provided by distros at that time we should hold off for 2 years, and try again. Now that 2 years have passed, and all distros provide gcc that supports KASAN, kill kmemcheck again for the very same reasons. Changes for v2: - Break patch out. Sasha Levin (4): kmemcheck: remove annotations kmemcheck: stop using GFP_NOTRACK and SLAB_NOTRACK kmemcheck: rip it out kmemcheck: remove whats left of NOTRACK flags Documentation/admin-guide/kernel-parameters.txt | 7 - Documentation/dev-tools/index.rst | 1 - Documentation/dev-tools/kmemcheck.rst | 733 ------------------------ MAINTAINERS | 10 - arch/arm/include/asm/dma-iommu.h | 1 - arch/arm/include/asm/pgalloc.h | 2 +- arch/arm64/include/asm/pgalloc.h | 2 +- arch/openrisc/include/asm/dma-mapping.h | 1 - arch/powerpc/include/asm/pgalloc.h | 2 +- arch/sh/kernel/dwarf.c | 4 +- arch/sh/kernel/process.c | 2 +- arch/sparc/mm/init_64.c | 4 +- arch/unicore32/include/asm/pgalloc.h | 2 +- arch/x86/Kconfig | 3 +- arch/x86/Makefile | 5 - arch/x86/include/asm/dma-mapping.h | 1 - arch/x86/include/asm/kmemcheck.h | 42 -- arch/x86/include/asm/pgtable.h | 5 - arch/x86/include/asm/pgtable_types.h | 13 - arch/x86/include/asm/string_32.h | 9 - arch/x86/include/asm/string_64.h | 8 - arch/x86/include/asm/xor.h | 5 +- arch/x86/kernel/cpu/intel.c | 15 - arch/x86/kernel/espfix_64.c | 2 +- arch/x86/kernel/traps.c | 5 - arch/x86/mm/Makefile | 2 - arch/x86/mm/fault.c | 6 - arch/x86/mm/init.c | 8 +- arch/x86/mm/init_64.c | 2 +- arch/x86/mm/kmemcheck/Makefile | 1 - arch/x86/mm/kmemcheck/error.c | 227 -------- arch/x86/mm/kmemcheck/error.h | 15 - arch/x86/mm/kmemcheck/kmemcheck.c | 658 --------------------- arch/x86/mm/kmemcheck/opcode.c | 106 ---- arch/x86/mm/kmemcheck/opcode.h | 9 - arch/x86/mm/kmemcheck/pte.c | 22 - arch/x86/mm/kmemcheck/pte.h | 10 - arch/x86/mm/kmemcheck/selftest.c | 70 --- arch/x86/mm/kmemcheck/selftest.h | 6 - arch/x86/mm/kmemcheck/shadow.c | 173 ------ arch/x86/mm/kmemcheck/shadow.h | 18 - arch/x86/mm/pageattr.c | 10 +- arch/x86/mm/pgtable.c | 2 +- arch/x86/platform/efi/efi_64.c | 2 +- crypto/xor.c | 7 +- drivers/char/random.c | 1 - drivers/misc/c2port/core.c | 2 - fs/dcache.c | 2 - include/linux/c2port.h | 4 - include/linux/dma-mapping.h | 4 - include/linux/filter.h | 2 - include/linux/gfp.h | 9 - include/linux/interrupt.h | 15 - include/linux/kmemcheck.h | 171 ------ include/linux/mm_types.h | 8 - include/linux/net.h | 3 - include/linux/ring_buffer.h | 3 - include/linux/skbuff.h | 3 - include/linux/slab.h | 6 - include/linux/thread_info.h | 5 +- include/net/inet_sock.h | 3 - include/net/inet_timewait_sock.h | 4 - include/net/sock.h | 3 - include/trace/events/mmflags.h | 1 - init/do_mounts.c | 3 +- init/main.c | 1 - kernel/bpf/core.c | 6 - kernel/fork.c | 12 +- kernel/locking/lockdep.c | 3 - kernel/signal.c | 3 +- kernel/softirq.c | 10 - kernel/sysctl.c | 10 - kernel/trace/ring_buffer.c | 3 - lib/Kconfig.debug | 6 +- lib/Kconfig.kmemcheck | 94 --- mm/Kconfig.debug | 1 - mm/Makefile | 2 - mm/kmemcheck.c | 125 ---- mm/kmemleak.c | 9 - mm/page_alloc.c | 14 - mm/slab.c | 16 +- mm/slab.h | 7 +- mm/slab_common.c | 2 +- mm/slub.c | 31 +- net/core/skbuff.c | 5 - net/core/sock.c | 2 - net/ipv4/inet_timewait_sock.c | 3 - net/ipv4/tcp_input.c | 1 - net/socket.c | 1 - scripts/kernel-doc | 2 - tools/include/linux/kmemcheck.h | 8 - tools/perf/builtin-kmem.c | 1 - 92 files changed, 43 insertions(+), 2825 deletions(-) delete mode 100644 Documentation/dev-tools/kmemcheck.rst delete mode 100644 arch/x86/include/asm/kmemcheck.h delete mode 100644 arch/x86/mm/kmemcheck/Makefile delete mode 100644 arch/x86/mm/kmemcheck/error.c delete mode 100644 arch/x86/mm/kmemcheck/error.h delete mode 100644 arch/x86/mm/kmemcheck/kmemcheck.c delete mode 100644 arch/x86/mm/kmemcheck/opcode.c delete mode 100644 arch/x86/mm/kmemcheck/opcode.h delete mode 100644 arch/x86/mm/kmemcheck/pte.c delete mode 100644 arch/x86/mm/kmemcheck/pte.h delete mode 100644 arch/x86/mm/kmemcheck/selftest.c delete mode 100644 arch/x86/mm/kmemcheck/selftest.h delete mode 100644 arch/x86/mm/kmemcheck/shadow.c delete mode 100644 arch/x86/mm/kmemcheck/shadow.h delete mode 100644 include/linux/kmemcheck.h delete mode 100644 lib/Kconfig.kmemcheck delete mode 100644 mm/kmemcheck.c delete mode 100644 tools/include/linux/kmemcheck.h -- 2.11.0