commit | a4d258036ed9b2a1811c3670c6099203a0f284a0 | [log] [tgz] |
---|---|---|
author | Tom Marshall <tdm.code@gmail.com> | Mon Sep 20 15:42:05 2010 -0700 |
committer | David S. Miller <davem@davemloft.net> | Mon Sep 20 15:42:05 2010 -0700 |
tree | 58412022664aef745a99d254d20cf1a66aabda44 | |
parent | 9828e6e6e3f19efcb476c567b9999891d051f52f [diff] |
tcp: Fix race in tcp_poll If a RST comes in immediately after checking sk->sk_err, tcp_poll will return POLLIN but not POLLOUT. Fix this by checking sk->sk_err at the end of tcp_poll. Additionally, ensure the correct order of operations on SMP machines with memory barriers. Signed-off-by: Tom Marshall <tdm.code@gmail.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>