Add lockdep_assert_not_held()
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest3 patches 5 repliesIn review
- v23 patches 5 repliesSuperseded
- v12 patches 7 repliesSuperseded
Changes in v3 from the cover letter
-- Fixed coding style issues
-- Patch 2 uses new lock states in __lock_is_held() and
lock_is_held_type
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | lockdep: add lockdep_assert_not_held()include/ kernel/ | +13 | 0 replies | |
| 2/3 | lockdep: add lockdep lock state definesinclude/ kernel/ | +15 | 0 replies | |
| 3/3 | ath10k: detect conf_mutex held ath10k_drain_tx() callsdrivers/ | +2 | 0 replies |
Reviews trailers per patch
1 of 3 patches has a Reviewed-by or Acked-by.
| Patch | Kalle Valo |
|---|---|
| 1/3 | |
| 2/3 | |
| 3/3 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 0/3] Add lockdep_assert_not_held()
Some kernel functions must not be called holding a specific lock. Doing so could lead to locking problems. Currently these routines call lock_is_held() to check for lock hold followed by WARN_ON.
Adding a common lockdep interface will help reduce the duplication of this logic in the rest of the kernel.
Add lockdep_assert_not_held() to be used in these functions to detect incorrect calls while holding a lock.
lockdep_assert_not_held() provides the opposite functionality of lockdep_assert_held() which is used to assert calls that require holding a specific lock.
The need for lockdep_assert_not_held() came up in a discussion on ath10k patch. ath10k_drain_tx() and i915_vma_pin_ww() are examples of functions that can use lockdep_assert_not_held().
This patch series adds lockdep_assert_not_held() and uses it in the second patch in ath10k_drain_tx() function.
Changes since v2:
-- Fixed coding style issues
-- Patch 2 uses new lock states in __lock_is_held() and
lock_is_held_type
Patch 1 incorporates suggestions from Peter Zijlstra on v1 series to avoid misfires when lockdep_off() is employed.
Patch 2 Johannes Berg's suggestions as it make it easier to read and maintain the lock states. These are defines and a enum to avoid changes to lock_is_held_type() and lockdep_is_held() return types.
Patch 2 is a separate patch because it adds defines to lockdep.h and kernel/locking/lockdep.c now includes lockdep.h - decided make this a separate patch just in case issues related to header dependencies pop up. I can combine Patches 1&2 if that is preferred.
Patch 3 uses the new interface in ath10k_drain_tx() function. Added Kalle Valo's Ack from v1 for this change.
Tested on the mainline from yesterday.
Shuah Khan (3):
lockdep: add lockdep_assert_not_held()
lockdep: add lockdep lock state defines
ath10k: detect conf_mutex held ath10k_drain_tx() calls
drivers/net/wireless/ath/ath10k/mac.c | 2 ++ include/linux/lockdep.h | 18 +++++++++++++++--- kernel/locking/lockdep.c | 15 ++++++++++----- 3 files changed, 27 insertions(+), 8 deletions(-)
Signature · 7 lines
2.27.0 _______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k