提交 ce60a2f1 编写于 作者: M Miklos Szeredi

fuse: fix argument type in fuse_get_user_pages()

Fix the following warning:

fs/fuse/file.c: In function 'fuse_direct_io':
fs/fuse/file.c:1002: warning: passing argument 3 of 'fuse_get_user_pages' from incompatible pointer type

This was introduced by commit f4975c67 "fuse: allow kernel to access
"direct_io" files".
Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
上级 f4efdd65
...@@ -938,9 +938,9 @@ static void fuse_release_user_pages(struct fuse_req *req, int write) ...@@ -938,9 +938,9 @@ static void fuse_release_user_pages(struct fuse_req *req, int write)
} }
static int fuse_get_user_pages(struct fuse_req *req, const char __user *buf, static int fuse_get_user_pages(struct fuse_req *req, const char __user *buf,
unsigned *nbytesp, int write) size_t *nbytesp, int write)
{ {
unsigned nbytes = *nbytesp; size_t nbytes = *nbytesp;
unsigned long user_addr = (unsigned long) buf; unsigned long user_addr = (unsigned long) buf;
unsigned offset = user_addr & ~PAGE_MASK; unsigned offset = user_addr & ~PAGE_MASK;
int npages; int npages;
...@@ -955,7 +955,7 @@ static int fuse_get_user_pages(struct fuse_req *req, const char __user *buf, ...@@ -955,7 +955,7 @@ static int fuse_get_user_pages(struct fuse_req *req, const char __user *buf,
return 0; return 0;
} }
nbytes = min(nbytes, (unsigned) FUSE_MAX_PAGES_PER_REQ << PAGE_SHIFT); nbytes = min_t(size_t, nbytes, FUSE_MAX_PAGES_PER_REQ << PAGE_SHIFT);
npages = (nbytes + offset + PAGE_SIZE - 1) >> PAGE_SHIFT; npages = (nbytes + offset + PAGE_SIZE - 1) >> PAGE_SHIFT;
npages = clamp(npages, 1, FUSE_MAX_PAGES_PER_REQ); npages = clamp(npages, 1, FUSE_MAX_PAGES_PER_REQ);
down_read(&current->mm->mmap_sem); down_read(&current->mm->mmap_sem);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册