2017-12-06 10:23:26

by Jinbum Park

[permalink] [raw]
Subject: [kernel-hardening][PATCH v4 0/3] arm: Makes ptdump resuable and add WX page checking

Hi,

Page table dumping code for arm64-x86 is reusable,
and they have function for WX page checking.
But arm doesn't have that.

This path series are to makes ptdump reusable,
and add WX page checking for arm.
This is heavily based on arm64 version.

v2 :
Fix a sender name of mail header, there was an mistake.
(from "jinb.park" to Jinbum Park)
Contents of patch-set are perfectly same.

v3 :
Take advantage of the existing pg_level and bits arrays
to check ro, nx prot.

v4 :
Add boolean for ro_bit, nx_bit into prot_bits
to point ro_bit, nx_bit in pg_level.
This change is suggested by Laura Abbott.

jinb.park (3):
arm: mm: dump: make page table dumping reusable
arm: mm: dump: make the page table dumping seq_file optional
arm: mm: dump: add checking for writable and executable pages

arch/arm/Kconfig.debug | 33 ++++++++-
arch/arm/include/asm/ptdump.h | 56 ++++++++++++++++
arch/arm/mm/Makefile | 3 +-
arch/arm/mm/dump.c | 151 +++++++++++++++++++++++++++++-------------
arch/arm/mm/init.c | 2 +
arch/arm/mm/ptdump_debugfs.c | 34 ++++++++++
6 files changed, 232 insertions(+), 47 deletions(-)
create mode 100644 arch/arm/include/asm/ptdump.h
create mode 100644 arch/arm/mm/ptdump_debugfs.c

--
1.9.1


2017-12-07 01:45:40

by Laura Abbott

[permalink] [raw]
Subject: Re: [kernel-hardening][PATCH v4 0/3] arm: Makes ptdump resuable and add WX page checking

On 12/06/2017 02:23 AM, Jinbum Park wrote:
> Hi,
>
> Page table dumping code for arm64-x86 is reusable,
> and they have function for WX page checking.
> But arm doesn't have that.
>
> This path series are to makes ptdump reusable,
> and add WX page checking for arm.
> This is heavily based on arm64 version.
>
> v2 :
> Fix a sender name of mail header, there was an mistake.
> (from "jinb.park" to Jinbum Park)
> Contents of patch-set are perfectly same.
>
> v3 :
> Take advantage of the existing pg_level and bits arrays
> to check ro, nx prot.
>
> v4 :
> Add boolean for ro_bit, nx_bit into prot_bits
> to point ro_bit, nx_bit in pg_level.
> This change is suggested by Laura Abbott.
>
> jinb.park (3):
> arm: mm: dump: make page table dumping reusable
> arm: mm: dump: make the page table dumping seq_file optional
> arm: mm: dump: add checking for writable and executable pages
>
> arch/arm/Kconfig.debug | 33 ++++++++-
> arch/arm/include/asm/ptdump.h | 56 ++++++++++++++++
> arch/arm/mm/Makefile | 3 +-
> arch/arm/mm/dump.c | 151 +++++++++++++++++++++++++++++-------------
> arch/arm/mm/init.c | 2 +
> arch/arm/mm/ptdump_debugfs.c | 34 ++++++++++
> 6 files changed, 232 insertions(+), 47 deletions(-)
> create mode 100644 arch/arm/include/asm/ptdump.h
> create mode 100644 arch/arm/mm/ptdump_debugfs.c
>

You can add

Tested-by: Laura Abbott <[email protected]>
Reviewed-by: Laura Abbott <[email protected]>

2017-12-07 17:45:47

by Kees Cook

[permalink] [raw]
Subject: Re: [kernel-hardening][PATCH v4 0/3] arm: Makes ptdump resuable and add WX page checking

On Wed, Dec 6, 2017 at 2:23 AM, Jinbum Park <[email protected]> wrote:
> Hi,
>
> Page table dumping code for arm64-x86 is reusable,
> and they have function for WX page checking.
> But arm doesn't have that.
>
> This path series are to makes ptdump reusable,
> and add WX page checking for arm.
> This is heavily based on arm64 version.
>
> v2 :
> Fix a sender name of mail header, there was an mistake.
> (from "jinb.park" to Jinbum Park)
> Contents of patch-set are perfectly same.
>
> v3 :
> Take advantage of the existing pg_level and bits arrays
> to check ro, nx prot.
>
> v4 :
> Add boolean for ro_bit, nx_bit into prot_bits
> to point ro_bit, nx_bit in pg_level.
> This change is suggested by Laura Abbott.
>
> jinb.park (3):
> arm: mm: dump: make page table dumping reusable
> arm: mm: dump: make the page table dumping seq_file optional
> arm: mm: dump: add checking for writable and executable pages
>
> arch/arm/Kconfig.debug | 33 ++++++++-
> arch/arm/include/asm/ptdump.h | 56 ++++++++++++++++
> arch/arm/mm/Makefile | 3 +-
> arch/arm/mm/dump.c | 151 +++++++++++++++++++++++++++++-------------
> arch/arm/mm/init.c | 2 +
> arch/arm/mm/ptdump_debugfs.c | 34 ++++++++++
> 6 files changed, 232 insertions(+), 47 deletions(-)
> create mode 100644 arch/arm/include/asm/ptdump.h
> create mode 100644 arch/arm/mm/ptdump_debugfs.c

Please consider this series:

Reviewed-by: Kees Cook <[email protected]>

With Laura's review, this is probably ready to put into the ARM patch tracker.

-Kees

--
Kees Cook
Pixel Security