summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2011-05-26 15:51:37 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2011-05-28 23:51:33 (GMT)
commit8dc6195c97e6bfc70a0158bce40c87d74d1a83d6 (patch)
tree3e428027ff4670b245da7f21ae726d5cb800df14
parentabb0952e63ed09a5bd5d73346305f6403b45d47d (diff)
downloadbusybox-8dc6195c97e6bfc70a0158bce40c87d74d1a83d6.tar.gz
busybox-8dc6195c97e6bfc70a0158bce40c87d74d1a83d6.tar.bz2
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>
-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;
}