Skip to content
  • Miklos Szeredi's avatar
    fuse: fix ioctl when server is 32bit · d9d318d3
    Miklos Szeredi authored
    
    
    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: default avatar"ccmail111" <ccmail111@yahoo.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
    CC: Tejun Heo <tj@kernel.org>
    CC: <stable@kernel.org>         [2.6.31+]
    d9d318d3