constify security_path_{unlink,rmdir}
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 25 Mar 2016 19:13:39 +0000 (15:13 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 28 Mar 2016 04:47:27 +0000 (00:47 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/linux/lsm_hooks.h
include/linux/security.h
security/apparmor/lsm.c
security/security.c
security/tomoyo/tomoyo.c

index 294fdfe902bf868c44c5c20af8c3aab9a6241928..322912cc2da1ad07757444d0a524c5d45055501b 100644 (file)
@@ -1360,10 +1360,10 @@ union security_list_options {
 
 
 #ifdef CONFIG_SECURITY_PATH
-       int (*path_unlink)(struct path *dir, struct dentry *dentry);
+       int (*path_unlink)(const struct path *dir, struct dentry *dentry);
        int (*path_mkdir)(struct path *dir, struct dentry *dentry,
                                umode_t mode);
-       int (*path_rmdir)(struct path *dir, struct dentry *dentry);
+       int (*path_rmdir)(const struct path *dir, struct dentry *dentry);
        int (*path_mknod)(struct path *dir, struct dentry *dentry,
                                umode_t mode, unsigned int dev);
        int (*path_truncate)(const struct path *path);
index d6593ee2d0a972a9eadf800c9898a1b75c5fd15f..e292d8cb21d73cda268b2bc3707b7c107e9e8270 100644 (file)
@@ -1442,9 +1442,9 @@ static inline void security_skb_classify_flow(struct sk_buff *skb, struct flowi
 #endif /* CONFIG_SECURITY_NETWORK_XFRM */
 
 #ifdef CONFIG_SECURITY_PATH
-int security_path_unlink(struct path *dir, struct dentry *dentry);
+int security_path_unlink(const struct path *dir, struct dentry *dentry);
 int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode);
-int security_path_rmdir(struct path *dir, struct dentry *dentry);
+int security_path_rmdir(const struct path *dir, struct dentry *dentry);
 int security_path_mknod(struct path *dir, struct dentry *dentry, umode_t mode,
                        unsigned int dev);
 int security_path_truncate(const struct path *path);
@@ -1459,7 +1459,7 @@ int security_path_chmod(const struct path *path, umode_t mode);
 int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid);
 int security_path_chroot(struct path *path);
 #else  /* CONFIG_SECURITY_PATH */
-static inline int security_path_unlink(struct path *dir, struct dentry *dentry)
+static inline int security_path_unlink(const struct path *dir, struct dentry *dentry)
 {
        return 0;
 }
@@ -1470,7 +1470,7 @@ static inline int security_path_mkdir(struct path *dir, struct dentry *dentry,
        return 0;
 }
 
-static inline int security_path_rmdir(struct path *dir, struct dentry *dentry)
+static inline int security_path_rmdir(const struct path *dir, struct dentry *dentry)
 {
        return 0;
 }
index 4d2638f4676d7bb988a9ee7260deb6718ca89d7c..b760fe026b82b914b32a995ca28262d26f7121de 100644 (file)
@@ -245,7 +245,7 @@ static int common_perm_create(int op, const struct path *dir,
        return common_perm_dir_dentry(op, dir, dentry, mask, &cond);
 }
 
-static int apparmor_path_unlink(struct path *dir, struct dentry *dentry)
+static int apparmor_path_unlink(const struct path *dir, struct dentry *dentry)
 {
        return common_perm_rm(OP_UNLINK, dir, dentry, AA_MAY_DELETE);
 }
@@ -257,7 +257,7 @@ static int apparmor_path_mkdir(struct path *dir, struct dentry *dentry,
                                  S_IFDIR);
 }
 
-static int apparmor_path_rmdir(struct path *dir, struct dentry *dentry)
+static int apparmor_path_rmdir(const struct path *dir, struct dentry *dentry)
 {
        return common_perm_rm(OP_RMDIR, dir, dentry, AA_MAY_DELETE);
 }
index b333429fe71898c5af7af2dd7a7199acc4fb79c2..20f2070b3acee44e556a489387c5efc9e73c5c7a 100644 (file)
@@ -427,14 +427,14 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, umode_t mode)
 }
 EXPORT_SYMBOL(security_path_mkdir);
 
-int security_path_rmdir(struct path *dir, struct dentry *dentry)
+int security_path_rmdir(const struct path *dir, struct dentry *dentry)
 {
        if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
                return 0;
        return call_int_hook(path_rmdir, 0, dir, dentry);
 }
 
-int security_path_unlink(struct path *dir, struct dentry *dentry)
+int security_path_unlink(const struct path *dir, struct dentry *dentry)
 {
        if (unlikely(IS_PRIVATE(d_backing_inode(dir->dentry))))
                return 0;
index e48d0a4e4128f3942fa398d0b290e763e934b1a4..be5b1ae02f02331a80ea83c52db2467034cb0c1b 100644 (file)
@@ -163,7 +163,7 @@ static int tomoyo_path_truncate(const struct path *path)
  *
  * Returns 0 on success, negative value otherwise.
  */
-static int tomoyo_path_unlink(struct path *parent, struct dentry *dentry)
+static int tomoyo_path_unlink(const struct path *parent, struct dentry *dentry)
 {
        struct path path = { parent->mnt, dentry };
        return tomoyo_path_perm(TOMOYO_TYPE_UNLINK, &path, NULL);
@@ -194,7 +194,7 @@ static int tomoyo_path_mkdir(struct path *parent, struct dentry *dentry,
  *
  * Returns 0 on success, negative value otherwise.
  */
-static int tomoyo_path_rmdir(struct path *parent, struct dentry *dentry)
+static int tomoyo_path_rmdir(const struct path *parent, struct dentry *dentry)
 {
        struct path path = { parent->mnt, dentry };
        return tomoyo_path_perm(TOMOYO_TYPE_RMDIR, &path, NULL);