diff options
author | John Ogness <john.ogness@linutronix.de> | 2020-08-13 22:39:25 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-08-14 01:37:30 +0300 |
commit | 88fd1cb80daa20af063bce81e1fad14e945a8dc4 (patch) | |
tree | e6339cda0d54a9b74160ef8fab44a6b25f158b82 /net/openvswitch/flow_table.h | |
parent | 94c7eb54c4b8e81618ec79f414fe1ca5767f9720 (diff) | |
download | linux-88fd1cb80daa20af063bce81e1fad14e945a8dc4.tar.xz |
af_packet: TPACKET_V3: fix fill status rwlock imbalance
After @blk_fill_in_prog_lock is acquired there is an early out vnet
situation that can occur. In that case, the rwlock needs to be
released.
Also, since @blk_fill_in_prog_lock is only acquired when @tp_version
is exactly TPACKET_V3, only release it on that exact condition as
well.
And finally, add sparse annotation so that it is clearer that
prb_fill_curr_block() and prb_clear_blk_fill_status() are acquiring
and releasing @blk_fill_in_prog_lock, respectively. sparse is still
unable to understand the balance, but the warnings are now on a
higher level that make more sense.
Fixes: 632ca50f2cbd ("af_packet: TPACKET_V3: replace busy-wait loop")
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/flow_table.h')
0 files changed, 0 insertions, 0 deletions