Messages in this thread | | | Date | Thu, 29 Nov 2007 11:39:37 +0200 (EET) | From | Pekka J Enberg <> | Subject | Re: [RFC] kmemcheck: trap uses of uninitialized memory (v2) |
| |
Hi,
On Nov 29, 2007 9:02 AM, Pekka Enberg <penberg@cs.helsinki.fi> wrote: > > Is it really necessary to track every memory address? Tracking slab > > objects would require far less memory. You might also want to make > > kzalloc() and GFP_ZERO mark the memory area as initialized to avoid > > some page faults.
On Thu, 29 Nov 2007, Vegard Nossum wrote: > Yes, we are in fact only tracking the memory within SLUB allocations > (minus what SLUB itself needs for bookkeeping -- like the caches).
Yeah but you didn't answer my question: why do we track every memory address instead of slab objects? What's the benefit? Like I already said, tracking slab objects would require much less memory which makes the thing more practical. It also reduces the number of false positives (the CONFIG_OPTIMIZE_FOR_SIZE problem). And we already have slab poisoning to cover the cases we would not catch with this scheme.
On Thu, 29 Nov 2007, Vegard Nossum wrote: > As for the kzalloc() and GFP_ZERO, I believe these will write zeros to > the data in question before the memory is returned to the caller. In > that case, the area will be "automatically" set to initialized since > these writes are also intercepted by kmemcheck.
Yes, and what I proposed is as a potential optimization. Debugging aids need to be fast enough to be practical.
Pekka - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |