Andrew Morton <> writes:

> On Sun,  8 Apr 2018 11:37:37 +0800 "Huang, Ying" <> wrote:
>> From: Huang Ying <>
>> The swap offset reported by /proc/<pid>/pagemap may be not correct for
>> PMD migration entry.  If addr passed into pagemap_range() isn't
> pagemap_pmd_range(), yes?

Yes.  Sorry for typo.

>> aligned with PMD start address,
> How can this situation come about?

After open /proc/<pid>/pagemap, if user seeks to a page whose address
doesn't aligned with PMD start address.  I have verified this with a
simple test program.

>> the swap offset reported doesn't
>> reflect this.  And in the loop to report information of each sub-page,
>> the swap offset isn't increased accordingly as that for PFN.
>> BTW: migration swap entries have PFN information, do we need to
>> restrict whether to show them?
> For what reason?  Address obfuscation?

This is an existing feature for PFN report of /proc/<pid>/pagemap,
reason is in following commit log.  I am wondering whether that is
necessary for migration swap entries too.

Author:     Kirill A. Shutemov <>
AuthorDate: Mon Mar 9 23:11:12 2015 +0200
Commit:     Linus Torvalds <>
CommitDate: Tue Mar 17 09:31:30 2015 -0700

pagemap: do not leak physical addresses to non-privileged userspace

As pointed by recent post[1] on exploiting DRAM physical imperfection,
/proc/PID/pagemap exposes sensitive information which can be used to do

This disallows anybody without CAP_SYS_ADMIN to read the pagemap.


[ Eventually we might want to do anything more finegrained, but for now
  this is the simple model.   - Linus ]

Signed-off-by: Kirill A. Shutemov <>
Acked-by: Konstantin Khlebnikov <>
Acked-by: Andy Lutomirski <>
Cc: Pavel Emelyanov <>
Cc: Andrew Morton <>
Cc: Mark Seaborn <>
Signed-off-by: Linus Torvalds <>

Best Regards,
Huang, Ying

Reply via email to