diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-10-28 17:40:58 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-31 01:34:17 +0200 |
commit | fc8162e3c034af743d8def435fda6396603d321f (patch) | |
tree | b003a652740eb0de1fe71c634618b6666e9bae3c /net/rds/send.c | |
parent | RDS: Clean up error handling in rds_cmsg_rdma_args (diff) | |
download | linux-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