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
nfsd: fix b0rken error value for setattr on read-only mount
[pandora-kernel.git]
/
fs
/
exec.c
diff --git
a/fs/exec.c
b/fs/exec.c
index
c8b63d1
..
b1fd202
100644
(file)
--- a/
fs/exec.c
+++ b/
fs/exec.c
@@
-1028,10
+1028,10
@@
static void flush_old_files(struct files_struct * files)
fdt = files_fdtable(files);
if (i >= fdt->max_fds)
break;
fdt = files_fdtable(files);
if (i >= fdt->max_fds)
break;
- set = fdt->close_on_exec
->fds_bits
[j];
+ set = fdt->close_on_exec[j];
if (!set)
continue;
if (!set)
continue;
- fdt->close_on_exec
->fds_bits
[j] = 0;
+ fdt->close_on_exec[j] = 0;
spin_unlock(&files->file_lock);
for ( ; set ; i++,set >>= 1) {
if (set & 1) {
spin_unlock(&files->file_lock);
for ( ; set ; i++,set >>= 1) {
if (set & 1) {
@@
-1371,7
+1371,7
@@
int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
unsigned int depth = bprm->recursion_depth;
int try,retval;
struct linux_binfmt *fmt;
unsigned int depth = bprm->recursion_depth;
int try,retval;
struct linux_binfmt *fmt;
- pid_t old_pid;
+ pid_t old_pid
, old_vpid
;
retval = security_bprm_check(bprm);
if (retval)
retval = security_bprm_check(bprm);
if (retval)
@@
-1382,8
+1382,9
@@
int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
return retval;
/* Need to fetch pid before load_binary changes it */
return retval;
/* Need to fetch pid before load_binary changes it */
+ old_pid = current->pid;
rcu_read_lock();
rcu_read_lock();
- old_pid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
+ old_
v
pid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
rcu_read_unlock();
retval = -ENOENT;
rcu_read_unlock();
retval = -ENOENT;
@@
-1406,7
+1407,7
@@
int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
if (retval >= 0) {
if (depth == 0) {
trace_sched_process_exec(current, old_pid, bprm);
if (retval >= 0) {
if (depth == 0) {
trace_sched_process_exec(current, old_pid, bprm);
- ptrace_event(PTRACE_EVENT_EXEC, old_pid);
+ ptrace_event(PTRACE_EVENT_EXEC, old_
v
pid);
}
put_binfmt(fmt);
allow_write_access(bprm->file);
}
put_binfmt(fmt);
allow_write_access(bprm->file);
@@
-2067,8
+2068,8
@@
static int umh_pipe_setup(struct subprocess_info *info, struct cred *new)
fd_install(0, rp);
spin_lock(&cf->file_lock);
fdt = files_fdtable(cf);
fd_install(0, rp);
spin_lock(&cf->file_lock);
fdt = files_fdtable(cf);
-
FD_SET(0, fdt->open_fds
);
-
FD_CLR(0, fdt->close_on_exec
);
+
__set_open_fd(0, fdt
);
+
__clear_close_on_exec(0, fdt
);
spin_unlock(&cf->file_lock);
/* and disallow core files too */
spin_unlock(&cf->file_lock);
/* and disallow core files too */