[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1412041639-23617-1-git-send-email-sasha.levin@oracle.com>
Date: Mon, 29 Sep 2014 21:47:14 -0400
From: Sasha Levin <sasha.levin@...cle.com>
To: akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org, hughd@...gle.com,
mgorman@...e.de, Sasha Levin <sasha.levin@...cle.com>
Subject: [PATCH 0/5] mm: poison critical mm/ structs
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists