[PATCH 0/5] mm: poison critical mm/ structs

From: Sasha Levin
Date: Mon Sep 29 2014 - 21:47:43 EST


Currently we're seeing a few issues which are unexplainable by looking at the
data we see and are most likely caused by a memory corruption caused
elsewhere.

This is wasting time for folks who are trying to figure out an issue provided
a stack trace that can't really point out the real issue.

This patch introduces poisoning on struct page, vm_area_struct, and mm_struct,
and places checks in busy paths to catch corruption early.

This series was tested, and it detects corruption in vm_area_struct. Right now
I'm working on figuring out the source of the corruption, (which is a long
standing bug) using KASan, but the current code is useful as it is.

Sasha Levin (5):
mm: add poisoning basics
mm: constify dump_page and friends
mm: poison mm_struct
mm: poison vm_area_struct
mm: poison page struct

fs/exec.c | 5 +++++
include/linux/memcontrol.h | 8 ++++----
include/linux/mm.h | 11 ++++++++++-
include/linux/mm_types.h | 18 ++++++++++++++++++
include/linux/mmdebug.h | 24 ++++++++++++++++++++++--
include/linux/page-flags.h | 24 ++++++++++++++++--------
include/linux/page_cgroup.h | 4 ++--
include/linux/poison.h | 6 ++++++
kernel/fork.c | 13 +++++++++++++
lib/Kconfig.debug | 9 +++++++++
mm/debug.c | 22 ++++++++++++++++++----
mm/memcontrol.c | 6 +++---
mm/mmap.c | 21 ++++++++++++++++++++-
mm/nommu.c | 7 +++++++
mm/page_cgroup.c | 4 ++--
mm/vmacache.c | 5 +++++
16 files changed, 160 insertions(+), 27 deletions(-)

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/