diff options
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 083bf8953ce8..49530e40ea8b 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1422,12 +1422,15 @@ long do_fork(unsigned long clone_flags, | |||
1422 | #define ARCH_MIN_MMSTRUCT_ALIGN 0 | 1422 | #define ARCH_MIN_MMSTRUCT_ALIGN 0 |
1423 | #endif | 1423 | #endif |
1424 | 1424 | ||
1425 | static void sighand_ctor(void *data, struct kmem_cache *cachep, unsigned long flags) | 1425 | static void sighand_ctor(void *data, struct kmem_cache *cachep, |
1426 | unsigned long flags) | ||
1426 | { | 1427 | { |
1427 | struct sighand_struct *sighand = data; | 1428 | struct sighand_struct *sighand = data; |
1428 | 1429 | ||
1429 | if (flags & SLAB_CTOR_CONSTRUCTOR) | 1430 | if (flags & SLAB_CTOR_CONSTRUCTOR) { |
1430 | spin_lock_init(&sighand->siglock); | 1431 | spin_lock_init(&sighand->siglock); |
1432 | INIT_LIST_HEAD(&sighand->signalfd_list); | ||
1433 | } | ||
1431 | } | 1434 | } |
1432 | 1435 | ||
1433 | void __init proc_caches_init(void) | 1436 | void __init proc_caches_init(void) |
@@ -1453,7 +1456,6 @@ void __init proc_caches_init(void) | |||
1453 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); | 1456 | SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); |
1454 | } | 1457 | } |
1455 | 1458 | ||
1456 | |||
1457 | /* | 1459 | /* |
1458 | * Check constraints on flags passed to the unshare system call and | 1460 | * Check constraints on flags passed to the unshare system call and |
1459 | * force unsharing of additional process context as appropriate. | 1461 | * force unsharing of additional process context as appropriate. |