mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00:00
Merge branch 'linus' into core/rcu
Merge reason: Avoid fuzz in init/main.c and update from rc6 to rc8. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
commit
29e2035bdd
448 changed files with 5258 additions and 3114 deletions
|
@ -426,7 +426,6 @@ static struct mm_struct * mm_init(struct mm_struct * mm, struct task_struct *p)
|
|||
init_rwsem(&mm->mmap_sem);
|
||||
INIT_LIST_HEAD(&mm->mmlist);
|
||||
mm->flags = (current->mm) ? current->mm->flags : default_dump_filter;
|
||||
mm->oom_adj = (current->mm) ? current->mm->oom_adj : 0;
|
||||
mm->core_state = NULL;
|
||||
mm->nr_ptes = 0;
|
||||
set_mm_counter(mm, file_rss, 0);
|
||||
|
@ -816,11 +815,8 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk)
|
|||
{
|
||||
struct signal_struct *sig;
|
||||
|
||||
if (clone_flags & CLONE_THREAD) {
|
||||
atomic_inc(¤t->signal->count);
|
||||
atomic_inc(¤t->signal->live);
|
||||
if (clone_flags & CLONE_THREAD)
|
||||
return 0;
|
||||
}
|
||||
|
||||
sig = kmem_cache_alloc(signal_cachep, GFP_KERNEL);
|
||||
tsk->signal = sig;
|
||||
|
@ -878,16 +874,6 @@ void __cleanup_signal(struct signal_struct *sig)
|
|||
kmem_cache_free(signal_cachep, sig);
|
||||
}
|
||||
|
||||
static void cleanup_signal(struct task_struct *tsk)
|
||||
{
|
||||
struct signal_struct *sig = tsk->signal;
|
||||
|
||||
atomic_dec(&sig->live);
|
||||
|
||||
if (atomic_dec_and_test(&sig->count))
|
||||
__cleanup_signal(sig);
|
||||
}
|
||||
|
||||
static void copy_flags(unsigned long clone_flags, struct task_struct *p)
|
||||
{
|
||||
unsigned long new_flags = p->flags;
|
||||
|
@ -1237,6 +1223,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
|
|||
}
|
||||
|
||||
if (clone_flags & CLONE_THREAD) {
|
||||
atomic_inc(¤t->signal->count);
|
||||
atomic_inc(¤t->signal->live);
|
||||
p->group_leader = current->group_leader;
|
||||
list_add_tail_rcu(&p->thread_group, &p->group_leader->thread_group);
|
||||
}
|
||||
|
@ -1280,7 +1268,8 @@ bad_fork_cleanup_mm:
|
|||
if (p->mm)
|
||||
mmput(p->mm);
|
||||
bad_fork_cleanup_signal:
|
||||
cleanup_signal(p);
|
||||
if (!(clone_flags & CLONE_THREAD))
|
||||
__cleanup_signal(p->signal);
|
||||
bad_fork_cleanup_sighand:
|
||||
__cleanup_sighand(p->sighand);
|
||||
bad_fork_cleanup_fs:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue