From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752953AbbGUIgp (ORCPT ); Tue, 21 Jul 2015 04:36:45 -0400 Received: from TYO201.gate.nec.co.jp ([210.143.35.51]:43033 "EHLO tyo201.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754056AbbGUIgh convert rfc822-to-8bit (ORCPT ); Tue, 21 Jul 2015 04:36:37 -0400 From: Naoya Horiguchi To: Konstantin Khlebnikov CC: "linux-mm@kvack.org" , Andrew Morton , "linux-api@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] pagemap: update documentation Thread-Topic: [PATCH] pagemap: update documentation Thread-Index: AQHQv/frOvXaMKd7AEaClsCePKThQ53lCXgA Date: Tue, 21 Jul 2015 08:35:05 +0000 Message-ID: <20150721083504.GA8170@hori1.linux.bs1.fc.nec.co.jp> References: <20150714152516.29844.69929.stgit@buzz> <20150716184742.8858.14639.stgit@buzz> In-Reply-To: <20150716184742.8858.14639.stgit@buzz> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.128.101.29] Content-Type: text/plain; charset="iso-2022-jp" Content-ID: Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 16, 2015 at 09:47:42PM +0300, Konstantin Khlebnikov wrote: > Notes about recent changes. > > Signed-off-by: Konstantin Khlebnikov > --- > Documentation/vm/pagemap.txt | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/Documentation/vm/pagemap.txt b/Documentation/vm/pagemap.txt > index 3cfbbb333ea1..aab39aa7dd8f 100644 > --- a/Documentation/vm/pagemap.txt > +++ b/Documentation/vm/pagemap.txt > @@ -16,12 +16,17 @@ There are three components to pagemap: > * Bits 0-4 swap type if swapped > * Bits 5-54 swap offset if swapped > * Bit 55 pte is soft-dirty (see Documentation/vm/soft-dirty.txt) > - * Bit 56 page exlusively mapped > + * Bit 56 page exclusively mapped (since 4.2) > * Bits 57-60 zero > - * Bit 61 page is file-page or shared-anon > + * Bit 61 page is file-page or shared-anon (since 3.5) > * Bit 62 page swapped > * Bit 63 page present > > + Since Linux 4.0 only users with the CAP_SYS_ADMIN capability can get PFNs: > + for unprivileged users from 4.0 till 4.2 open fails with -EPERM, starting I'm expecting that this patch will be merged before 4.2 is released, so if that's right, stating "till 4.2" might be incorrect. > + from from 4.2 PFN field is zeroed if user has no CAP_SYS_ADMIN capability. "from" duplicates ... Thanks, Naoya Horiguchi > + Reason: information about PFNs helps in exploiting Rowhammer vulnerability. > + > If the page is not present but in swap, then the PFN contains an > encoding of the swap file number and the page's offset into the > swap. Unmapped pages return a null PFN. This allows determining > @@ -160,3 +165,8 @@ Other notes: > Reading from any of the files will return -EINVAL if you are not starting > the read on an 8-byte boundary (e.g., if you sought an odd number of bytes > into the file), or if the size of the read is not a multiple of 8 bytes. > + > +Before Linux 3.11 pagemap bits 55-60 were used for "page-shift" (which is > +always 12 at most architectures). Since Linux 3.11 their meaning changes > +after first clear of soft-dirty bits. Since Linux 4.2 they are used for > +flags unconditionally. > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Naoya Horiguchi Subject: Re: [PATCH] pagemap: update documentation Date: Tue, 21 Jul 2015 08:35:05 +0000 Message-ID: <20150721083504.GA8170@hori1.linux.bs1.fc.nec.co.jp> References: <20150714152516.29844.69929.stgit@buzz> <20150716184742.8858.14639.stgit@buzz> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20150716184742.8858.14639.stgit@buzz> Content-Language: ja-JP Content-ID: Sender: owner-linux-mm@kvack.org To: Konstantin Khlebnikov Cc: "linux-mm@kvack.org" , Andrew Morton , "linux-api@vger.kernel.org" , "linux-kernel@vger.kernel.org" List-Id: linux-api@vger.kernel.org On Thu, Jul 16, 2015 at 09:47:42PM +0300, Konstantin Khlebnikov wrote: > Notes about recent changes. >=20 > Signed-off-by: Konstantin Khlebnikov > --- > Documentation/vm/pagemap.txt | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) >=20 > diff --git a/Documentation/vm/pagemap.txt b/Documentation/vm/pagemap.txt > index 3cfbbb333ea1..aab39aa7dd8f 100644 > --- a/Documentation/vm/pagemap.txt > +++ b/Documentation/vm/pagemap.txt > @@ -16,12 +16,17 @@ There are three components to pagemap: > * Bits 0-4 swap type if swapped > * Bits 5-54 swap offset if swapped > * Bit 55 pte is soft-dirty (see Documentation/vm/soft-dirty.txt) > - * Bit 56 page exlusively mapped > + * Bit 56 page exclusively mapped (since 4.2) > * Bits 57-60 zero > - * Bit 61 page is file-page or shared-anon > + * Bit 61 page is file-page or shared-anon (since 3.5) > * Bit 62 page swapped > * Bit 63 page present > =20 > + Since Linux 4.0 only users with the CAP_SYS_ADMIN capability can get = PFNs: > + for unprivileged users from 4.0 till 4.2 open fails with -EPERM, star= ting I'm expecting that this patch will be merged before 4.2 is released, so if = that's right, stating "till 4.2" might be incorrect. > + from from 4.2 PFN field is zeroed if user has no CAP_SYS_ADMIN capabi= lity. "from" duplicates ... Thanks, Naoya Horiguchi > + Reason: information about PFNs helps in exploiting Rowhammer vulnerab= ility. > + > If the page is not present but in swap, then the PFN contains an > encoding of the swap file number and the page's offset into the > swap. Unmapped pages return a null PFN. This allows determining > @@ -160,3 +165,8 @@ Other notes: > Reading from any of the files will return -EINVAL if you are not startin= g > the read on an 8-byte boundary (e.g., if you sought an odd number of byt= es > into the file), or if the size of the read is not a multiple of 8 bytes. > + > +Before Linux 3.11 pagemap bits 55-60 were used for "page-shift" (which i= s > +always 12 at most architectures). Since Linux 3.11 their meaning changes > +after first clear of soft-dirty bits. Since Linux 4.2 they are used for > +flags unconditionally. > = -- 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: email@kvack.org