linux-uconsole/fs/fuse
Miklos Szeredi e60a1892ca fuse: fix ioctl when server is 32bit
commit d9d318d39d upstream.

If a 32bit CUSE server is run on 64bit this results in EIO being
returned to the caller.

The reason is that FUSE_IOCTL_RETRY reply was defined to use 'struct
iovec', which is different on 32bit and 64bit archs.

Work around this by looking at the size of the reply to determine
which struct was used.  This is only needed if CONFIG_COMPAT is
defined.

A more permanent fix for the interface will be to use the same struct
on both 32bit and 64bit.

Reported-by: "ccmail111" <ccmail111@yahoo.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
CC: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 13:58:13 -08:00
..
control.c fuse: add fusectl interface to max_background 2009-09-16 14:15:29 +02:00
cuse.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dev.c fuse: Initialize total_len in fuse_retrieve() 2010-10-04 10:45:32 +02:00
dir.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
file.c fuse: fix ioctl when server is 32bit 2011-01-07 13:58:13 -08:00
fuse_i.h fuse: add retrieve request 2010-07-12 14:41:40 +02:00
inode.c convert remaining ->clear_inode() to ->evict_inode() 2010-08-09 16:48:37 -04:00
Kconfig fs/Kconfig: move fuse out 2009-01-22 13:15:55 +03:00
Makefile CUSE: implement CUSE - Character device in Userspace 2009-06-09 11:24:11 +02:00