mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck
* '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
This commit is contained in:
commit
991d79b0d1
4 changed files with 8 additions and 24 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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); \
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue