Re: [PATCH -mm] mm, pagemap: Fix swap offset value for PMD migration entry

From: Huang\, Ying
Date: Tue Apr 10 2018 - 20:57:08 EST


"Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> writes:

> On Tue, Apr 10, 2018 at 08:57:19AM +0800, Huang, Ying wrote:
>> >> 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.
>>
>> ab676b7d6fbf4b294bf198fb27ade5b0e865c7ce
>> Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
>> AuthorDate: Mon Mar 9 23:11:12 2015 +0200
>> Commit: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>> 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
>> attacks.
>>
>> This disallows anybody without CAP_SYS_ADMIN to read the pagemap.
>>
>> [1] http://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html
>>
>> [ Eventually we might want to do anything more finegrained, but for now
>> this is the simple model. - Linus ]
>
> Note that there's follow up to the commit:
>
> 1c90308e7a77 ("pagemap: hide physical addresses from non-privileged users")
>
> It introduces pm->show_pfn and it should be applied to swap entries too.

So you think we should hide all swap entry information if
(!pm->show_pfn) regardless they are migration swap entries or not?

Best Regards,
Huang, Ying