]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - security/dummy.c
Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[karo-tx-linux.git] / security / dummy.c
index 6ff887586479546054956d17a2a5e5faba3dce85..3ca5f2b828a0d84780c8ec223b1a62e954a7ff10 100644 (file)
@@ -258,16 +258,16 @@ static void dummy_inode_free_security (struct inode *inode)
        return;
 }
 
-static int dummy_inode_create (struct inode *inode, struct dentry *dentry,
-                              int mask)
+static int dummy_inode_init_security (struct inode *inode, struct inode *dir,
+                                     char **name, void **value, size_t *len)
 {
-       return 0;
+       return -EOPNOTSUPP;
 }
 
-static void dummy_inode_post_create (struct inode *inode, struct dentry *dentry,
-                                    int mask)
+static int dummy_inode_create (struct inode *inode, struct dentry *dentry,
+                              int mask)
 {
-       return;
+       return 0;
 }
 
 static int dummy_inode_link (struct dentry *old_dentry, struct inode *inode,
@@ -276,13 +276,6 @@ static int dummy_inode_link (struct dentry *old_dentry, struct inode *inode,
        return 0;
 }
 
-static void dummy_inode_post_link (struct dentry *old_dentry,
-                                  struct inode *inode,
-                                  struct dentry *new_dentry)
-{
-       return;
-}
-
 static int dummy_inode_unlink (struct inode *inode, struct dentry *dentry)
 {
        return 0;
@@ -294,24 +287,12 @@ static int dummy_inode_symlink (struct inode *inode, struct dentry *dentry,
        return 0;
 }
 
-static void dummy_inode_post_symlink (struct inode *inode,
-                                     struct dentry *dentry, const char *name)
-{
-       return;
-}
-
 static int dummy_inode_mkdir (struct inode *inode, struct dentry *dentry,
                              int mask)
 {
        return 0;
 }
 
-static void dummy_inode_post_mkdir (struct inode *inode, struct dentry *dentry,
-                                   int mask)
-{
-       return;
-}
-
 static int dummy_inode_rmdir (struct inode *inode, struct dentry *dentry)
 {
        return 0;
@@ -323,12 +304,6 @@ static int dummy_inode_mknod (struct inode *inode, struct dentry *dentry,
        return 0;
 }
 
-static void dummy_inode_post_mknod (struct inode *inode, struct dentry *dentry,
-                                   int mode, dev_t dev)
-{
-       return;
-}
-
 static int dummy_inode_rename (struct inode *old_inode,
                               struct dentry *old_dentry,
                               struct inode *new_inode,
@@ -337,14 +312,6 @@ static int dummy_inode_rename (struct inode *old_inode,
        return 0;
 }
 
-static void dummy_inode_post_rename (struct inode *old_inode,
-                                    struct dentry *old_dentry,
-                                    struct inode *new_inode,
-                                    struct dentry *new_dentry)
-{
-       return;
-}
-
 static int dummy_inode_readlink (struct dentry *dentry)
 {
        return 0;
@@ -410,7 +377,7 @@ static int dummy_inode_removexattr (struct dentry *dentry, char *name)
        return 0;
 }
 
-static int dummy_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size)
+static int dummy_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size, int err)
 {
        return -EOPNOTSUPP;
 }
@@ -801,7 +768,7 @@ static int dummy_socket_getpeersec(struct socket *sock, char __user *optval,
        return -ENOPROTOOPT;
 }
 
-static inline int dummy_sk_alloc_security (struct sock *sk, int family, int priority)
+static inline int dummy_sk_alloc_security (struct sock *sk, int family, gfp_t priority)
 {
        return 0;
 }
@@ -836,6 +803,23 @@ static int dummy_setprocattr(struct task_struct *p, char *name, void *value, siz
        return -EINVAL;
 }
 
+#ifdef CONFIG_KEYS
+static inline int dummy_key_alloc(struct key *key)
+{
+       return 0;
+}
+
+static inline void dummy_key_free(struct key *key)
+{
+}
+
+static inline int dummy_key_permission(key_ref_t key_ref,
+                                      struct task_struct *context,
+                                      key_perm_t perm)
+{
+       return 0;
+}
+#endif /* CONFIG_KEYS */
 
 struct security_operations dummy_security_ops;
 
@@ -886,20 +870,15 @@ void security_fixup_ops (struct security_operations *ops)
        set_to_dummy_if_null(ops, sb_post_pivotroot);
        set_to_dummy_if_null(ops, inode_alloc_security);
        set_to_dummy_if_null(ops, inode_free_security);
+       set_to_dummy_if_null(ops, inode_init_security);
        set_to_dummy_if_null(ops, inode_create);
-       set_to_dummy_if_null(ops, inode_post_create);
        set_to_dummy_if_null(ops, inode_link);
-       set_to_dummy_if_null(ops, inode_post_link);
        set_to_dummy_if_null(ops, inode_unlink);
        set_to_dummy_if_null(ops, inode_symlink);
-       set_to_dummy_if_null(ops, inode_post_symlink);
        set_to_dummy_if_null(ops, inode_mkdir);
-       set_to_dummy_if_null(ops, inode_post_mkdir);
        set_to_dummy_if_null(ops, inode_rmdir);
        set_to_dummy_if_null(ops, inode_mknod);
-       set_to_dummy_if_null(ops, inode_post_mknod);
        set_to_dummy_if_null(ops, inode_rename);
-       set_to_dummy_if_null(ops, inode_post_rename);
        set_to_dummy_if_null(ops, inode_readlink);
        set_to_dummy_if_null(ops, inode_follow_link);
        set_to_dummy_if_null(ops, inode_permission);
@@ -992,5 +971,11 @@ void security_fixup_ops (struct security_operations *ops)
        set_to_dummy_if_null(ops, sk_alloc_security);
        set_to_dummy_if_null(ops, sk_free_security);
 #endif /* CONFIG_SECURITY_NETWORK */
+#ifdef CONFIG_KEYS
+       set_to_dummy_if_null(ops, key_alloc);
+       set_to_dummy_if_null(ops, key_free);
+       set_to_dummy_if_null(ops, key_permission);
+#endif /* CONFIG_KEYS */
+
 }