git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] mutex subsystem, semaphore to mutex: VFS, ->i_sem
[pandora-kernel.git]
/
fs
/
binfmt_misc.c
diff --git
a/fs/binfmt_misc.c
b/fs/binfmt_misc.c
index
2568eb4
..
9ccc7d8
100644
(file)
--- a/
fs/binfmt_misc.c
+++ b/
fs/binfmt_misc.c
@@
-588,11
+588,11
@@
static ssize_t bm_entry_write(struct file *file, const char __user *buffer,
case 2: set_bit(Enabled, &e->flags);
break;
case 3: root = dget(file->f_vfsmnt->mnt_sb->s_root);
case 2: set_bit(Enabled, &e->flags);
break;
case 3: root = dget(file->f_vfsmnt->mnt_sb->s_root);
-
down(&root->d_inode->i_sem
);
+
mutex_lock(&root->d_inode->i_mutex
);
kill_node(e);
kill_node(e);
-
up(&root->d_inode->i_sem
);
+
mutex_unlock(&root->d_inode->i_mutex
);
dput(root);
break;
default: return res;
dput(root);
break;
default: return res;
@@
-622,7
+622,7
@@
static ssize_t bm_register_write(struct file *file, const char __user *buffer,
return PTR_ERR(e);
root = dget(sb->s_root);
return PTR_ERR(e);
root = dget(sb->s_root);
-
down(&root->d_inode->i_sem
);
+
mutex_lock(&root->d_inode->i_mutex
);
dentry = lookup_one_len(e->name, root, strlen(e->name));
err = PTR_ERR(dentry);
if (IS_ERR(dentry))
dentry = lookup_one_len(e->name, root, strlen(e->name));
err = PTR_ERR(dentry);
if (IS_ERR(dentry))
@@
-658,7
+658,7
@@
static ssize_t bm_register_write(struct file *file, const char __user *buffer,
out2:
dput(dentry);
out:
out2:
dput(dentry);
out:
-
up(&root->d_inode->i_sem
);
+
mutex_unlock(&root->d_inode->i_mutex
);
dput(root);
if (err) {
dput(root);
if (err) {
@@
-703,12
+703,12
@@
static ssize_t bm_status_write(struct file * file, const char __user * buffer,
case 1: enabled = 0; break;
case 2: enabled = 1; break;
case 3: root = dget(file->f_vfsmnt->mnt_sb->s_root);
case 1: enabled = 0; break;
case 2: enabled = 1; break;
case 3: root = dget(file->f_vfsmnt->mnt_sb->s_root);
-
down(&root->d_inode->i_sem
);
+
mutex_lock(&root->d_inode->i_mutex
);
while (!list_empty(&entries))
kill_node(list_entry(entries.next, Node, list));
while (!list_empty(&entries))
kill_node(list_entry(entries.next, Node, list));
-
up(&root->d_inode->i_sem
);
+
mutex_unlock(&root->d_inode->i_mutex
);
dput(root);
default: return res;
}
dput(root);
default: return res;
}