]> www.infradead.org Git - users/jedix/linux-maple.git/commit
SDP: BUG1391 - bugs in the zero-copy send code
authorAmir Vadai <amirv@mellanox.co.il>
Mon, 17 Nov 2008 08:11:27 +0000 (10:11 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:21 +0000 (05:04 -0700)
commitf21a0bfbfc3883e979265ffc6bd07c4d3ccd10e2
tree75e32400e4e39cba0e591c8fda202894b12c9b3a
parent07da37d6146c173cdd79e653f5d91609da55d040
SDP: BUG1391 - bugs in the zero-copy send code

* fix sdp_bz_setup() code to handle the case of kernel data segment correctly (kernel sockets)
* make sdp_bz_setup() pass ENOMEM, EFAULT or other errors to sendmsg().
* Fix: the deallocation of bz descriptor in sendmsg() is not handled properly -- it is allocated many times, but freed once
* Fix: sdp_bzcopy_get() code does not raise reference count for all  pages in the bz descriptor (only the "partial" pages will get the count raised).
  However, the send completion code will call put_page() on all entries, leading to a crash for page-aligned transfers.

Signed-off-by: Constantine Gavrilov <constantine.gavrilov@gmail.com>
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_main.c