]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Sep 2009 15:07:54 +0000 (08:07 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Sep 2009 15:07:54 +0000 (08:07 -0700)
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck:
  kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield
  kmemcheck: update documentation
  kmemcheck: depend on HAVE_ARCH_KMEMCHECK
  kmemcheck: remove useless check
  kmemcheck: remove duplicated #include

Documentation/kmemcheck.txt
arch/x86/mm/kmemcheck/kmemcheck.c
include/linux/kmemcheck.h
lib/Kconfig.kmemcheck

index 363044609dadd243a9bae89ab437b5eeaaa8b023..c28f82895d6bea2b5561f6c56f3b2e7bfa126754 100644 (file)
@@ -43,26 +43,7 @@ feature.
 1. Downloading
 ==============
 
-kmemcheck can only be downloaded using git. If you want to write patches
-against the current code, you should use the kmemcheck development branch of
-the tip tree. It is also possible to use the linux-next tree, which also
-includes the latest version of kmemcheck.
-
-Assuming that you've already cloned the linux-2.6.git repository, all you
-have to do is add the -tip tree as a remote, like this:
-
-       $ git remote add tip git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git
-
-To actually download the tree, fetch the remote:
-
-       $ git fetch tip
-
-And to check out a new local branch with the kmemcheck code:
-
-       $ git checkout -b kmemcheck tip/kmemcheck
-
-General instructions for the -tip tree can be found here:
-http://people.redhat.com/mingo/tip.git/readme.txt
+As of version 2.6.31-rc1, kmemcheck is included in the mainline kernel.
 
 
 2. Configuring and compiling
index 528bf954eb7403c82d0816957b02a653ff9bcf18..8cc183344140cf1503df9efdc87bdad6e9f23bcf 100644 (file)
@@ -225,9 +225,6 @@ void kmemcheck_hide(struct pt_regs *regs)
 
        BUG_ON(!irqs_disabled());
 
-       if (data->balance == 0)
-               return;
-
        if (unlikely(data->balance != 1)) {
                kmemcheck_show_all();
                kmemcheck_error_save_bug(regs);
index dc2fd545db002459a0add2169ed861bec7ecf425..c8006607f947e74048fbf54be2263948c7a46e39 100644 (file)
@@ -144,7 +144,10 @@ static inline bool kmemcheck_is_obj_initialized(unsigned long addr, size_t size)
        int name##_end[0];
 
 #define kmemcheck_annotate_bitfield(ptr, name)                         \
-       do if (ptr) {                                                   \
+       do {                                                            \
+               if (!ptr)                                               \
+                       break;                                          \
+                                                                       \
                int _n = (long) &((ptr)->name##_end)                    \
                        - (long) &((ptr)->name##_begin);                \
                BUILD_BUG_ON(_n < 0);                                   \
index 603c81b66549a013dac18294c41777c52c1b2003..846e039a86b4b4b39c1daa55b19d7bbd6a752682 100644 (file)
@@ -1,6 +1,8 @@
 config HAVE_ARCH_KMEMCHECK
        bool
 
+if HAVE_ARCH_KMEMCHECK
+
 menuconfig KMEMCHECK
        bool "kmemcheck: trap use of uninitialized memory"
        depends on DEBUG_KERNEL
@@ -89,3 +91,4 @@ config KMEMCHECK_BITOPS_OK
          accesses where not all the bits are initialized at the same time.
          This may also hide some real bugs.
 
+endif