> On 29 Jul 2020, at 00:09, sven falempin <sven.falem...@gmail.com> wrote:
> 
> On Tue, Jul 28, 2020 at 4:42 PM Vitaliy Makkoveev <m...@openbsd.org> wrote:
>> 
>> On Tue, Jul 28, 2020 at 04:10:01PM -0400, sven falempin wrote:
>>> Hello,
>>> 
>>> I am running some trunk interfaces in a multi core environment,
>>> it's a slightly modified version, i have a few NET_ASSERT_LOCKED();
>>> suspecting some multi core shenanigans, which i guess was confirmed:
>>> (unsure the have X meaning, but i ' m pretty sure 256 is very wrong)
>>> the if_trunk.c locking is completely unmodified
>>> The code is 6.7-stable
>>> 
>>> splassert: lacp_detach: want 2 have 0
>>> splassert: lacp_detach: want 2 have 0
>>> splassert: lacp_detach: want 2 have 256
>>> 
>>> I noticed : trunk_clone_destroy ,call
>>> 
>>>    if (tr->tr_proto != TRUNK_PROTO_NONE)
>>>        tr->tr_detach(tr);
>>> 
>>> outside the lock, and that trunk_ioctl call it
>>> 
>>>        if (tr->tr_proto != TRUNK_PROTO_NONE)
>>>            error = tr->tr_detach(tr);
>>> 
>>> but ioctl is as far as i understand locked.
>>> I'm unsure if the difficult and amazing unlocking work
>>> did an oopsies or if ioctl is already assumed unlocked.
>>> 
>>> Kindly inform me.
>>> Best regards, thank you for reading.
>>> 
>> 
>> lacp_detach() touches nothing which requires NET_LOCK(). What is the
>> reason you placed assertion to lacp_detach()?
> 
> <<it's a slightly modified version, i have a few NET_ASSERT_LOCKED()>>
> 
> the lacp_detach is not yours, i put them here because i have a NULL pointer
> popping in other 'driver' callback.
> 
> I'm tracking this and trying to understand  how this memory is 'nullified'
> mid function.

I have no telepathy skills. Sorry. If you have panics send please dmesg(8)
output and instruction for reproduce.

> 
> I do not think putting NET_ASSERT_LOCKED can be harmful in any way.
> If so please tell me.
> 

What is the data you think needs be protected by netlock?

> I am just tracking  a bug  and noticed these detach locking strangeness.
> 

Reply via email to