diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-10-28 15:40:58 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-30 16:34:17 -0700 |
commit | fc8162e3c034af743d8def435fda6396603d321f (patch) | |
tree | b003a652740eb0de1fe71c634618b6666e9bae3c /fs | |
parent | f4a3fc03c1d73753879fb655b8cd628b29f6706b (diff) | |
download | op-kernel-dev-fc8162e3c034af743d8def435fda6396603d321f.zip op-kernel-dev-fc8162e3c034af743d8def435fda6396603d321f.tar.gz |
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 'fs')
0 files changed, 0 insertions, 0 deletions