Skip to content
  • J. Bruce Fields's avatar
    sunrpc: don't pass on-stack memory to sg_set_buf · 2876a344
    J. Bruce Fields authored
    As of ac4e97ab
    
     "scatterlist: sg_set_buf() argument must be in linear
    mapping", sg_set_buf hits a BUG when make_checksum_v2->xdr_process_buf,
    among other callers, passes it memory on the stack.
    
    We only need a scatterlist to pass this to the crypto code, and it seems
    like overkill to require kmalloc'd memory just to encrypt a few bytes,
    but for now this seems the best fix.
    
    Many of these callers are in the NFS write paths, so we allocate with
    GFP_NOFS.  It might be possible to do without allocations here entirely,
    but that would probably be a bigger project.
    
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    2876a344