summaryrefslogtreecommitdiffstats
path: root/net/rds/send.c
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2010-10-28 17:40:58 +0200
committerDavid S. Miller <davem@davemloft.net>2010-10-31 01:34:17 +0200
commitfc8162e3c034af743d8def435fda6396603d321f (patch)
treeb003a652740eb0de1fe71c634618b6666e9bae3c /net/rds/send.c
parentRDS: Clean up error handling in rds_cmsg_rdma_args (diff)
downloadlinux-fc8162e3c034af743d8def435fda6396603d321f.tar.xz
linux-fc8162e3c034af743d8def435fda6396603d321f.zip
RDS: Copy rds_iovecs into kernel memory instead of rereading from userspace
Change rds_rdma_pages to take a passed-in rds_iovec array instead of doing copy_from_user itself. Change rds_cmsg_rdma_args to copy rds_iovec array once only. This eliminates the possibility of userspace changing it after our sanity checks. Implement stack-based storage for small numbers of iovecs, based on net/socket.c, to save an alloc in the extremely common case. Although this patch reduces iovec copies in cmsg_rdma_args to 1, we still do another one in rds_rdma_extra_size. Getting rid of that one will be trickier, so it'll be a separate patch. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/send.c')
0 files changed, 0 insertions, 0 deletions