Index: linux-2.4.24/include/linux/dynlocks.h
===================================================================
--- linux-2.4.24.orig/include/linux/dynlocks.h 2003-01-30 13:24:37.000000000 +0300
-+++ linux-2.4.24/include/linux/dynlocks.h 2004-07-06 19:14:17.000000000 +0400
++++ linux-2.4.24/include/linux/dynlocks.h 2004-07-15 18:32:18.000000000 +0400
@@ -0,0 +1,41 @@
+#ifndef _LINUX_DYNLOCKS_H
+#define _LINUX_DYNLOCKS_H
Index: linux-2.4.24/lib/dynlocks.c
===================================================================
--- linux-2.4.24.orig/lib/dynlocks.c 2003-01-30 13:24:37.000000000 +0300
-+++ linux-2.4.24/lib/dynlocks.c 2004-07-06 19:14:40.000000000 +0400
-@@ -0,0 +1,173 @@
++++ linux-2.4.24/lib/dynlocks.c 2004-07-15 18:42:10.000000000 +0400
+@@ -0,0 +1,187 @@
+/*
+ * Dynamic Locks
+ *
+ BUG_ON(cur->next == NULL);
+ BUG_ON(cur->prev == NULL);
+ hl = list_entry(cur, struct dynlock_member, dl_list);
-+ BUG_ON(hl->dl_magic != DYNLOCK_MAGIC);
++ if (hl->dl_magic != DYNLOCK_MAGIC) {
++ printk("corrupted lock 0x%p: magic 0x%x (!=0x%x)\n",
++ hl, hl->dl_magic, DYNLOCK_MAGIC);
++ printk(" value 0x%lx, %d readers, %d writers, pid %d, %d refs\n",
++ hl->dl_value, hl->dl_readers, hl->dl_writers,
++ hl->dl_pid, hl->dl_refcount);
++ BUG_ON(1);
++ }
+ if (hl->dl_value == value) {
+ /* lock is found */
+ if (nhl) {
+ BUG_ON(dl == NULL);
+ BUG_ON(hl == NULL);
+ BUG_ON(dl->dl_magic != DYNLOCK_LIST_MAGIC);
-+ BUG_ON(hl->dl_magic != DYNLOCK_MAGIC);
++ if (hl->dl_magic != DYNLOCK_MAGIC) {
++ printk("corrupted lock 0x%p: magic 0x%x (!=0x%x)\n",
++ hl, hl->dl_magic, DYNLOCK_MAGIC);
++ printk(" value 0x%lx, %d readers, %d writers, pid %d, %d refs\n",
++ hl->dl_value, hl->dl_readers, hl->dl_writers,
++ hl->dl_pid, hl->dl_refcount);
++ BUG_ON(1);
++ }
+ BUG_ON(current->pid != hl->dl_pid);
+
+ spin_lock(&dl->dl_list_lock);
Index: linux-2.4.24/lib/Makefile
===================================================================
--- linux-2.4.24.orig/lib/Makefile 2004-06-24 09:06:32.000000000 +0400
-+++ linux-2.4.24/lib/Makefile 2004-07-06 19:14:17.000000000 +0400
++++ linux-2.4.24/lib/Makefile 2004-07-14 18:14:28.000000000 +0400
@@ -9,10 +9,10 @@
L_TARGET := lib.a