lkml.org 
[lkml]   [2018]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/7] Protectable Memory
    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().

    \
     
     \ /
      Last update: 2018-03-12 20:13    [W:4.706 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site