Merge "mm: cma: make writeable CMA debugfs optional"

This commit is contained in:
qctecmdr 2019-12-17 17:19:55 -08:00 • committed by Gerrit - the friendly Code Review server
commit b5e5ccfbbe
2 changed files with 19 additions and 0 deletions

View file

@ -499,6 +499,15 @@ config CMA_DEBUGFS
help
Turns on the DebugFS interface for CMA.
config CMA_ALLOW_WRITE_DEBUGFS
depends on CMA_DEBUGFS
bool "Allow CMA debugfs write"
help
Say 'y' here to allow the CMA debugfs write.
CMA debugfs write could be risky as it allows
cma allocation, so it is not recommended to
enable this option on any production device.
config CMA_AREAS
int "Maximum count of the CMA areas"
depends on CMA

View file

@ -74,6 +74,7 @@ static int cma_maxchunk_get(void *data, u64 *val)
}
DEFINE_SIMPLE_ATTRIBUTE(cma_maxchunk_fops, cma_maxchunk_get, NULL, "%llu\n");
#ifdef CONFIG_CMA_ALLOW_WRITE_DEBUGFS
static void cma_add_to_cma_mem_list(struct cma *cma, struct cma_mem *mem)
{
spin_lock(&cma->mem_head_lock);
@ -132,8 +133,13 @@ static int cma_free_write(void *data, u64 val)
return cma_free_mem(cma, pages);
}
#else
#define cma_free_write NULL
#endif
DEFINE_SIMPLE_ATTRIBUTE(cma_free_fops, NULL, cma_free_write, "%llu\n");
#ifdef CONFIG_CMA_ALLOW_WRITE_DEBUGFS
static int cma_alloc_mem(struct cma *cma, int count)
{
struct cma_mem *mem;
@ -164,6 +170,10 @@ static int cma_alloc_write(void *data, u64 val)
return cma_alloc_mem(cma, pages);
}
#else
#define cma_alloc_write NULL
#endif
DEFINE_SIMPLE_ATTRIBUTE(cma_alloc_fops, NULL, cma_alloc_write, "%llu\n");
static void cma_debugfs_add_one(struct cma *cma, struct dentry *root_dentry)