lkml.org 
[lkml]   [2019]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 40/98] SMB3: Kernel oops mounting a encryptData share with CONFIG_DEBUG_VIRTUAL
    Date
    [ 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 | 10 +++++++++-
    1 file changed, 9 insertions(+), 1 deletion(-)

    diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
    index 97fdbec54db97..cc9e846a38658 100644
    --- 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.
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-08-27 10:14    [W:8.254 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site