Re: [PATCH 4/7] Protectable Memory

From
Matthew Wilcox <willy@infradead.org>
Date
2018-03-12 19:13:15
Also in
linux-security-module, lkml
Reply to
Igor Stoppa, 2018-02-28
On Wed, Feb 28, 2018 at 10:06:17PM +0200, Igor Stoppa wrote:
struct gen_pool *pmalloc_create_pool(const char *name,
					 int min_alloc_order);
int is_pmalloc_object(const void *ptr, const unsigned long n);
bool pmalloc_prealloc(struct gen_pool *pool, size_t size);
void *pmalloc(struct gen_pool *pool, size_t size, gfp_t gfp);
static inline void *pzalloc(struct gen_pool *pool, size_t size, gfp_t gfp)
static inline void *pmalloc_array(struct gen_pool *pool, size_t n,
				  size_t size, gfp_t flags)
static inline void *pcalloc(struct gen_pool *pool, size_t n,
			    size_t size, gfp_t flags)
static inline char *pstrdup(struct gen_pool *pool, const char *s, gfp_t gfp)
int pmalloc_protect_pool(struct gen_pool *pool);
static inline void pfree(struct gen_pool *pool, const void *addr)
int pmalloc_destroy_pool(struct gen_pool *pool);
Do you have users for all these functions?  I'm particularly sceptical of
pfree().  To my mind, a user wants to:

pmalloc_create();
pmalloc(); * N
pmalloc_protect();
...
pmalloc_destroy();

I don't mind the pstrdup, pcalloc, pmalloc_array, pzalloc variations, but
I don't know why you need is_pmalloc_object().
Thread (34 messages) 34 messages, 5 authors, last reply 2018-03-12
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help