dazuko-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dazuko-help] For Comment 2.6.27


From: Gregory Hinton Nietsky
Subject: [Dazuko-help] For Comment 2.6.27
Date: Thu, 25 Sep 2008 18:34:41 +0200
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)


hi there here is a diff to 2.6.26.5 it seems in order ill post any
updates ...

been a while since ive contributed things are fantastic with Dazuko

Regards Greg


--
This message has been scanned for viruses and
dangerous content by Network Sentry, and is believed to be clean.
http://www.dialandsave.co.za

diff --git a/security/dazuko/dazuko_linux26.c b/security/dazuko/dazuko_linux26.c
index 90b289c..0664052 100644
--- a/security/dazuko/dazuko_linux26.c
+++ b/security/dazuko/dazuko_linux26.c
@@ -668,8 +668,7 @@ inline int xp_sys_hook()
        }
 
        dazuko_class = class_create(THIS_MODULE, DEVICE_NAME);
-       device_create(dazuko_class, NULL, MKDEV(dev_major, 0), DEVICE_NAME);
-
+       device_create_drvdata(dazuko_class, NULL, MKDEV(dev_major, 0), NULL, 
DEVICE_NAME);
        return 0;
 }
 
diff --git a/security/dazuko/dazuko_linux26.h b/security/dazuko/dazuko_linux26.h
index 426a187..24406ec 100644
--- a/security/dazuko/dazuko_linux26.h
+++ b/security/dazuko/dazuko_linux26.h
@@ -24,7 +24,7 @@
 #define DAZUKO_LINUX26_H
 
 #include <linux/module.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 #define        DEVICE_NAME             "dazuko"
 
diff --git a/security/dazuko/hooks.c b/security/dazuko/hooks.c
index b1e3783..340966c 100644
--- a/security/dazuko/hooks.c
+++ b/security/dazuko/hooks.c
@@ -23,9 +23,9 @@
 #include <linux/version.h>
 #include <linux/security.h>
 
-int dazuko_sys_generic(struct inode *inode, int mask, struct nameidata *nd);
+int dazuko_sys_generic(struct inode *inode, int mask);
 
-extern struct security_operations dummy_security_ops;
+extern struct security_operations default_security_ops;
 extern struct security_operations *security_ops;
 
 /* Original (dummy) security module. */
@@ -35,21 +35,25 @@ static struct security_operations *original_ops = NULL;
    just to allow the use of the dummy or capability modules. */
 static struct security_operations *secondary_ops = NULL;
 
-static int dazuko_inode_permission(struct inode *inode, int mask,
-                                   struct nameidata *nd)
+static int dazuko_inode_permission(struct inode *inode, int mask)
 { 
        int rc;
 
-       rc = dazuko_sys_generic(inode, mask, nd);
+       rc = dazuko_sys_generic(inode, mask);
        if (rc)
                return rc;
 
-       return secondary_ops->inode_permission(inode, mask, nd);
+       return secondary_ops->inode_permission(inode, mask);
 }
 
-static int dazuko_ptrace(struct task_struct *parent, struct task_struct *child)
+static int dazuko_ptrace_may_access(struct task_struct *child, unsigned int 
mode)
 {
-       return secondary_ops->ptrace(parent, child);
+       return secondary_ops->ptrace_may_access(child, mode);
+}
+
+static int dazuko_ptrace_traceme(struct task_struct *parent)
+{
+       return secondary_ops->ptrace_traceme(parent);
 }
 
 static int dazuko_capget(struct task_struct *target, kernel_cap_t *effective,
@@ -110,13 +114,13 @@ static int dazuko_bprm_secureexec(struct linux_binprm 
*bprm)
        return secondary_ops->bprm_secureexec(bprm);
 }
 
-static int dazuko_inode_setxattr(struct dentry *dentry, char *name,
-                                 void *value, size_t size, int flags)
+static int dazuko_inode_setxattr(struct dentry *dentry, const char *name,
+                                 const void *value, size_t size, int flags)
 {
        return secondary_ops->inode_setxattr(dentry, name, value, size, flags);
 }
 
-static int dazuko_inode_removexattr(struct dentry *dentry, char *name)
+static int dazuko_inode_removexattr(struct dentry *dentry, const char *name)
 {
        return secondary_ops->inode_removexattr(dentry, name);
 }
@@ -173,29 +177,11 @@ static int dazuko_vm_enough_memory(struct mm_struct *mm, 
long pages)
        return secondary_ops->vm_enough_memory(mm, pages);
 }
 
-static int dazuko_register_security(const char *name,
-                                    struct security_operations *ops)
-{
-       if (secondary_ops != original_ops) {
-               printk(KERN_ERR "%s:  There is already a secondary security "
-                      "module registered.\n", __FUNCTION__);
-               return -EINVAL;
-       }
-
-       secondary_ops = ops;
-
-       printk(KERN_INFO "%s:  Registering secondary module %s\n",
-              __FUNCTION__,
-              name);
-
-       return 0;
-}
-
 static struct security_operations dazuko_security_ops = {
-       .register_security =            dazuko_register_security,
        .inode_permission =             dazuko_inode_permission,
 
-       .ptrace =                       dazuko_ptrace,
+       .ptrace_traceme =               dazuko_ptrace_traceme,
+       .ptrace_may_access =            dazuko_ptrace_may_access,
        .capget =                       dazuko_capget,
        .capset_check =                 dazuko_capset_check,
        .capset_set =                   dazuko_capset_set,
@@ -228,13 +214,10 @@ static struct security_operations dazuko_security_ops = {
 int dazuko_register(const char *device_name)
 {
        original_ops = security_ops;
-       secondary_ops = &dummy_security_ops;
+       secondary_ops = &default_security_ops;
 
        if (register_security(&dazuko_security_ops) == 0)
                return 1;
 
-       if (mod_reg_security(device_name, &dazuko_security_ops) == 0)
-               return 2;
-
        return 0;
 }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]