[Top][All Lists]
[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;
}
- [Dazuko-help] For Comment 2.6.27,
Gregory Hinton Nietsky <=