diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:15:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:15:33 -0500 |
commit | 0f2cc4ecd81dc1917a041dc93db0ada28f8356fa (patch) | |
tree | f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3 /init | |
parent | 1fae4cfb97302289bb5df6a8195eb28385d0b002 (diff) | |
parent | 9643f5d94aadd47a5fa9754fb60f2c957de05903 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
init: Open /dev/console from rootfs
mqueue: fix typo "failues" -> "failures"
mqueue: only set error codes if they are really necessary
mqueue: simplify do_open() error handling
mqueue: apply mathematics distributivity on mq_bytes calculation
mqueue: remove unneeded info->messages initialization
mqueue: fix mq_open() file descriptor leak on user-space processes
fix race in d_splice_alias()
set S_DEAD on unlink() and non-directory rename() victims
vfs: add NOFOLLOW flag to umount(2)
get rid of ->mnt_parent in tomoyo/realpath
hppfs can use existing proc_mnt, no need for do_kern_mount() in there
Mirror MS_KERNMOUNT in ->mnt_flags
get rid of useless vfsmount_lock use in put_mnt_ns()
Take vfsmount_lock to fs/internal.h
get rid of insanity with namespace roots in tomoyo
take check for new events in namespace (guts of mounts_poll()) to namespace.c
Don't mess with generic_permission() under ->d_lock in hpfs
sanitize const/signedness for udf
nilfs: sanitize const/signedness in dealing with ->d_name.name
...
Fix up fairly trivial (famous last words...) conflicts in
drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c
Diffstat (limited to 'init')
-rw-r--r-- | init/do_mounts_initrd.c | 4 | ||||
-rw-r--r-- | init/main.c | 11 |
2 files changed, 6 insertions, 9 deletions
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index 614241b5200c..2b108538d0d9 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c | |||
@@ -30,11 +30,7 @@ static int __init do_linuxrc(void * shell) | |||
30 | extern char * envp_init[]; | 30 | extern char * envp_init[]; |
31 | 31 | ||
32 | sys_close(old_fd);sys_close(root_fd); | 32 | sys_close(old_fd);sys_close(root_fd); |
33 | sys_close(0);sys_close(1);sys_close(2); | ||
34 | sys_setsid(); | 33 | sys_setsid(); |
35 | (void) sys_open("/dev/console",O_RDWR,0); | ||
36 | (void) sys_dup(0); | ||
37 | (void) sys_dup(0); | ||
38 | return kernel_execve(shell, argv, envp_init); | 34 | return kernel_execve(shell, argv, envp_init); |
39 | } | 35 | } |
40 | 36 | ||
diff --git a/init/main.c b/init/main.c index 18098153c331..40aaa020cd68 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -822,11 +822,6 @@ static noinline int init_post(void) | |||
822 | system_state = SYSTEM_RUNNING; | 822 | system_state = SYSTEM_RUNNING; |
823 | numa_default_policy(); | 823 | numa_default_policy(); |
824 | 824 | ||
825 | if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) | ||
826 | printk(KERN_WARNING "Warning: unable to open an initial console.\n"); | ||
827 | |||
828 | (void) sys_dup(0); | ||
829 | (void) sys_dup(0); | ||
830 | 825 | ||
831 | current->signal->flags |= SIGNAL_UNKILLABLE; | 826 | current->signal->flags |= SIGNAL_UNKILLABLE; |
832 | 827 | ||
@@ -889,6 +884,12 @@ static int __init kernel_init(void * unused) | |||
889 | 884 | ||
890 | do_basic_setup(); | 885 | do_basic_setup(); |
891 | 886 | ||
887 | /* Open the /dev/console on the rootfs, this should never fail */ | ||
888 | if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) | ||
889 | printk(KERN_WARNING "Warning: unable to open an initial console.\n"); | ||
890 | |||
891 | (void) sys_dup(0); | ||
892 | (void) sys_dup(0); | ||
892 | /* | 893 | /* |
893 | * check if there is an early userspace init. If yes, let it do all | 894 | * check if there is an early userspace init. If yes, let it do all |
894 | * the work | 895 | * the work |