diff options
| author | Arnd Bergmann <[email protected]> | 2010-02-11 05:55:39 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2010-02-15 21:49:49 -0800 |
| commit | 564517e804c9c6d4e29c270bfc1517404d27107b (patch) | |
| tree | f1912327050508a1d2902dbba7cbfcf7d054cd0f /include/linux/debugobjects.h | |
| parent | e9449d85c67127d6f9d01aad8963d567ab02cb96 (diff) | |
net/macvtap: fix reference counting
The RCU usage in the original code was broken because
there are cases where we possibly sleep with rcu_read_lock
held. As a fix, change the macvtap_file_get_queue to
get a reference on the socket and the netdev instead of
taking the full rcu_read_lock.
Also, change macvtap_file_get_queue failure case to
not require a subsequent macvtap_file_put_queue, as
pointed out by Ed Swierk.
Signed-off-by: Arnd Bergmann <[email protected]>
Cc: Ed Swierk <[email protected]>
Cc: Sridhar Samudrala <[email protected]>
Acked-by: Sridhar Samudrala <[email protected]>
Acked-by: Ed Swierk <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions