Page MenuHomeFreeBSD

D20992.id60737.diff
No OneTemporary

D20992.id60737.diff

Index: sys/compat/linuxkpi/common/include/linux/lockdep.h
===================================================================
--- sys/compat/linuxkpi/common/include/linux/lockdep.h
+++ sys/compat/linuxkpi/common/include/linux/lockdep.h
@@ -40,13 +40,34 @@
#define lockdep_set_current_reclaim_state(g) do { } while (0)
#define lockdep_clear_current_reclaim_state() do { } while (0)
-#define lockdep_assert_held(m) \
- sx_assert(&(m)->sx, SA_XLOCKED)
+#ifdef INVARIANTS
+#define lockdep_assert_held(m) do { \
+ struct lock_object *__lock = (struct lock_object *)(m); \
+ LOCK_CLASS(__lock)->lc_assert(__lock, LA_LOCKED); \
+} while (0)
-#define lockdep_assert_held_once(m) \
- sx_assert(&(m)->sx, SA_XLOCKED | SA_NOTRECURSED)
+#define lockdep_assert_held_once(m) do { \
+ struct lock_object *__lock = (struct lock_object *)(m); \
+ LOCK_CLASS(__lock)->lc_assert(__lock, LA_LOCKED | LA_NOTRECURSED); \
+} while (0)
-#define lockdep_is_held(m) (sx_xholder(&(m)->sx) == curthread)
+static __inline bool
+lockdep_is_held(void *__m)
+{
+ struct lock_object *__lock;
+ struct thread *__td;
+
+ __lock = __m;
+ return (LOCK_CLASS(__lock)->lc_owner(__lock, &__td) != 0);
+}
+
+#else
+#define lockdep_assert_held(m) do { } while (0)
+
+#define lockdep_assert_held_once(m) do { } while (0)
+
+#define lockdep_is_held(m) 1
+#endif
#define might_lock(m) do { } while (0)
#define might_lock_read(m) do { } while (0)

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 16, 5:48 PM (7 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25380596
Default Alt Text
D20992.id60737.diff (1 KB)

Event Timeline