чт, 25 июл. 2019 г. в 09:57, Sebastien Tisserant via samba-technical <samba-technical@xxxxxxxxxxxxxxx>: ... > > 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