git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
fs
/
binfmt_misc.c
diff --git
a/fs/binfmt_misc.c
b/fs/binfmt_misc.c
index
66ba137
..
c2e0825
100644
(file)
--- a/
fs/binfmt_misc.c
+++ b/
fs/binfmt_misc.c
@@
-215,10
+215,8
@@
_error:
bprm->interp_flags = 0;
bprm->interp_data = 0;
_unshare:
bprm->interp_flags = 0;
bprm->interp_data = 0;
_unshare:
- if (files) {
- put_files_struct(current->files);
- current->files = files;
- }
+ if (files)
+ reset_files_struct(current, files);
goto _ret;
}
goto _ret;
}
@@
-313,7
+311,7
@@
static Node *create_entry(const char __user *buffer, size_t count)
err = -ENOMEM;
memsize = sizeof(Node) + count + 8;
err = -ENOMEM;
memsize = sizeof(Node) + count + 8;
- e =
(Node *)
kmalloc(memsize, GFP_USER);
+ e = kmalloc(memsize, GFP_USER);
if (!e)
goto out;
if (!e)
goto out;
@@
-544,7
+542,7
@@
static void kill_node(Node *e)
static ssize_t
bm_entry_read(struct file * file, char __user * buf, size_t nbytes, loff_t *ppos)
{
static ssize_t
bm_entry_read(struct file * file, char __user * buf, size_t nbytes, loff_t *ppos)
{
- Node *e = file->f_dentry->d_inode->i_private;
+ Node *e = file->f_
path.
dentry->d_inode->i_private;
loff_t pos = *ppos;
ssize_t res;
char *page;
loff_t pos = *ppos;
ssize_t res;
char *page;
@@
-578,7
+576,7
@@
static ssize_t bm_entry_write(struct file *file, const char __user *buffer,
size_t count, loff_t *ppos)
{
struct dentry *root;
size_t count, loff_t *ppos)
{
struct dentry *root;
- Node *e = file->f_dentry->d_inode->i_private;
+ Node *e = file->f_
path.
dentry->d_inode->i_private;
int res = parse_command(buffer, count);
switch (res) {
int res = parse_command(buffer, count);
switch (res) {
@@
-586,7
+584,7
@@
static ssize_t bm_entry_write(struct file *file, const char __user *buffer,
break;
case 2: set_bit(Enabled, &e->flags);
break;
break;
case 2: set_bit(Enabled, &e->flags);
break;
- case 3: root = dget(file->f_
vfs
mnt->mnt_sb->s_root);
+ case 3: root = dget(file->f_
path.
mnt->mnt_sb->s_root);
mutex_lock(&root->d_inode->i_mutex);
kill_node(e);
mutex_lock(&root->d_inode->i_mutex);
kill_node(e);
@@
-612,7
+610,7
@@
static ssize_t bm_register_write(struct file *file, const char __user *buffer,
Node *e;
struct inode *inode;
struct dentry *root, *dentry;
Node *e;
struct inode *inode;
struct dentry *root, *dentry;
- struct super_block *sb = file->f_
vfs
mnt->mnt_sb;
+ struct super_block *sb = file->f_
path.
mnt->mnt_sb;
int err = 0;
e = create_entry(buffer, count);
int err = 0;
e = create_entry(buffer, count);
@@
-701,7
+699,7
@@
static ssize_t bm_status_write(struct file * file, const char __user * buffer,
switch (res) {
case 1: enabled = 0; break;
case 2: enabled = 1; break;
switch (res) {
case 1: enabled = 0; break;
case 2: enabled = 1; break;
- case 3: root = dget(file->f_
vfs
mnt->mnt_sb->s_root);
+ case 3: root = dget(file->f_
path.
mnt->mnt_sb->s_root);
mutex_lock(&root->d_inode->i_mutex);
while (!list_empty(&entries))
mutex_lock(&root->d_inode->i_mutex);
while (!list_empty(&entries))