aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2005-06-20 12:35:34 -0400
committerTony Luck <tony.luck@intel.com>2005-06-20 12:35:34 -0400
commit8ba08378b479f472b37b83542c31bdad465033cf (patch)
treef4421227b3065e786c9041cf0ce0073a249e011b /fs
parent34b727c135ff651f153be5757056d25678b6d018 (diff)
parent8b22c249e7de453961e4d253b19fc2a0bdd65d53 (diff)
Auto merge with /home/aegl/GIT/linus
Diffstat (limited to 'fs')
-rw-r--r--fs/binfmt_elf.c2
-rw-r--r--fs/exec.c16
2 files changed, 7 insertions, 11 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index c374be51b0..f8f6b6b761 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1125,7 +1125,7 @@ static int dump_write(struct file *file, const void *addr, int nr)
1125 return file->f_op->write(file, addr, nr, &file->f_pos) == nr; 1125 return file->f_op->write(file, addr, nr, &file->f_pos) == nr;
1126} 1126}
1127 1127
1128static int dump_seek(struct file *file, off_t off) 1128static int dump_seek(struct file *file, loff_t off)
1129{ 1129{
1130 if (file->f_op->llseek) { 1130 if (file->f_op->llseek) {
1131 if (file->f_op->llseek(file, off, 0) != off) 1131 if (file->f_op->llseek(file, off, 0) != off)
diff --git a/fs/exec.c b/fs/exec.c
index e56ee24370..3a4b35a14c 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -649,6 +649,7 @@ static inline int de_thread(struct task_struct *tsk)
649 } 649 }
650 sig->group_exit_task = NULL; 650 sig->group_exit_task = NULL;
651 sig->notify_count = 0; 651 sig->notify_count = 0;
652 sig->real_timer.data = (unsigned long)current;
652 spin_unlock_irq(lock); 653 spin_unlock_irq(lock);
653 654
654 /* 655 /*
@@ -675,10 +676,8 @@ static inline int de_thread(struct task_struct *tsk)
675 proc_dentry2 = proc_pid_unhash(leader); 676 proc_dentry2 = proc_pid_unhash(leader);
676 write_lock_irq(&tasklist_lock); 677 write_lock_irq(&tasklist_lock);
677 678
678 if (leader->tgid != current->tgid) 679 BUG_ON(leader->tgid != current->tgid);
679 BUG(); 680 BUG_ON(current->pid == current->tgid);
680 if (current->pid == current->tgid)
681 BUG();
682 /* 681 /*
683 * An exec() starts a new thread group with the 682 * An exec() starts a new thread group with the
684 * TGID of the previous thread group. Rehash the 683 * TGID of the previous thread group. Rehash the
@@ -726,8 +725,7 @@ static inline int de_thread(struct task_struct *tsk)
726 proc_pid_flush(proc_dentry1); 725 proc_pid_flush(proc_dentry1);
727 proc_pid_flush(proc_dentry2); 726 proc_pid_flush(proc_dentry2);
728 727
729 if (exit_state != EXIT_ZOMBIE) 728 BUG_ON(exit_state != EXIT_ZOMBIE);
730 BUG();
731 release_task(leader); 729 release_task(leader);
732 } 730 }
733 731
@@ -772,10 +770,8 @@ no_thread_group:
772 kmem_cache_free(sighand_cachep, oldsighand); 770 kmem_cache_free(sighand_cachep, oldsighand);
773 } 771 }
774 772
775 if (!thread_group_empty(current)) 773 BUG_ON(!thread_group_empty(current));
776 BUG(); 774 BUG_ON(!thread_group_leader(current));
777 if (!thread_group_leader(current))
778 BUG();
779 return 0; 775 return 0;
780} 776}
781 777