santosh.shilimkar@oracle.com 804605eae4 RDS: Fix the atomicity for congestion map update
commit e47db94e10447fc467777a40302f2b393e9af2fa upstream.

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>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-02 21:19:49 -07:00
..
2016-11-15 07:46:38 +01:00
2015-11-23 14:56:15 -05:00
2015-11-02 22:47:14 -05:00
2017-04-30 05:49:29 +02:00
2015-10-23 03:05:19 -07:00
2015-10-07 04:27:43 -07:00
2015-10-21 00:49:24 +02:00
2017-04-30 05:49:28 +02:00