From: Sasha Levin <sasha.levin@oracle.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
hughd@google.com, mgorman@suse.de
Subject: Re: [PATCH 0/5] mm: poison critical mm/ structs
Date: Wed, 01 Oct 2014 17:39:39 -0400 [thread overview]
Message-ID: <542C749B.1040103@oracle.com> (raw)
In-Reply-To: <20141001140725.fd7f1d0cf933fbc2aa9fc1b1@linux-foundation.org>
On 10/01/2014 05:07 PM, Andrew Morton wrote:
> On Mon, 29 Sep 2014 21:47:14 -0400 Sasha Levin <sasha.levin@oracle.com> wrote:
>
>> 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.
>
> Is this still useful if/when kasan is in place?
Yes, the corruption we're seeing happens inside the struct rather than around it.
kasan doesn't look there.
When kasan is merged, we could complement this patchset by making kasan trap on
when the poison is getting written, rather than triggering a BUG in some place
else after we saw the corruption.
> It looks fairly cheap - I wonder if it should simply fall under
> CONFIG_DEBUG_VM rather than the new CONFIG_DEBUG_VM_POISON.
Config options are cheap as well :)
I'd rather expand it further and add poison/kasan trapping into other places such
as the vma interval tree rather than having to keep it "cheap".
Thanks,
Sasha
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2014-10-01 21:44 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-30 1:47 [PATCH 0/5] mm: poison critical mm/ structs Sasha Levin
2014-09-30 1:47 ` [PATCH 1/5] mm: add poisoning basics Sasha Levin
2014-09-30 1:47 ` [PATCH 2/5] mm: constify dump_page and friends Sasha Levin
2014-09-30 1:47 ` [PATCH 3/5] mm: poison mm_struct Sasha Levin
2014-09-30 1:47 ` [PATCH 4/5] mm: poison vm_area_struct Sasha Levin
2014-09-30 1:47 ` [PATCH 5/5] mm: poison page struct Sasha Levin
2014-10-07 22:02 ` Dave Hansen
2014-10-08 7:10 ` Christoph Lameter
2014-10-08 14:22 ` Sasha Levin
2014-10-01 21:07 ` [PATCH 0/5] mm: poison critical mm/ structs Andrew Morton
2014-10-01 21:39 ` Sasha Levin [this message]
2014-10-01 21:48 ` Andrew Morton
2014-10-02 3:51 ` Sasha Levin
2014-10-02 9:23 ` Hugh Dickins
2014-10-02 14:58 ` Sasha Levin
2014-10-07 22:16 ` Dave Hansen
2014-10-08 16:43 ` Sasha Levin
2014-10-02 15:13 ` Dave Jones
2014-10-09 19:11 ` Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=542C749B.1040103@oracle.com \
--to=sasha.levin@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).