On Wed, Mar 4, 2009 at 8:55 PM, Bill Sommerfeld <sommerf...@sun.com> wrote:
>
> On Wed, 2009-03-04 at 20:23 +0100, Piotr Jasiukajtis wrote:
>> > ffffff0192255bf8::bufctl
>> ADDR             BUFADDR          TIMESTAMP    THREAD           CALLER
>> ffffff0192255bf8 ffffff0191535ea8   13a7ce2ccd ffffff0007c07c60 
>> labelalloc+0x2f
>> > ffffff0192255bf8::bufctl -v
>>             ADDR          BUFADDR        TIMESTAMP           THREAD
>>                             CACHE          LASTLOG         CONTENTS
>> ffffff0192255bf8 ffffff0191535ea8       13a7ce2ccd ffffff0007c07c60
>>                  ffffff019131fb20 ffffff0188af8440                0
>>                  kmem_cache_alloc_debug+0x288
>>                  kmem_cache_alloc+0x166
>>                  labelalloc+0x2f
>>                  newcred_from_bslabel+0x23
>>                  tsol_get_pkt_label+0x42a
>>                  ip_input+0x51b
>>                  mac_rx_soft_ring_drain+0xf6
>>                  mac_soft_ring_worker+0x140
>>                  thread_start+8
>
> I think I see what the problem is -- my project's testing uncovered the
>                               same leak.
>
> tsol_get_pkt_label constructs a new cred using "newcred_from_bslabel",
> and creates it with a refcount of 1.
>
> it then gets passed to mblk_setcred(), which does a crhold on it,
> setting the refcount to 2.
>
> tsol_get_pkt_label never drops the original reference, so that when the
> dblk is freed, the cred refcount drops back to 1, and the cred is leaked
> and never freed.
>
> it looks like this bug may have been introduced in this recent
> changeset:
>
> changeset:   8778:b4169d2ab299
> user:        Erik Nordmark <erik.nordm...@sun.com>
> date:        Thu Feb 12 08:42:06 2009 -0800
>
> PSARC 2007/670 db_credp update
> 6619593 Simplify and strengthen db_credp handling
> 6619596 Add getpeerucred() support to SCTP SOCK_STREAM
>
> I'll file a bug.
Could you add my email address to the bug report?

Thanks.


-- 
Regards,
Piotr Jasiukajtis | estibi | SCA OS0072
http://estseg.blogspot.com
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to