diff options
author | John Ogness | 2020-08-13 21:45:25 +0206 |
---|---|---|
committer | David S. Miller | 2020-08-13 15:37:30 -0700 |
commit | 88fd1cb80daa20af063bce81e1fad14e945a8dc4 (patch) | |
tree | e6339cda0d54a9b74160ef8fab44a6b25f158b82 /include/net | |
parent | 94c7eb54c4b8e81618ec79f414fe1ca5767f9720 (diff) |
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 'include/net')
0 files changed, 0 insertions, 0 deletions