Added CONFIG_SEQLOCK_DEBUG
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 12 Apr 2010 22:56:04 +0000 (15:56 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:35:42 +0000 (17:35 -0700)
Don't enable this if you distrust userspace.

Makelocal.template
kern/include/atomic.h

index f24b73e..13381fb 100644 (file)
@@ -7,6 +7,8 @@
 #KERN_CFLAGS += $(CONFIG_NETWORKING)
 #KERN_CFLAGS += $(CONFIG_SERIAL_IO)
 #KERN_CFLAGS += $(CONFIG_BSD_ON_CORE0)
 #KERN_CFLAGS += $(CONFIG_NETWORKING)
 #KERN_CFLAGS += $(CONFIG_SERIAL_IO)
 #KERN_CFLAGS += $(CONFIG_BSD_ON_CORE0)
+# Enabling this can cause userspace to make the kernel panic.
+#KERN_CFLAGS += $(CONFIG_SEQLOCK_DEBUG)
 #KERN_CFLAGS += $(CONFIG_SPINLOCK_DEBUG)
 #KERN_CFLAGS += $(CONFIG_PAGE_COLORING)
 #KERN_CFLAGS += $(CONFIG_APPSERVER)
 #KERN_CFLAGS += $(CONFIG_SPINLOCK_DEBUG)
 #KERN_CFLAGS += $(CONFIG_PAGE_COLORING)
 #KERN_CFLAGS += $(CONFIG_APPSERVER)
index 1069b50..3825236 100644 (file)
@@ -8,8 +8,6 @@
 #include <arch/arch.h>
 #include <assert.h>
 
 #include <arch/arch.h>
 #include <assert.h>
 
-#define SEQLOCK_DEBUG
-
 static inline void
 (SLOCK(0) spin_lock_irqsave)(spinlock_t RACY*SAFE lock);
 static inline void
 static inline void
 (SLOCK(0) spin_lock_irqsave)(spinlock_t RACY*SAFE lock);
 static inline void
@@ -127,7 +125,7 @@ static inline bool spin_lock_irq_enabled(spinlock_t *SAFE lock)
  * concurrent write. */
 static inline void __seq_start_write(seq_ctr_t *seq_ctr)
 {
  * concurrent write. */
 static inline void __seq_start_write(seq_ctr_t *seq_ctr)
 {
-#ifdef SEQLOCK_DEBUG
+#ifdef _CONFIG_SEQLOCK_DEBUG_
        assert(*seq_ctr % 2 == 0);
 #endif
        (*seq_ctr)++;
        assert(*seq_ctr % 2 == 0);
 #endif
        (*seq_ctr)++;
@@ -135,7 +133,7 @@ static inline void __seq_start_write(seq_ctr_t *seq_ctr)
 
 static inline void __seq_end_write(seq_ctr_t *seq_ctr)
 {
 
 static inline void __seq_end_write(seq_ctr_t *seq_ctr)
 {
-#ifdef SEQLOCK_DEBUG
+#ifdef _CONFIG_SEQLOCK_DEBUG_
        assert(*seq_ctr % 2 == 1);
 #endif
        (*seq_ctr)++;
        assert(*seq_ctr % 2 == 1);
 #endif
        (*seq_ctr)++;