projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fab5a1f
)
SMB3: Kernel oops mounting a encryptData share with CONFIG_DEBUG_VIRTUAL
author
Sebastien Tisserant
<stisserant@wallix.com>
Thu, 1 Aug 2019 17:06:08 +0000
(12:06 -0500)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 29 Aug 2019 06:28:41 +0000
(08:28 +0200)
[ Upstream commit
ee9d66182392695535cc9fccfcb40c16f72de2a9
]
Fix kernel oops when mounting a encryptData CIFS share with
CONFIG_DEBUG_VIRTUAL
Signed-off-by: Sebastien Tisserant <stisserant@wallix.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/cifs/smb2ops.c
patch
|
blob
|
history
diff --git
a/fs/cifs/smb2ops.c
b/fs/cifs/smb2ops.c
index
97fdbec
..
cc9e846
100644
(file)
--- a/
fs/cifs/smb2ops.c
+++ b/
fs/cifs/smb2ops.c
@@
-2545,7
+2545,15
@@
fill_transform_hdr(struct smb2_transform_hdr *tr_hdr, unsigned int orig_len,
static inline void smb2_sg_set_buf(struct scatterlist *sg, const void *buf,
unsigned int buflen)
{
- sg_set_page(sg, virt_to_page(buf), buflen, offset_in_page(buf));
+ void *addr;
+ /*
+ * VMAP_STACK (at least) puts stack into the vmalloc address space
+ */
+ if (is_vmalloc_addr(buf))
+ addr = vmalloc_to_page(buf);
+ else
+ addr = virt_to_page(buf);
+ sg_set_page(sg, addr, buflen, offset_in_page(buf));
}
/* Assumes the first rqst has a transform header as the first iov.