Commit 67e306fd authored by Roman Gushchin's avatar Roman Gushchin Committed by David S. Miller

device_cgroup: add DEVCG_ prefix to ACC_* and DEV_* constants

Rename device type and access type constants defined in
security/device_cgroup.c by adding the DEVCG_ prefix.

The reason behind this renaming is to make them global namespace
friendly, as they will be moved to the corresponding header file
by following patches.
Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Tejun Heo <tj@kernel.org>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 488e5b30
...@@ -15,14 +15,14 @@ ...@@ -15,14 +15,14 @@
#include <linux/rcupdate.h> #include <linux/rcupdate.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#define ACC_MKNOD 1 #define DEVCG_ACC_MKNOD 1
#define ACC_READ 2 #define DEVCG_ACC_READ 2
#define ACC_WRITE 4 #define DEVCG_ACC_WRITE 4
#define ACC_MASK (ACC_MKNOD | ACC_READ | ACC_WRITE) #define DEVCG_ACC_MASK (DEVCG_ACC_MKNOD | DEVCG_ACC_READ | DEVCG_ACC_WRITE)
#define DEV_BLOCK 1 #define DEVCG_DEV_BLOCK 1
#define DEV_CHAR 2 #define DEVCG_DEV_CHAR 2
#define DEV_ALL 4 /* this represents all devices */ #define DEVCG_DEV_ALL 4 /* this represents all devices */
static DEFINE_MUTEX(devcgroup_mutex); static DEFINE_MUTEX(devcgroup_mutex);
...@@ -246,21 +246,21 @@ static void set_access(char *acc, short access) ...@@ -246,21 +246,21 @@ static void set_access(char *acc, short access)
{ {
int idx = 0; int idx = 0;
memset(acc, 0, ACCLEN); memset(acc, 0, ACCLEN);
if (access & ACC_READ) if (access & DEVCG_ACC_READ)
acc[idx++] = 'r'; acc[idx++] = 'r';
if (access & ACC_WRITE) if (access & DEVCG_ACC_WRITE)
acc[idx++] = 'w'; acc[idx++] = 'w';
if (access & ACC_MKNOD) if (access & DEVCG_ACC_MKNOD)
acc[idx++] = 'm'; acc[idx++] = 'm';
} }
static char type_to_char(short type) static char type_to_char(short type)
{ {
if (type == DEV_ALL) if (type == DEVCG_DEV_ALL)
return 'a'; return 'a';
if (type == DEV_CHAR) if (type == DEVCG_DEV_CHAR)
return 'c'; return 'c';
if (type == DEV_BLOCK) if (type == DEVCG_DEV_BLOCK)
return 'b'; return 'b';
return 'X'; return 'X';
} }
...@@ -287,10 +287,10 @@ static int devcgroup_seq_show(struct seq_file *m, void *v) ...@@ -287,10 +287,10 @@ static int devcgroup_seq_show(struct seq_file *m, void *v)
* This way, the file remains as a "whitelist of devices" * This way, the file remains as a "whitelist of devices"
*/ */
if (devcgroup->behavior == DEVCG_DEFAULT_ALLOW) { if (devcgroup->behavior == DEVCG_DEFAULT_ALLOW) {
set_access(acc, ACC_MASK); set_access(acc, DEVCG_ACC_MASK);
set_majmin(maj, ~0); set_majmin(maj, ~0);
set_majmin(min, ~0); set_majmin(min, ~0);
seq_printf(m, "%c %s:%s %s\n", type_to_char(DEV_ALL), seq_printf(m, "%c %s:%s %s\n", type_to_char(DEVCG_DEV_ALL),
maj, min, acc); maj, min, acc);
} else { } else {
list_for_each_entry_rcu(ex, &devcgroup->exceptions, list) { list_for_each_entry_rcu(ex, &devcgroup->exceptions, list) {
...@@ -309,10 +309,10 @@ static int devcgroup_seq_show(struct seq_file *m, void *v) ...@@ -309,10 +309,10 @@ static int devcgroup_seq_show(struct seq_file *m, void *v)
/** /**
* match_exception - iterates the exception list trying to find a complete match * match_exception - iterates the exception list trying to find a complete match
* @exceptions: list of exceptions * @exceptions: list of exceptions
* @type: device type (DEV_BLOCK or DEV_CHAR) * @type: device type (DEVCG_DEV_BLOCK or DEVCG_DEV_CHAR)
* @major: device file major number, ~0 to match all * @major: device file major number, ~0 to match all
* @minor: device file minor number, ~0 to match all * @minor: device file minor number, ~0 to match all
* @access: permission mask (ACC_READ, ACC_WRITE, ACC_MKNOD) * @access: permission mask (DEVCG_ACC_READ, DEVCG_ACC_WRITE, DEVCG_ACC_MKNOD)
* *
* It is considered a complete match if an exception is found that will * It is considered a complete match if an exception is found that will
* contain the entire range of provided parameters. * contain the entire range of provided parameters.
...@@ -325,9 +325,9 @@ static bool match_exception(struct list_head *exceptions, short type, ...@@ -325,9 +325,9 @@ static bool match_exception(struct list_head *exceptions, short type,
struct dev_exception_item *ex; struct dev_exception_item *ex;
list_for_each_entry_rcu(ex, exceptions, list) { list_for_each_entry_rcu(ex, exceptions, list) {
if ((type & DEV_BLOCK) && !(ex->type & DEV_BLOCK)) if ((type & DEVCG_DEV_BLOCK) && !(ex->type & DEVCG_DEV_BLOCK))
continue; continue;
if ((type & DEV_CHAR) && !(ex->type & DEV_CHAR)) if ((type & DEVCG_DEV_CHAR) && !(ex->type & DEVCG_DEV_CHAR))
continue; continue;
if (ex->major != ~0 && ex->major != major) if (ex->major != ~0 && ex->major != major)
continue; continue;
...@@ -344,10 +344,10 @@ static bool match_exception(struct list_head *exceptions, short type, ...@@ -344,10 +344,10 @@ static bool match_exception(struct list_head *exceptions, short type,
/** /**
* match_exception_partial - iterates the exception list trying to find a partial match * match_exception_partial - iterates the exception list trying to find a partial match
* @exceptions: list of exceptions * @exceptions: list of exceptions
* @type: device type (DEV_BLOCK or DEV_CHAR) * @type: device type (DEVCG_DEV_BLOCK or DEVCG_DEV_CHAR)
* @major: device file major number, ~0 to match all * @major: device file major number, ~0 to match all
* @minor: device file minor number, ~0 to match all * @minor: device file minor number, ~0 to match all
* @access: permission mask (ACC_READ, ACC_WRITE, ACC_MKNOD) * @access: permission mask (DEVCG_ACC_READ, DEVCG_ACC_WRITE, DEVCG_ACC_MKNOD)
* *
* It is considered a partial match if an exception's range is found to * It is considered a partial match if an exception's range is found to
* contain *any* of the devices specified by provided parameters. This is * contain *any* of the devices specified by provided parameters. This is
...@@ -362,9 +362,9 @@ static bool match_exception_partial(struct list_head *exceptions, short type, ...@@ -362,9 +362,9 @@ static bool match_exception_partial(struct list_head *exceptions, short type,
struct dev_exception_item *ex; struct dev_exception_item *ex;
list_for_each_entry_rcu(ex, exceptions, list) { list_for_each_entry_rcu(ex, exceptions, list) {
if ((type & DEV_BLOCK) && !(ex->type & DEV_BLOCK)) if ((type & DEVCG_DEV_BLOCK) && !(ex->type & DEVCG_DEV_BLOCK))
continue; continue;
if ((type & DEV_CHAR) && !(ex->type & DEV_CHAR)) if ((type & DEVCG_DEV_CHAR) && !(ex->type & DEVCG_DEV_CHAR))
continue; continue;
/* /*
* We must be sure that both the exception and the provided * We must be sure that both the exception and the provided
...@@ -647,10 +647,10 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup, ...@@ -647,10 +647,10 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
} }
return 0; return 0;
case 'b': case 'b':
ex.type = DEV_BLOCK; ex.type = DEVCG_DEV_BLOCK;
break; break;
case 'c': case 'c':
ex.type = DEV_CHAR; ex.type = DEVCG_DEV_CHAR;
break; break;
default: default:
return -EINVAL; return -EINVAL;
...@@ -703,13 +703,13 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup, ...@@ -703,13 +703,13 @@ static int devcgroup_update_access(struct dev_cgroup *devcgroup,
for (b++, count = 0; count < 3; count++, b++) { for (b++, count = 0; count < 3; count++, b++) {
switch (*b) { switch (*b) {
case 'r': case 'r':
ex.access |= ACC_READ; ex.access |= DEVCG_ACC_READ;
break; break;
case 'w': case 'w':
ex.access |= ACC_WRITE; ex.access |= DEVCG_ACC_WRITE;
break; break;
case 'm': case 'm':
ex.access |= ACC_MKNOD; ex.access |= DEVCG_ACC_MKNOD;
break; break;
case '\n': case '\n':
case '\0': case '\0':
...@@ -806,7 +806,7 @@ struct cgroup_subsys devices_cgrp_subsys = { ...@@ -806,7 +806,7 @@ struct cgroup_subsys devices_cgrp_subsys = {
* @type: device type * @type: device type
* @major: device major number * @major: device major number
* @minor: device minor number * @minor: device minor number
* @access: combination of ACC_WRITE, ACC_READ and ACC_MKNOD * @access: combination of DEVCG_ACC_WRITE, DEVCG_ACC_READ and DEVCG_ACC_MKNOD
* *
* returns 0 on success, -EPERM case the operation is not permitted * returns 0 on success, -EPERM case the operation is not permitted
*/ */
...@@ -839,13 +839,13 @@ int __devcgroup_inode_permission(struct inode *inode, int mask) ...@@ -839,13 +839,13 @@ int __devcgroup_inode_permission(struct inode *inode, int mask)
short type, access = 0; short type, access = 0;
if (S_ISBLK(inode->i_mode)) if (S_ISBLK(inode->i_mode))
type = DEV_BLOCK; type = DEVCG_DEV_BLOCK;
if (S_ISCHR(inode->i_mode)) if (S_ISCHR(inode->i_mode))
type = DEV_CHAR; type = DEVCG_DEV_CHAR;
if (mask & MAY_WRITE) if (mask & MAY_WRITE)
access |= ACC_WRITE; access |= DEVCG_ACC_WRITE;
if (mask & MAY_READ) if (mask & MAY_READ)
access |= ACC_READ; access |= DEVCG_ACC_READ;
return __devcgroup_check_permission(type, imajor(inode), iminor(inode), return __devcgroup_check_permission(type, imajor(inode), iminor(inode),
access); access);
...@@ -859,11 +859,11 @@ int devcgroup_inode_mknod(int mode, dev_t dev) ...@@ -859,11 +859,11 @@ int devcgroup_inode_mknod(int mode, dev_t dev)
return 0; return 0;
if (S_ISBLK(mode)) if (S_ISBLK(mode))
type = DEV_BLOCK; type = DEVCG_DEV_BLOCK;
else else
type = DEV_CHAR; type = DEVCG_DEV_CHAR;
return __devcgroup_check_permission(type, MAJOR(dev), MINOR(dev), return __devcgroup_check_permission(type, MAJOR(dev), MINOR(dev),
ACC_MKNOD); DEVCG_ACC_MKNOD);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment