linux/net/rds
Andy Grover fc8162e3c0 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>
2010-10-30 16:34:17 -07:00
..
af_rds.c RDS/IB: print string constants in more places 2010-09-08 18:16:50 -07:00
bind.c
cong.c
connection.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
ib_cm.c rds: double unlock in rds_ib_cm_handle_connect() 2010-09-19 11:59:44 -07:00
ib_rdma.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
ib_recv.c RDS/IB: print string constants in more places 2010-09-08 18:16:50 -07:00
ib_ring.c
ib_send.c RDS: Implement masked atomic operations 2010-09-08 18:16:51 -07:00
ib_stats.c
ib_sysctl.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
ib.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
ib.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
info.c
info.h
iw_cm.c
iw_rdma.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
iw_recv.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
iw_ring.c
iw_send.c
iw_stats.c
iw_sysctl.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
iw.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
iw.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
Kconfig
loop.c
loop.h
Makefile
message.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
page.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-10-21 08:43:05 -07:00
rdma_transport.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
rdma_transport.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
rdma.c RDS: Copy rds_iovecs into kernel memory instead of rereading from userspace 2010-10-30 16:34:17 -07:00
rds.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
recv.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
send.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
stats.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
sysctl.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
tcp_connect.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-27 01:03:03 -07:00
tcp_listen.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-27 01:03:03 -07:00
tcp_recv.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
tcp_send.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
tcp_stats.c
tcp.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
tcp.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
threads.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
transport.c RDS: have sockets get transport module references 2010-09-08 18:16:47 -07:00
xlist.h RDS: Remove unused XLIST_PTR_TAIL and xlist_protect() 2010-09-08 18:16:06 -07:00