From: Matthew Wilcox <willy@infradead.org>
To: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Vlastimil Babka <vbabka@suse.cz>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH] mm: dump_page: add debugfs file for dumping page state by pfn
Date: Mon, 25 May 2020 08:33:15 -0700 [thread overview]
Message-ID: <20200525153315.GC17206@bombadil.infradead.org> (raw)
In-Reply-To: <159041635119.987025.7321864888027213705.stgit@buzz>
On Mon, May 25, 2020 at 05:19:11PM +0300, Konstantin Khlebnikov wrote:
> Tool 'page-types' could list pages mapped by process or file cache pages,
> but it shows only limited amount of state exported via procfs.
>
> Let's employ existing helper dump_page() to reach remaining information:
> writing pfn into /sys/kernel/debug/dump_page dumps state into kernel log.
>
> # echo 0x37c43c > /sys/kernel/debug/dump_page
> # dmesg | tail -6
> page:ffffcb0b0df10f00 refcount:1 mapcount:0 mapping:000000007755d3d9 index:0x30
> 0xffffffffae4239e0 name:"libGeoIP.so.1.6.9"
> flags: 0x200000000020014(uptodate|lru|mappedtodisk)
> raw: 0200000000020014 ffffcb0b187fd288 ffffcb0b189e6248 ffff9528a04afe10
> raw: 0000000000000030 0000000000000000 00000001ffffffff 0000000000000000
> page dumped because: debugfs request
This makes me deeply uncomfortable. We're using %px, and %lx
(for the 'raw' lines) so we actually get to see kernel addresses.
We've rationalised this in the past as being acceptable because you're
already in an "assert triggered" kind of situation. Now you're adding
a way for any process with CAP_SYS_ADMIN to get kernel addresses dumped
into the syslog.
I think we need a different function for this, or we need to re-audit
dump_page() for exposing kernel pointers, and not expose the raw data
in struct page.
next prev parent reply other threads:[~2020-05-25 15:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-25 14:19 Konstantin Khlebnikov
2020-05-25 14:56 ` Kirill A. Shutemov
2020-05-25 15:33 ` Matthew Wilcox [this message]
2020-05-25 16:03 ` Konstantin Khlebnikov
2020-05-25 16:05 ` Konstantin Khlebnikov
2020-05-25 15:35 ` Vlastimil Babka
2020-05-25 15:58 ` Konstantin Khlebnikov
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=20200525153315.GC17206@bombadil.infradead.org \
--to=willy@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=khlebnikov@yandex-team.ru \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=vbabka@suse.cz \
/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