[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <42ebc814-fd8d-0de5-5c3c-e2eec02ebf66@huawei.com>
Date: Sat, 16 Dec 2017 15:09:42 +0800
From: gengdongjiu <gengdongjiu@...wei.com>
To: Matthew Wilcox <willy@...radead.org>,
James Morse <james.morse@....com>
CC: "linux-mm@...ck.org" <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Huangshaoyu <huangshaoyu@...wei.com>,
Wuquanming <wuquanming@...wei.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [Question ]: Avoid kernel panic when killing an application if
happen RAS page table error
On 2017/12/16 3:35, Matthew Wilcox wrote:
>> It's going to be complicated to do, I don't think its worth the effort.
> We can find a bit in struct page that we guarantee will only be set if
> this is allocated as a pagetable. Bit 1 of the third union is currently
> available (compound_head is a pointer if bit 0 is set, so nothing is
> using bit 1). We can put a pointer to the mm_struct in the same word.
>
> Finding all the allocated pages will be the tricky bit. We could put a
> list_head into struct page; perhaps in the same spot as page_deferred_list
> for tail pages. Then we can link all the pagetables belonging to
> this mm together and tear them all down if any of them get an error.
> They'll repopulate on demand. It won't be quick or scalable, but when
> the alternative is death, it looks relatively attractive.
Thanks for the comments, I will check it in detailed and investigate whether it is worth to do for it.
Thanks!
>
> .
>
Powered by blists - more mailing lists