projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private
[deliverable/linux.git]
/
security
/
inode.c
diff --git
a/security/inode.c
b/security/inode.c
index a5964502ae30df2e5ab16397769866f57d919bc4..176aacea8ca4bcad7fd1d198b14e2fd9189b7cce 100644
(file)
--- a/
security/inode.c
+++ b/
security/inode.c
@@
-13,7
+13,6
@@
*/
/* #define DEBUG */
*/
/* #define DEBUG */
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/mount.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/mount.h>
@@
-45,8
+44,8
@@
static ssize_t default_write_file(struct file *file, const char __user *buf,
static int default_open(struct inode *inode, struct file *file)
{
static int default_open(struct inode *inode, struct file *file)
{
- if (inode->
u.generic_ip
)
- file->private_data = inode->
u.generic_ip
;
+ if (inode->
i_private
)
+ file->private_data = inode->
i_private
;
return 0;
}
return 0;
}
@@
-135,11
+134,11
@@
static int fill_super(struct super_block *sb, void *data, int silent)
return simple_fill_super(sb, SECURITYFS_MAGIC, files);
}
return simple_fill_super(sb, SECURITYFS_MAGIC, files);
}
-static
struct super_block *
get_sb(struct file_system_type *fs_type,
-
int flags, const char *dev_name,
-
void *data
)
+static
int
get_sb(struct file_system_type *fs_type,
+ int flags, const char *dev_name,
+
void *data, struct vfsmount *mnt
)
{
{
- return get_sb_single(fs_type, flags, data, fill_super);
+ return get_sb_single(fs_type, flags, data, fill_super
, mnt
);
}
static struct file_system_type fs_type = {
}
static struct file_system_type fs_type = {
@@
-172,7
+171,7
@@
static int create_by_name(const char *name, mode_t mode,
return -EFAULT;
}
return -EFAULT;
}
-
down(&parent->d_inode->i_sem
);
+
mutex_lock(&parent->d_inode->i_mutex
);
*dentry = lookup_one_len(name, parent, strlen(name));
if (!IS_ERR(dentry)) {
if ((mode & S_IFMT) == S_IFDIR)
*dentry = lookup_one_len(name, parent, strlen(name));
if (!IS_ERR(dentry)) {
if ((mode & S_IFMT) == S_IFDIR)
@@
-181,7
+180,7
@@
static int create_by_name(const char *name, mode_t mode,
error = create(parent->d_inode, *dentry, mode);
} else
error = PTR_ERR(dentry);
error = create(parent->d_inode, *dentry, mode);
} else
error = PTR_ERR(dentry);
-
up(&parent->d_inode->i_sem
);
+
mutex_unlock(&parent->d_inode->i_mutex
);
return error;
}
return error;
}
@@
-195,7
+194,7
@@
static int create_by_name(const char *name, mode_t mode,
* directory dentry if set. If this paramater is NULL, then the
* file will be created in the root of the securityfs filesystem.
* @data: a pointer to something that the caller will want to get to later
* directory dentry if set. If this paramater is NULL, then the
* file will be created in the root of the securityfs filesystem.
* @data: a pointer to something that the caller will want to get to later
- * on. The inode.
u.generic_ip
pointer will point to this value on
+ * on. The inode.
i_private
pointer will point to this value on
* the open() call.
* @fops: a pointer to a struct file_operations that should be used for
* this file.
* the open() call.
* @fops: a pointer to a struct file_operations that should be used for
* this file.
@@
-224,7
+223,7
@@
struct dentry *securityfs_create_file(const char *name, mode_t mode,
pr_debug("securityfs: creating file '%s'\n",name);
pr_debug("securityfs: creating file '%s'\n",name);
- error = simple_pin_fs(
"securityfs"
, &mount, &mount_count);
+ error = simple_pin_fs(
&fs_type
, &mount, &mount_count);
if (error) {
dentry = ERR_PTR(error);
goto exit;
if (error) {
dentry = ERR_PTR(error);
goto exit;
@@
-241,7
+240,7
@@
struct dentry *securityfs_create_file(const char *name, mode_t mode,
if (fops)
dentry->d_inode->i_fop = fops;
if (data)
if (fops)
dentry->d_inode->i_fop = fops;
if (data)
- dentry->d_inode->
u.generic_ip
= data;
+ dentry->d_inode->
i_private
= data;
}
exit:
return dentry;
}
exit:
return dentry;
@@
-302,7
+301,7
@@
void securityfs_remove(struct dentry *dentry)
if (!parent || !parent->d_inode)
return;
if (!parent || !parent->d_inode)
return;
-
down(&parent->d_inode->i_sem
);
+
mutex_lock(&parent->d_inode->i_mutex
);
if (positive(dentry)) {
if (dentry->d_inode) {
if (S_ISDIR(dentry->d_inode->i_mode))
if (positive(dentry)) {
if (dentry->d_inode) {
if (S_ISDIR(dentry->d_inode->i_mode))
@@
-312,7
+311,7
@@
void securityfs_remove(struct dentry *dentry)
dput(dentry);
}
}
dput(dentry);
}
}
-
up(&parent->d_inode->i_sem
);
+
mutex_unlock(&parent->d_inode->i_mutex
);
simple_release_fs(&mount, &mount_count);
}
EXPORT_SYMBOL_GPL(securityfs_remove);
simple_release_fs(&mount, &mount_count);
}
EXPORT_SYMBOL_GPL(securityfs_remove);
This page took
0.024936 seconds
and
5
git commands to generate.