cifs: Pass a pointer to virt_to_page()
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 24 Mar 2023 10:17:48 +0000 (11:17 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 29 May 2023 09:27:08 +0000 (11:27 +0200)
Like the other calls in this function virt_to_page() expects
a pointer, not an integer.

However since many architectures implement virt_to_pfn() as
a macro, this function becomes polymorphic and accepts both a
(unsigned long) and a (void *).

Fix this up with an explicit cast.

Acked-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
fs/cifs/smbdirect.c

index 0362ebd4fa0fc2c50176937d04848bc62b58584c..964f07375a8d4154876486443fc156e0d345fb33 100644 (file)
@@ -2500,7 +2500,7 @@ static ssize_t smb_extract_kvec_to_rdma(struct iov_iter *iter,
                        if (is_vmalloc_or_module_addr((void *)kaddr))
                                page = vmalloc_to_page((void *)kaddr);
                        else
-                               page = virt_to_page(kaddr);
+                               page = virt_to_page((void *)kaddr);
 
                        if (!smb_set_sge(rdma, page, off, seg))
                                return -EIO;