PROBLEM: Kernel oops when mounting a encryptData CIFS share with CONFIG_DEBUG_VIRTUAL
Steve French
smfrench at gmail.com
Thu Aug 1 17:13:23 UTC 2019
Sebastien,
I cleaned up the patch and merged into cifs-2.6.git - can you
doublecheck it is correct?
On Thu, Jul 25, 2019 at 3:35 PM Pavel Shilovsky
<pavel.shilovsky at gmail.com> wrote:
>
> чт, 25 июл. 2019 г. в 09:57, Sebastien Tisserant via samba-technical
> <samba-technical at lists.samba.org>:
> ...
> >
> > mount works without CONFIG_DEBUG_VIRTUAL
> >
> > If we don't set CONFIG_VMAP_STACK mount works with CONFIG_DEBUG_VIRTUAL
> >
> >
> > We have the following (very quick and dirty) patch :
> >
> > Index: linux-4.19.60/fs/cifs/smb2ops.c
> > ===================================================================
> > --- linux-4.19.60.orig/fs/cifs/smb2ops.c
> > +++ linux-4.19.60/fs/cifs/smb2ops.c
> > @@ -2545,7 +2545,15 @@ fill_transform_hdr(struct smb2_transform
> > 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.
> >
> >
>
> Thanks for reporting this. The patch looks good to me. Did you test
> your scenario all together with it (not only mounting)?
>
>
> Best regards,
> Pavel Shilovskiy
--
Thanks,
Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-SMB3-Kernel-oops-mounting-a-encryptData-share-with-C.patch
Type: text/x-patch
Size: 1276 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20190801/f3511768/0001-SMB3-Kernel-oops-mounting-a-encryptData-share-with-C.bin>
More information about the samba-technical
mailing list