linux/net/rds
santosh.shilimkar@oracle.com e47db94e10 RDS: Fix the atomicity for congestion map update
Two different threads with different rds sockets may be in
rds_recv_rcvbuf_delta() via receive path. If their ports
both map to the same word in the congestion map, then
using non-atomic ops to update it could cause the map to
be incorrect. Lets use atomics to avoid such an issue.

Full credit to Wengang <wen.gang.wang@oracle.com> for
finding the issue, analysing it and also pointing out
to offending code with spin lock based fix.

Reviewed-by: Leon Romanovsky <leon@leon.nu>
Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-04-16 19:01:05 -04:00
..
af_rds.c
bind.c
cong.c RDS: Fix the atomicity for congestion map update 2016-04-16 19:01:05 -04:00
connection.c
ib_cm.c RDS: fix endianness for dp_ack_seq 2016-04-16 19:01:05 -04:00
ib_fmr.c RDS: IB: move FMR code to its own file 2016-03-02 14:13:18 -05:00
ib_frmr.c RDS: IB: Support Fastreg MR (FRMR) memory registration mode 2016-03-02 14:13:19 -05:00
ib_mr.h RDS: IB: Support Fastreg MR (FRMR) memory registration mode 2016-03-02 14:13:19 -05:00
ib_rdma.c RDS: IB: Support Fastreg MR (FRMR) memory registration mode 2016-03-02 14:13:19 -05:00
ib_recv.c RDS: fix congestion map corruption for PAGE_SIZE > 4k 2016-04-07 16:58:28 -04:00
ib_ring.c
ib_send.c RDS: IB: Remove the RDS_IB_SEND_OP dependency 2016-03-02 14:13:17 -05:00
ib_stats.c RDS: IB: add mr reused stats 2016-03-02 14:13:19 -05:00
ib_sysctl.c
ib.c RDS: IB: add Fastreg MR (FRMR) detection support 2016-03-02 14:13:19 -05:00
ib.h RDS: IB: Support Fastreg MR (FRMR) memory registration mode 2016-03-02 14:13:19 -05:00
info.c
info.h
Kconfig
loop.c
loop.h
Makefile RDS: IB: Support Fastreg MR (FRMR) memory registration mode 2016-03-02 14:13:19 -05:00
message.c
page.c RDS: memory allocated must be align to 8 2016-04-07 16:58:27 -04:00
rdma_transport.c RDS: IB: handle the RDMA CM time wait event 2016-03-02 14:13:19 -05:00
rdma_transport.h
rdma.c
rds.h
recv.c
send.c
stats.c
sysctl.c
tcp_connect.c
tcp_listen.c
tcp_recv.c
tcp_send.c
tcp_stats.c
tcp.c RDS: TCP: Remove unused constant 2016-03-18 22:25:41 -04:00
tcp.h
threads.c
transport.c