summaryrefslogtreecommitdiff
path: root/console-tools/setconsole.c
diff options
context:
space:
mode:
authorPeter Korsgaard2011-05-26 17:51:37 +0200
committerDenys Vlasenko2011-05-29 01:51:33 +0200
commit8dc6195c97e6bfc70a0158bce40c87d74d1a83d6 (patch)
tree3e428027ff4670b245da7f21ae726d5cb800df14 /console-tools/setconsole.c
parentabb0952e63ed09a5bd5d73346305f6403b45d47d (diff)
downloadbusybox-8dc6195c97e6bfc70a0158bce40c87d74d1a83d6.zip
busybox-8dc6195c97e6bfc70a0158bce40c87d74d1a83d6.tar.gz
setconsole: open console for writing rather than reading
The console passed to TIOCCONS has to be writable, otherwise future console writes will fail. This presumably used to work, but in current kernels (see drivers/tty/tty_io.c:redirected_tty_write) console writes are sent to vfs_write(device), which checks if the device is writable. A quick look in the linux git history doesn't show any recent changes to either tty_io or vfs_write. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'console-tools/setconsole.c')
-rw-r--r--console-tools/setconsole.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/console-tools/setconsole.c b/console-tools/setconsole.c
index 59c8336..771974a 100644
--- a/console-tools/setconsole.c
+++ b/console-tools/setconsole.c
@@ -41,6 +41,6 @@ int setconsole_main(int argc UNUSED_PARAM, char **argv)
device = DEV_CONSOLE;
}
- xioctl(xopen(device, O_RDONLY), TIOCCONS, NULL);
+ xioctl(xopen(device, O_WRONLY), TIOCCONS, NULL);
return EXIT_SUCCESS;
}