Module Name: src
Committed By: riastradh
Date: Sun Dec 19 00:50:19 UTC 2021
Modified Files:
src/sys/external/bsd/drm2/include/linux: mutex.h
Log Message:
Implement lockdep assertions. Add lockdep_assert_held_once.
To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/external/bsd/drm2/include/linux/mutex.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/include/linux/mutex.h
diff -u src/sys/external/bsd/drm2/include/linux/mutex.h:1.13 src/sys/external/bsd/drm2/include/linux/mutex.h:1.14
--- src/sys/external/bsd/drm2/include/linux/mutex.h:1.13 Sun Dec 19 00:47:24 2021
+++ src/sys/external/bsd/drm2/include/linux/mutex.h Sun Dec 19 00:50:18 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: mutex.h,v 1.13 2021/12/19 00:47:24 riastradh Exp $ */
+/* $NetBSD: mutex.h,v 1.14 2021/12/19 00:50:18 riastradh Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -41,9 +41,8 @@
#include <linux/list.h>
#include <linux/spinlock.h>
-#define __acquires(lock) /* XXX lockdep stuff */
-#define __releases(lock) /* XXX lockdep stuff */
-#define might_lock(lock) do {} while(0) /* XXX lockdep stuff */
+#define __acquires(lock) /* XXX lockdep annotation */
+#define __releases(lock) /* XXX lockdep annotation */
struct mutex {
kmutex_t mtx_lock;
@@ -113,9 +112,12 @@ mutex_lock_nest_lock(struct mutex *mutex
mutex_lock(mutex);
}
-#define __lockdep_used __unused
-#define lockdep_assert_held(m) do {} while (0)
-#define lockdep_is_held(m) 1
+#define __lockdep_used __diagused
+#define lockdep_assert_held(m) KASSERT(mutex_owned(&(m)->mtx_lock))
+#define lockdep_assert_held_once(m) KASSERT(mutex_owned(&(m)->mtx_lock))
+#define lockdep_is_held(m) mutex_owned(&(m)->mtx_lock)
+
+#define might_lock(m) KDASSERT(mutex_ownable(&(m)->mtx_lock))
#define SINGLE_DEPTH_NESTING 0