mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
fuse: fix return value of fuse_dev_write()
On 64 bit systems -- where sizeof(ssize_t) > sizeof(int) -- the following test exposes a bug due to a non-careful return of an int or unsigned value: implement a FUSE filesystem which sends an unsolicited notification to the kernel with invalid opcode. The respective write to /dev/fuse will return (1 << 32) - EINVAL with errno == 0 instead of -1 with errno == EINVAL. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> CC: stable@kernel.org
This commit is contained in:
parent
28d0325ce6
commit
b4c458b3a2
1 changed files with 1 additions and 1 deletions
|
@ -910,7 +910,7 @@ static ssize_t fuse_dev_write(struct kiocb *iocb, const struct iovec *iov,
|
|||
unsigned long nr_segs, loff_t pos)
|
||||
{
|
||||
int err;
|
||||
unsigned nbytes = iov_length(iov, nr_segs);
|
||||
size_t nbytes = iov_length(iov, nr_segs);
|
||||
struct fuse_req *req;
|
||||
struct fuse_out_header oh;
|
||||
struct fuse_copy_state cs;
|
||||
|
|
Loading…
Reference in a new issue