All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <rdunlap@infradead.org>
To: Igor Stoppa <igor.stoppa@huawei.com>,
	jglisse@redhat.com, keescook@chromium.org, mhocko@kernel.org,
	labbott@redhat.com, hch@infradead.org, willy@infradead.org
Cc: cl@linux.com, linux-security-module@vger.kernel.org,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	kernel-hardening@lists.openwall.com
Subject: Re: [PATCH 6/6] Documentation for Pmalloc
Date: Sun, 4 Feb 2018 13:37:24 -0800	[thread overview]
Message-ID: <29176ee0-f253-ccd7-8201-3f061b5890b0@infradead.org> (raw)
In-Reply-To: <20180204170056.28772-2-igor.stoppa@huawei.com>

Hi,

On 02/04/2018 09:00 AM, Igor Stoppa wrote:
> Detailed documentation about the protectable memory allocator.
> 
> Signed-off-by: Igor Stoppa <igor.stoppa@huawei.com>
> ---
>  Documentation/core-api/index.rst   |   1 +
>  Documentation/core-api/pmalloc.rst | 114 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 115 insertions(+)
>  create mode 100644 Documentation/core-api/pmalloc.rst
> 
> diff --git a/Documentation/core-api/index.rst b/Documentation/core-api/index.rst
> index d5bbe035316d..7244ddeb540f 100644
> --- a/Documentation/core-api/index.rst
> +++ b/Documentation/core-api/index.rst
> @@ -21,6 +21,7 @@ Core utilities
>     flexible-arrays
>     librs
>     genalloc
> +   pmalloc
>  
>  Interfaces for kernel debugging
>  ===============================
> diff --git a/Documentation/core-api/pmalloc.rst b/Documentation/core-api/pmalloc.rst
> new file mode 100644
> index 000000000000..8dabb5e18d8f
> --- /dev/null
> +++ b/Documentation/core-api/pmalloc.rst
> @@ -0,0 +1,114 @@
> +SPDX-License-Identifier: GPL-2.0
> +
> +Protectable memory allocator
> +============================
> +
> +Purpose
> +-------
> +
> +The pmalloc library is meant to provide R/O status to data that, for some
> +reason, could neither be declared as constant, nor it could take advantage

                                                  nor could it

> +of the qualifier __ro_after_init, but is write-once and read-only in spirit.
> +It protects data from both accidental and malicious overwrites.
> +
> +Ex: A policy that is loaded from userspace.

Either
   Example:
or
   E.g.:
(meaning For example)

> +
> +
> +Concept
> +-------
> +
> +pmalloc builds on top of genalloc, using the same concept of memory pools.
> +
> +The value added by pmalloc is that now the memory contained in a pool can
> +become R/O, for the rest of the life of the pool.
> +
> +Different kernel idrivers and threads can use different pools, for finer

                    drivers

> +control of what becomes R/O and when. And for improved lockless concurrency.
> +
> +
> +Caveats
> +-------
> +
> +- Memory freed while a pool is not yet protected will be reused.
> +
> +- Once a pool is protected, it's not possible to allocate any more memory
> +  from it.
> +
> +- Memory "freed" from a protected pool indicates that such memory is not
> +  in use anymore by the requestor, however it will not become avaiable for

                           requester; however,                   available


> +  further use, until the pool is destroyed.
> +
> +- Before destroying a pool, all the memory allocated from it must be
> +  released.
> +
> +- pmalloc does not provide locking support wrt allocating vs protecting

Write out "wrt" -> with respect to.

> +  an individual pool, for performance reason. It is recommended to not

                                         reasons.                  not to

> +  share the same pool between unrelated functions. Should sharing be a
> +  necessity, the user of the shared pool is expected to implement locking
> +  for that pool.
> +
> +- pmalloc uses genalloc to optimize the use of the space it allocates
> +  through vmalloc. Some more TLB entries will be used, however less than
> +  in the case of using directly vmalloc. The exact number depends on size

                 of using vmalloc directly.                          on the size

> +  of each allocation request and possible slack.
> +
> +- Considering that not much data is supposed to be dynamically allocated
> +  and then marked as read-only, it shouldn't be an issue that the address
> +  range for pmalloc is limited, on 32-bit systems.
> +
> +- Regarding SMP systems, the allocations are expected to happen mostly
> +  during an initial transient, after which there should be no more need to
> +  perform cross-processor synchronizations of page tables.
> +
> +- To facilitate the conversion of existing code to pmalloc pools, several
> +  helper functions are provided, mirroring their kmalloc counterparts.
> +
> +
> +Use
> +---
> +
> +The typical sequence, when using pmalloc, is:
> +
> +1. create a pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_create_pool
> +
> +2. [optional] pre-allocate some memory in the pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_prealloc
> +
> +3. issue one or more allocation requests to the pool with locking as needed
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pzalloc
> +
> +4. initialize the memory obtained with desired values
> +
> +5. [optional] iterate over points 3 & 4 as needed
> +
> +6. write protect the pool

      write-protect

> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_protect_pool
> +
> +7. use in read-only mode the handlers obtained through the allocations

                                handles ??

> +
> +8. [optional] release all the memory allocated
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pfree
> +
> +9. [optional, but depends on point 8] destroy the pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_destroy_pool
> +
> +API
> +---
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> 


-- 
~Randy

WARNING: multiple messages have this Message-ID (diff)
From: rdunlap@infradead.org (Randy Dunlap)
To: linux-security-module@vger.kernel.org
Subject: [PATCH 6/6] Documentation for Pmalloc
Date: Sun, 4 Feb 2018 13:37:24 -0800	[thread overview]
Message-ID: <29176ee0-f253-ccd7-8201-3f061b5890b0@infradead.org> (raw)
In-Reply-To: <20180204170056.28772-2-igor.stoppa@huawei.com>

Hi,

On 02/04/2018 09:00 AM, Igor Stoppa wrote:
> Detailed documentation about the protectable memory allocator.
> 
> Signed-off-by: Igor Stoppa <igor.stoppa@huawei.com>
> ---
>  Documentation/core-api/index.rst   |   1 +
>  Documentation/core-api/pmalloc.rst | 114 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 115 insertions(+)
>  create mode 100644 Documentation/core-api/pmalloc.rst
> 
> diff --git a/Documentation/core-api/index.rst b/Documentation/core-api/index.rst
> index d5bbe035316d..7244ddeb540f 100644
> --- a/Documentation/core-api/index.rst
> +++ b/Documentation/core-api/index.rst
> @@ -21,6 +21,7 @@ Core utilities
>     flexible-arrays
>     librs
>     genalloc
> +   pmalloc
>  
>  Interfaces for kernel debugging
>  ===============================
> diff --git a/Documentation/core-api/pmalloc.rst b/Documentation/core-api/pmalloc.rst
> new file mode 100644
> index 000000000000..8dabb5e18d8f
> --- /dev/null
> +++ b/Documentation/core-api/pmalloc.rst
> @@ -0,0 +1,114 @@
> +SPDX-License-Identifier: GPL-2.0
> +
> +Protectable memory allocator
> +============================
> +
> +Purpose
> +-------
> +
> +The pmalloc library is meant to provide R/O status to data that, for some
> +reason, could neither be declared as constant, nor it could take advantage

                                                  nor could it

> +of the qualifier __ro_after_init, but is write-once and read-only in spirit.
> +It protects data from both accidental and malicious overwrites.
> +
> +Ex: A policy that is loaded from userspace.

Either
   Example:
or
   E.g.:
(meaning For example)

> +
> +
> +Concept
> +-------
> +
> +pmalloc builds on top of genalloc, using the same concept of memory pools.
> +
> +The value added by pmalloc is that now the memory contained in a pool can
> +become R/O, for the rest of the life of the pool.
> +
> +Different kernel idrivers and threads can use different pools, for finer

                    drivers

> +control of what becomes R/O and when. And for improved lockless concurrency.
> +
> +
> +Caveats
> +-------
> +
> +- Memory freed while a pool is not yet protected will be reused.
> +
> +- Once a pool is protected, it's not possible to allocate any more memory
> +  from it.
> +
> +- Memory "freed" from a protected pool indicates that such memory is not
> +  in use anymore by the requestor, however it will not become avaiable for

                           requester; however,                   available


> +  further use, until the pool is destroyed.
> +
> +- Before destroying a pool, all the memory allocated from it must be
> +  released.
> +
> +- pmalloc does not provide locking support wrt allocating vs protecting

Write out "wrt" -> with respect to.

> +  an individual pool, for performance reason. It is recommended to not

                                         reasons.                  not to

> +  share the same pool between unrelated functions. Should sharing be a
> +  necessity, the user of the shared pool is expected to implement locking
> +  for that pool.
> +
> +- pmalloc uses genalloc to optimize the use of the space it allocates
> +  through vmalloc. Some more TLB entries will be used, however less than
> +  in the case of using directly vmalloc. The exact number depends on size

                 of using vmalloc directly.                          on the size

> +  of each allocation request and possible slack.
> +
> +- Considering that not much data is supposed to be dynamically allocated
> +  and then marked as read-only, it shouldn't be an issue that the address
> +  range for pmalloc is limited, on 32-bit systems.
> +
> +- Regarding SMP systems, the allocations are expected to happen mostly
> +  during an initial transient, after which there should be no more need to
> +  perform cross-processor synchronizations of page tables.
> +
> +- To facilitate the conversion of existing code to pmalloc pools, several
> +  helper functions are provided, mirroring their kmalloc counterparts.
> +
> +
> +Use
> +---
> +
> +The typical sequence, when using pmalloc, is:
> +
> +1. create a pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_create_pool
> +
> +2. [optional] pre-allocate some memory in the pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_prealloc
> +
> +3. issue one or more allocation requests to the pool with locking as needed
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pzalloc
> +
> +4. initialize the memory obtained with desired values
> +
> +5. [optional] iterate over points 3 & 4 as needed
> +
> +6. write protect the pool

      write-protect

> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_protect_pool
> +
> +7. use in read-only mode the handlers obtained through the allocations

                                handles ??

> +
> +8. [optional] release all the memory allocated
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pfree
> +
> +9. [optional, but depends on point 8] destroy the pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_destroy_pool
> +
> +API
> +---
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> 


-- 
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Randy Dunlap <rdunlap@infradead.org>
To: Igor Stoppa <igor.stoppa@huawei.com>,
	jglisse@redhat.com, keescook@chromium.org, mhocko@kernel.org,
	labbott@redhat.com, hch@infradead.org, willy@infradead.org
Cc: cl@linux.com, linux-security-module@vger.kernel.org,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	kernel-hardening@lists.openwall.com
Subject: Re: [PATCH 6/6] Documentation for Pmalloc
Date: Sun, 4 Feb 2018 13:37:24 -0800	[thread overview]
Message-ID: <29176ee0-f253-ccd7-8201-3f061b5890b0@infradead.org> (raw)
In-Reply-To: <20180204170056.28772-2-igor.stoppa@huawei.com>

Hi,

On 02/04/2018 09:00 AM, Igor Stoppa wrote:
> Detailed documentation about the protectable memory allocator.
> 
> Signed-off-by: Igor Stoppa <igor.stoppa@huawei.com>
> ---
>  Documentation/core-api/index.rst   |   1 +
>  Documentation/core-api/pmalloc.rst | 114 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 115 insertions(+)
>  create mode 100644 Documentation/core-api/pmalloc.rst
> 
> diff --git a/Documentation/core-api/index.rst b/Documentation/core-api/index.rst
> index d5bbe035316d..7244ddeb540f 100644
> --- a/Documentation/core-api/index.rst
> +++ b/Documentation/core-api/index.rst
> @@ -21,6 +21,7 @@ Core utilities
>     flexible-arrays
>     librs
>     genalloc
> +   pmalloc
>  
>  Interfaces for kernel debugging
>  ===============================
> diff --git a/Documentation/core-api/pmalloc.rst b/Documentation/core-api/pmalloc.rst
> new file mode 100644
> index 000000000000..8dabb5e18d8f
> --- /dev/null
> +++ b/Documentation/core-api/pmalloc.rst
> @@ -0,0 +1,114 @@
> +SPDX-License-Identifier: GPL-2.0
> +
> +Protectable memory allocator
> +============================
> +
> +Purpose
> +-------
> +
> +The pmalloc library is meant to provide R/O status to data that, for some
> +reason, could neither be declared as constant, nor it could take advantage

                                                  nor could it

> +of the qualifier __ro_after_init, but is write-once and read-only in spirit.
> +It protects data from both accidental and malicious overwrites.
> +
> +Ex: A policy that is loaded from userspace.

Either
   Example:
or
   E.g.:
(meaning For example)

> +
> +
> +Concept
> +-------
> +
> +pmalloc builds on top of genalloc, using the same concept of memory pools.
> +
> +The value added by pmalloc is that now the memory contained in a pool can
> +become R/O, for the rest of the life of the pool.
> +
> +Different kernel idrivers and threads can use different pools, for finer

                    drivers

> +control of what becomes R/O and when. And for improved lockless concurrency.
> +
> +
> +Caveats
> +-------
> +
> +- Memory freed while a pool is not yet protected will be reused.
> +
> +- Once a pool is protected, it's not possible to allocate any more memory
> +  from it.
> +
> +- Memory "freed" from a protected pool indicates that such memory is not
> +  in use anymore by the requestor, however it will not become avaiable for

                           requester; however,                   available


> +  further use, until the pool is destroyed.
> +
> +- Before destroying a pool, all the memory allocated from it must be
> +  released.
> +
> +- pmalloc does not provide locking support wrt allocating vs protecting

Write out "wrt" -> with respect to.

> +  an individual pool, for performance reason. It is recommended to not

                                         reasons.                  not to

> +  share the same pool between unrelated functions. Should sharing be a
> +  necessity, the user of the shared pool is expected to implement locking
> +  for that pool.
> +
> +- pmalloc uses genalloc to optimize the use of the space it allocates
> +  through vmalloc. Some more TLB entries will be used, however less than
> +  in the case of using directly vmalloc. The exact number depends on size

                 of using vmalloc directly.                          on the size

> +  of each allocation request and possible slack.
> +
> +- Considering that not much data is supposed to be dynamically allocated
> +  and then marked as read-only, it shouldn't be an issue that the address
> +  range for pmalloc is limited, on 32-bit systems.
> +
> +- Regarding SMP systems, the allocations are expected to happen mostly
> +  during an initial transient, after which there should be no more need to
> +  perform cross-processor synchronizations of page tables.
> +
> +- To facilitate the conversion of existing code to pmalloc pools, several
> +  helper functions are provided, mirroring their kmalloc counterparts.
> +
> +
> +Use
> +---
> +
> +The typical sequence, when using pmalloc, is:
> +
> +1. create a pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_create_pool
> +
> +2. [optional] pre-allocate some memory in the pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_prealloc
> +
> +3. issue one or more allocation requests to the pool with locking as needed
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pzalloc
> +
> +4. initialize the memory obtained with desired values
> +
> +5. [optional] iterate over points 3 & 4 as needed
> +
> +6. write protect the pool

      write-protect

> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_protect_pool
> +
> +7. use in read-only mode the handlers obtained through the allocations

                                handles ??

> +
> +8. [optional] release all the memory allocated
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pfree
> +
> +9. [optional, but depends on point 8] destroy the pool
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> +   :functions: pmalloc_destroy_pool
> +
> +API
> +---
> +
> +.. kernel-doc:: include/linux/pmalloc.h
> 


-- 
~Randy

--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2018-02-04 21:37 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-04 16:47 [RFC PATCH v14 0/6] mm: security: ro protection for dynamic data Igor Stoppa
2018-02-04 16:47 ` Igor Stoppa
2018-02-04 16:47 ` Igor Stoppa
2018-02-04 16:47 ` Igor Stoppa
2018-02-04 16:47 ` [PATCH 1/6] genalloc: track beginning of allocations Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 22:34   ` Randy Dunlap
2018-02-04 22:34     ` Randy Dunlap
2018-02-04 22:34     ` Randy Dunlap
2018-02-05  3:45     ` Matthew Wilcox
2018-02-05  3:45       ` Matthew Wilcox
2018-02-05  3:45       ` Matthew Wilcox
2018-02-09 14:28       ` Igor Stoppa
2018-02-09 14:28         ` Igor Stoppa
2018-02-09 14:28         ` Igor Stoppa
2018-02-09 14:28         ` Igor Stoppa
2018-02-09 16:18     ` Igor Stoppa
2018-02-09 16:18       ` Igor Stoppa
2018-02-09 16:18       ` Igor Stoppa
2018-02-09 16:18       ` Igor Stoppa
2018-02-09 17:15       ` Randy Dunlap
2018-02-09 17:15         ` Randy Dunlap
2018-02-09 17:15         ` Randy Dunlap
2018-02-04 16:47 ` [PATCH 2/6] genalloc: selftest Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 22:19   ` Randy Dunlap
2018-02-04 22:19     ` Randy Dunlap
2018-02-04 22:19     ` Randy Dunlap
2018-02-04 23:03     ` Matthew Wilcox
2018-02-04 23:03       ` Matthew Wilcox
2018-02-04 23:03       ` Matthew Wilcox
2018-02-05  0:14       ` Randy Dunlap
2018-02-05  0:14         ` Randy Dunlap
2018-02-05  0:14         ` Randy Dunlap
2018-02-09 14:30         ` Igor Stoppa
2018-02-09 14:30           ` Igor Stoppa
2018-02-09 14:30           ` Igor Stoppa
2018-02-09 14:30           ` Igor Stoppa
2018-02-10 22:59     ` Igor Stoppa
2018-02-10 22:59       ` Igor Stoppa
2018-02-10 22:59       ` Igor Stoppa
2018-02-10 22:59       ` Igor Stoppa
2018-02-07 20:25   ` kbuild test robot
2018-02-07 20:25     ` kbuild test robot
2018-02-07 20:25     ` kbuild test robot
2018-02-11  2:01     ` Igor Stoppa
2018-02-11  2:01       ` Igor Stoppa
2018-02-11  2:01       ` Igor Stoppa
2018-02-11  2:01       ` Igor Stoppa
2018-02-04 16:47 ` [PATCH 3/6] struct page: add field for vm_struct Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47 ` [PATCH 4/6] Protectable Memory Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 16:47   ` Igor Stoppa
2018-02-04 22:06   ` Randy Dunlap
2018-02-04 22:06     ` Randy Dunlap
2018-02-04 22:06     ` Randy Dunlap
2018-02-11  1:04     ` Igor Stoppa
2018-02-11  1:04       ` Igor Stoppa
2018-02-11  1:04       ` Igor Stoppa
2018-02-11  1:04       ` Igor Stoppa
2018-02-07 10:03   ` kbuild test robot
2018-02-07 10:03     ` kbuild test robot
2018-02-07 10:03     ` kbuild test robot
2018-02-07 22:21   ` kbuild test robot
2018-02-07 22:21     ` kbuild test robot
2018-02-07 22:21     ` kbuild test robot
2018-02-04 17:00 ` [PATCH 5/6] Pmalloc: self-test Igor Stoppa
2018-02-04 17:00   ` Igor Stoppa
2018-02-04 17:00   ` Igor Stoppa
2018-02-04 17:00   ` Igor Stoppa
2018-02-04 17:00   ` [PATCH 6/6] Documentation for Pmalloc Igor Stoppa
2018-02-04 17:00     ` Igor Stoppa
2018-02-04 17:00     ` Igor Stoppa
2018-02-04 17:00     ` Igor Stoppa
2018-02-04 21:37     ` Randy Dunlap [this message]
2018-02-04 21:37       ` Randy Dunlap
2018-02-04 21:37       ` Randy Dunlap
2018-02-09 16:41       ` Igor Stoppa
2018-02-09 16:41         ` Igor Stoppa
2018-02-09 16:41         ` Igor Stoppa
2018-02-09 16:41         ` Igor Stoppa
2018-02-07 17:18   ` [PATCH 5/6] Pmalloc: self-test kbuild test robot
2018-02-07 17:18     ` kbuild test robot
2018-02-07 17:18     ` kbuild test robot
2018-02-11  1:28     ` Igor Stoppa
2018-02-11  1:28       ` Igor Stoppa
2018-02-11  1:28       ` Igor Stoppa
2018-02-11  1:28       ` Igor Stoppa
2018-02-11  3:19 [RFC PATCH v15 0/6] mm: security: ro protection for dynamic data Igor Stoppa
2018-02-11  3:19 ` [PATCH 6/6] Documentation for Pmalloc Igor Stoppa
2018-02-11  3:19   ` Igor Stoppa
2018-02-11  3:19   ` Igor Stoppa
2018-02-11  3:19   ` Igor Stoppa
2018-02-11 21:17   ` Matthew Wilcox
2018-02-11 21:17     ` Matthew Wilcox
2018-02-11 21:17     ` Matthew Wilcox
2018-02-12 11:28     ` Igor Stoppa
2018-02-12 11:28       ` Igor Stoppa
2018-02-12 11:28       ` Igor Stoppa
2018-02-12 11:28       ` Igor Stoppa
2018-02-12 16:52 [RFC PATCH v16 0/6] mm: security: ro protection for dynamic data Igor Stoppa
2018-02-12 16:53 ` [PATCH 6/6] Documentation for Pmalloc Igor Stoppa
2018-02-12 16:53   ` Igor Stoppa
2018-02-12 16:53   ` Igor Stoppa
2018-02-12 16:53   ` Igor Stoppa
2018-03-27  1:55 [RFC PATCH v20 0/6] mm: security: ro protection for dynamic data Igor Stoppa
2018-03-27  1:55 ` [PATCH 6/6] Documentation for Pmalloc Igor Stoppa
2018-03-27  1:55   ` Igor Stoppa
2018-03-27  1:55   ` Igor Stoppa
2018-03-27 15:37 [RFC PATCH v21 0/6] mm: security: ro protection for dynamic data Igor Stoppa
2018-03-27 15:37 ` [PATCH 6/6] Documentation for Pmalloc Igor Stoppa
2018-03-27 15:37   ` Igor Stoppa
2018-03-27 15:37   ` Igor Stoppa

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=29176ee0-f253-ccd7-8201-3f061b5890b0@infradead.org \
    --to=rdunlap@infradead.org \
    --cc=cl@linux.com \
    --cc=hch@infradead.org \
    --cc=igor.stoppa@huawei.com \
    --cc=jglisse@redhat.com \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=labbott@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=willy@infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.