Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
On Jan 27, 2008 10:35 PM, Pekka Enberg <[EMAIL PROTECTED]> wrote: > > I think there's a pretty big chance I'm wrong (or misunderstanding > > something) here, so I'll just ask: > > setup_object() from mm/slub.c is what calls the ctor. Shouldn't this > > be called from slab_alloc() as well? (I'm

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Pekka Enberg
Hi Vegard, On Jan 27, 2008 11:30 PM, Vegard Nossum <[EMAIL PROTECTED]> wrote: > > Depends on how you track object initialization. An object returned by > > kmem_cache_alloc() is always initialized if the cache it comes from has a > > constructor. > > I think there's a pretty big chance I'm wrong

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
On Jan 27, 2008 10:21 PM, Pekka J Enberg <[EMAIL PROTECTED]> wrote: > On Sun, 27 Jan 2008, Vegard Nossum wrote: > > Though in this case, idr_pre_get() actually *is* called first. Hmm... > > I think there's a pretty big chance that kmemcheck is at fault :-( > > Depends on how you track object

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Pekka J Enberg
Hi Vegard, On Sun, 27 Jan 2008, Vegard Nossum wrote: > Though in this case, idr_pre_get() actually *is* called first. Hmm... > I think there's a pretty big chance that kmemcheck is at fault :-( Depends on how you track object initialization. An object returned by kmem_cache_alloc() is always

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
On Jan 27, 2008 10:00 PM, Pekka Enberg <[EMAIL PROTECTED]> wrote: > Hi Vegard, > > On Jan 27, 2008 10:07 PM, Vegard Nossum <[EMAIL PROTECTED]> wrote: > > I am testing my kmemcheck patches, and it has come up with a couple of > > uses of uninitialized memory in lib/idr.c. These are (the line

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Pekka Enberg
Hi Vegard, On Jan 27, 2008 10:07 PM, Vegard Nossum <[EMAIL PROTECTED]> wrote: > I am testing my kmemcheck patches, and it has come up with a couple of > uses of uninitialized memory in lib/idr.c. These are (the line numbers > may differ slightly): [snip] > @@ -39,12 +39,16 @@ static struct

lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
Hi, I am testing my kmemcheck patches, and it has come up with a couple of uses of uninitialized memory in lib/idr.c. These are (the line numbers may differ slightly): line 135 (sub_alloc): bm = ~p->bitmap; p->bitmap is uninitialized line 171 (sub_alloc): if (!p->ary[m]) { p->ary is

lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
Hi, I am testing my kmemcheck patches, and it has come up with a couple of uses of uninitialized memory in lib/idr.c. These are (the line numbers may differ slightly): line 135 (sub_alloc): bm = ~p-bitmap; p-bitmap is uninitialized line 171 (sub_alloc): if (!p-ary[m]) { p-ary is uninitialized

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
On Jan 27, 2008 10:00 PM, Pekka Enberg [EMAIL PROTECTED] wrote: Hi Vegard, On Jan 27, 2008 10:07 PM, Vegard Nossum [EMAIL PROTECTED] wrote: I am testing my kmemcheck patches, and it has come up with a couple of uses of uninitialized memory in lib/idr.c. These are (the line numbers may

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Pekka J Enberg
Hi Vegard, On Sun, 27 Jan 2008, Vegard Nossum wrote: Though in this case, idr_pre_get() actually *is* called first. Hmm... I think there's a pretty big chance that kmemcheck is at fault :-( Depends on how you track object initialization. An object returned by kmem_cache_alloc() is always

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
On Jan 27, 2008 10:21 PM, Pekka J Enberg [EMAIL PROTECTED] wrote: On Sun, 27 Jan 2008, Vegard Nossum wrote: Though in this case, idr_pre_get() actually *is* called first. Hmm... I think there's a pretty big chance that kmemcheck is at fault :-( Depends on how you track object

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Pekka Enberg
Hi Vegard, On Jan 27, 2008 10:07 PM, Vegard Nossum [EMAIL PROTECTED] wrote: I am testing my kmemcheck patches, and it has come up with a couple of uses of uninitialized memory in lib/idr.c. These are (the line numbers may differ slightly): [snip] @@ -39,12 +39,16 @@ static struct idr_layer

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Pekka Enberg
Hi Vegard, On Jan 27, 2008 11:30 PM, Vegard Nossum [EMAIL PROTECTED] wrote: Depends on how you track object initialization. An object returned by kmem_cache_alloc() is always initialized if the cache it comes from has a constructor. I think there's a pretty big chance I'm wrong (or

Re: lib/idr.c: initialize struct idr_layer

2008-01-27 Thread Vegard Nossum
On Jan 27, 2008 10:35 PM, Pekka Enberg [EMAIL PROTECTED] wrote: I think there's a pretty big chance I'm wrong (or misunderstanding something) here, so I'll just ask: setup_object() from mm/slub.c is what calls the ctor. Shouldn't this be called from slab_alloc() as well? (I'm marking the