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
 

Reply via email to