aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-03-25 15:21:09 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-03-28 00:47:27 -0400
commitd360775217070ff0f4291e47d3f568f0fe0b7374 (patch)
tree20829cffe0741543e0a754dc266ba36b55630523
parent989f74e0500a1e136d369bb619adc22786ea5e68 (diff)
constify security_path_{mkdir,mknod,symlink}
... as well as unix_mknod() and may_o_create() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/namei.c2
-rw-r--r--include/linux/lsm_hooks.h6
-rw-r--r--include/linux/security.h12
-rw-r--r--net/unix/af_unix.c2
-rw-r--r--security/apparmor/lsm.c6
-rw-r--r--security/security.c6
-rw-r--r--security/tomoyo/tomoyo.c6
7 files changed, 20 insertions, 20 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 794f81dce766..8c97544d6883 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -2783,7 +2783,7 @@ static inline int open_to_namei_flags(int flag)
2783 return flag; 2783 return flag;
2784} 2784}
2785 2785
2786static int may_o_create(struct path *dir, struct dentry *dentry, umode_t mode) 2786static int may_o_create(const struct path *dir, struct dentry *dentry, umode_t mode)
2787{ 2787{
2788 int error = security_path_mknod(dir, dentry, mode, 0); 2788 int error = security_path_mknod(dir, dentry, mode, 0);
2789 if (error) 2789 if (error)
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 322912cc2da1..919fb4f98e4f 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -1361,13 +1361,13 @@ union security_list_options {
1361 1361
1362#ifdef CONFIG_SECURITY_PATH 1362#ifdef CONFIG_SECURITY_PATH
1363 int (*path_unlink)(const struct path *dir, struct dentry *dentry); 1363 int (*path_unlink)(const struct path *dir, struct dentry *dentry);
1364 int (*path_mkdir)(struct path *dir, struct dentry *dentry, 1364 int (*path_mkdir)(const struct path *dir, struct dentry *dentry,
1365 umode_t mode); 1365 umode_t mode);
1366 int (*path_rmdir)(const struct path *dir, struct dentry *dentry); 1366 int (*path_rmdir)(const struct path *dir, struct dentry *dentry);
1367 int (*path_mknod)(struct path *dir, struct dentry *dentry, 1367 int (*path_mknod)(const struct path *dir, struct dentry *dentry,
1368 umode_t mode, unsigned int dev); 1368 umode_t mode, unsigned int dev);
1369 int (*path_truncate)(const struct path *path); 1369 int (*path_truncate)(const struct path *path);
1370 int (*path_symlink)(struct path *dir, struct dentry *dentry, 1370 int (*path_symlink)(const struct path *dir, struct dentry *dentry,
1371 const char *old_name); 1371 const char *old_name);
1372 int (*path_link)(struct dentry *old_dentry, struct path *new_dir, 1372 int (*path_link)(struct dentry *old_dentry, struct path *new_dir,
1373 struct dentry *new_dentry); 1373 struct dentry *new_dentry);
diff --git a/include/linux/security.h b/include/linux/security.h
index e292d8cb21d7..ccb8c2a170e3 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -1443,12 +1443,12 @@ static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi
1443 1443
1444#ifdef CONFIG_SECURITY_PATH 1444#ifdef CONFIG_SECURITY_PATH
1445int security_path_unlink(const struct path *dir, struct dentry *dentry); 1445int security_path_unlink(const struct path *dir, struct dentry *dentry);
1446int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode); 1446int security_path_mkdir(const struct path *dir, struct dentry *dentry, umode_t mode);
1447int security_path_rmdir(const struct path *dir, struct dentry *dentry); 1447int security_path_rmdir(const struct path *dir, struct dentry *dentry);
1448int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode, 1448int security_path_mknod(const struct path *dir, struct dentry *dentry, umode_t mode,
1449 unsigned int dev); 1449 unsigned int dev);
1450int security_path_truncate(const struct path *path); 1450int security_path_truncate(const struct path *path);
1451int security_path_symlink(struct path *dir, struct dentry *dentry, 1451int security_path_symlink(const struct path *dir, struct dentry *dentry,
1452 const char *old_name); 1452 const char *old_name);
1453int security_path_link(struct dentry *old_dentry, struct path *new_dir, 1453int security_path_link(struct dentry *old_dentry, struct path *new_dir,
1454 struct dentry *new_dentry); 1454 struct dentry *new_dentry);
@@ -1464,7 +1464,7 @@ static inline int security_path_unlink(const struct path *dir, struct dentry *de
1464 return 0; 1464 return 0;
1465} 1465}
1466 1466
1467static inline int security_path_mkdir(struct path *dir, struct dentry *dentry, 1467static inline int security_path_mkdir(const struct path *dir, struct dentry *dentry,
1468 umode_t mode) 1468 umode_t mode)
1469{ 1469{
1470 return 0; 1470 return 0;
@@ -1475,7 +1475,7 @@ static inline int security_path_rmdir(const struct path *dir, struct dentry *den
1475 return 0; 1475 return 0;
1476} 1476}
1477 1477
1478static inline int security_path_mknod(struct path *dir, struct dentry *dentry, 1478static inline int security_path_mknod(const struct path *dir, struct dentry *dentry,
1479 umode_t mode, unsigned int dev) 1479 umode_t mode, unsigned int dev)
1480{ 1480{
1481 return 0; 1481 return 0;
@@ -1486,7 +1486,7 @@ static inline int security_path_truncate(const struct path *path)
1486 return 0; 1486 return 0;
1487} 1487}
1488 1488
1489static inline int security_path_symlink(struct path *dir, struct dentry *dentry, 1489static inline int security_path_symlink(const struct path *dir, struct dentry *dentry,
1490 const char *old_name) 1490 const char *old_name)
1491{ 1491{
1492 return 0; 1492 return 0;
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 8269da73e9e5..80aa6a3e6817 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -953,7 +953,7 @@ fail:
953 return NULL; 953 return NULL;
954} 954}
955 955
956static int unix_mknod(struct dentry *dentry, struct path *path, umode_t mode, 956static int unix_mknod(struct dentry *dentry, const struct path *path, umode_t mode,
957 struct path *res) 957 struct path *res)
958{ 958{
959 int err; 959 int err;
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index b760fe026b82..7ae540565097 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -250,7 +250,7 @@ static int apparmor_path_unlink(const struct path *dir, struct dentry *dentry)
250 return common_perm_rm(OP_UNLINK, dir, dentry, AA_MAY_DELETE); 250 return common_perm_rm(OP_UNLINK, dir, dentry, AA_MAY_DELETE);
251} 251}
252 252
253static int apparmor_path_mkdir(struct path *dir, struct dentry *dentry, 253static int apparmor_path_mkdir(const struct path *dir, struct dentry *dentry,
254 umode_t mode) 254 umode_t mode)
255{ 255{
256 return common_perm_create(OP_MKDIR, dir, dentry, AA_MAY_CREATE, 256 return common_perm_create(OP_MKDIR, dir, dentry, AA_MAY_CREATE,
@@ -262,7 +262,7 @@ static int apparmor_path_rmdir(const struct path *dir, struct dentry *dentry)
262 return common_perm_rm(OP_RMDIR, dir, dentry, AA_MAY_DELETE); 262 return common_perm_rm(OP_RMDIR, dir, dentry, AA_MAY_DELETE);
263} 263}
264 264
265static int apparmor_path_mknod(struct path *dir, struct dentry *dentry, 265static int apparmor_path_mknod(const struct path *dir, struct dentry *dentry,
266 umode_t mode, unsigned int dev) 266 umode_t mode, unsigned int dev)
267{ 267{
268 return common_perm_create(OP_MKNOD, dir, dentry, AA_MAY_CREATE, mode); 268 return common_perm_create(OP_MKNOD, dir, dentry, AA_MAY_CREATE, mode);
@@ -273,7 +273,7 @@ static int apparmor_path_truncate(const struct path *path)
273 return common_perm_path(OP_TRUNC, path, MAY_WRITE | AA_MAY_META_WRITE); 273 return common_perm_path(OP_TRUNC, path, MAY_WRITE | AA_MAY_META_WRITE);
274} 274}
275 275
276static int apparmor_path_symlink(struct path *dir, struct dentry *dentry, 276static int apparmor_path_symlink(const struct path *dir, struct dentry *dentry,
277 const char *old_name) 277 const char *old_name)
278{ 278{
279 return common_perm_create(OP_SYMLINK, dir, dentry, AA_MAY_CREATE, 279 return common_perm_create(OP_SYMLINK, dir, dentry, AA_MAY_CREATE,
diff --git a/security/security.c b/security/security.c
index 20f2070b3ace..7f62e2ed6a28 100644
--- a/security/security.c
+++ b/security/security.c
@@ -410,7 +410,7 @@ int security_old_inode_init_security(struct inode *inode, struct inode *dir,
410EXPORT_SYMBOL(security_old_inode_init_security); 410EXPORT_SYMBOL(security_old_inode_init_security);
411 411
412#ifdef CONFIG_SECURITY_PATH 412#ifdef CONFIG_SECURITY_PATH
413int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode, 413int security_path_mknod(const struct path *dir, struct dentry *dentry, umode_t mode,
414 unsigned int dev) 414 unsigned int dev)
415{ 415{
416 if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry)))) 416 if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
@@ -419,7 +419,7 @@ int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
419} 419}
420EXPORT_SYMBOL(security_path_mknod); 420EXPORT_SYMBOL(security_path_mknod);
421 421
422int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode) 422int security_path_mkdir(const struct path *dir, struct dentry *dentry, umode_t mode)
423{ 423{
424 if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry)))) 424 if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
425 return 0; 425 return 0;
@@ -442,7 +442,7 @@ int security_path_unlink(const struct path *dir, struct dentry *dentry)
442} 442}
443EXPORT_SYMBOL(security_path_unlink); 443EXPORT_SYMBOL(security_path_unlink);
444 444
445int security_path_symlink(struct path *dir, struct dentry *dentry, 445int security_path_symlink(const struct path *dir, struct dentry *dentry,
446 const char *old_name) 446 const char *old_name)
447{ 447{
448 if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry)))) 448 if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
diff --git a/security/tomoyo/tomoyo.c b/security/tomoyo/tomoyo.c
index be5b1ae02f02..d44752562b9b 100644
--- a/security/tomoyo/tomoyo.c
+++ b/security/tomoyo/tomoyo.c
@@ -178,7 +178,7 @@ static int tomoyo_path_unlink(const struct path *parent, struct dentry *dentry)
178 * 178 *
179 * Returns 0 on success, negative value otherwise. 179 * Returns 0 on success, negative value otherwise.
180 */ 180 */
181static int tomoyo_path_mkdir(struct path *parent, struct dentry *dentry, 181static int tomoyo_path_mkdir(const struct path *parent, struct dentry *dentry,
182 umode_t mode) 182 umode_t mode)
183{ 183{
184 struct path path = { parent->mnt, dentry }; 184 struct path path = { parent->mnt, dentry };
@@ -209,7 +209,7 @@ static int tomoyo_path_rmdir(const struct path *parent, struct dentry *dentry)
209 * 209 *
210 * Returns 0 on success, negative value otherwise. 210 * Returns 0 on success, negative value otherwise.
211 */ 211 */
212static int tomoyo_path_symlink(struct path *parent, struct dentry *dentry, 212static int tomoyo_path_symlink(const struct path *parent, struct dentry *dentry,
213 const char *old_name) 213 const char *old_name)
214{ 214{
215 struct path path = { parent->mnt, dentry }; 215 struct path path = { parent->mnt, dentry };
@@ -226,7 +226,7 @@ static int tomoyo_path_symlink(struct path *parent, struct dentry *dentry,
226 * 226 *
227 * Returns 0 on success, negative value otherwise. 227 * Returns 0 on success, negative value otherwise.
228 */ 228 */
229static int tomoyo_path_mknod(struct path *parent, struct dentry *dentry, 229static int tomoyo_path_mknod(const struct path *parent, struct dentry *dentry,
230 umode_t mode, unsigned int dev) 230 umode_t mode, unsigned int dev)
231{ 231{
232 struct path path = { parent->mnt, dentry }; 232 struct path path = { parent->mnt, dentry };