summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2009-04-14 16:27:36 +0200
committerYury Usishchev <y.usishchev@samsung.com>2014-12-10 13:47:57 +0300
commit9a55b1111955914bad2b347190bd82c2535836cc (patch)
treef6d6c050fede3c140bd3b1abe966d8a520733279
parent3ca2975347d0f9d18346ba41d7de2c839360aefa (diff)
downloadqemu-9a55b1111955914bad2b347190bd82c2535836cc.tar.gz
qemu-9a55b1111955914bad2b347190bd82c2535836cc.tar.bz2
qemu-9a55b1111955914bad2b347190bd82c2535836cc.zip
qemu-cvs-ioctl_nodirection
the direction given in the ioctl should be correct so we can assume the communication is uni-directional. The alsa developers did not like this concept though and declared ioctls IOC_R and IOC_W even though they were IOC_RW. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Ulrich Hecht <uli@suse.de>
-rw-r--r--linux-user/syscall.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ea8e4dda2..f6187cec1 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -3878,6 +3878,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
arg_type++;
target_size = thunk_type_size(arg_type, 0);
switch(ie->access) {
+ /* FIXME: actually the direction given in the ioctl should be
+ * correct so we can assume the communication is uni-directional.
+ * The alsa developers did not like this concept though and
+ * declared ioctls IOC_R and IOC_W even though they were IOC_RW.*/
+/*
case IOC_R:
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
if (!is_error(ret)) {
@@ -3896,6 +3901,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
unlock_user(argptr, arg, 0);
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
break;
+*/
default:
case IOC_RW:
argptr = lock_user(VERIFY_READ, arg, target_size, 1);