Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Dec 2025 21:50:28 -0600
From:      Kyle Evans <kevans@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>, Vladimir Kondratyev <wulf@freebsd.org>
Cc:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org
Subject:   Re: git: d3690a599586 - stable/15 - devfs: make destroy_dev() a release barrier for cdevpriv destructors runs
Message-ID:  <f1eec467-9389-4b4b-856a-6179c6671d74@FreeBSD.org>
In-Reply-To: <aUNz6lnxSTFYOWOH@kib.kiev.ua>
References:  <69431ba8.40557.13f66fa4@gitrepo.freebsd.org> <aUNz6lnxSTFYOWOH@kib.kiev.ua>

index | next in thread | previous in thread | raw e-mail

On 12/17/25 21:24, Konstantin Belousov wrote:
> On Wed, Dec 17, 2025 at 09:07:52PM +0000, Vladimir Kondratyev wrote:
>> The branch stable/15 has been updated by wulf:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=d3690a5995867e35d4d1dc63127343d4b0a092d6
>>
>> commit d3690a5995867e35d4d1dc63127343d4b0a092d6
>> Author:     Konstantin Belousov <kib@FreeBSD.org>
>> AuthorDate: 2025-10-23 18:37:00 +0000
>> Commit:     Vladimir Kondratyev <wulf@FreeBSD.org>
>> CommitDate: 2025-12-17 21:05:38 +0000
>>
>>      devfs: make destroy_dev() a release barrier for cdevpriv destructors runs
>>      
>>      Ensure that all destructors for cdevpriv finished running before
>>      destroy_dev() returns to the caller.  Otherwise, since
>>      devfs_destroy_cdevpriv() removes the cdevpriv data from the list, drops
>>      the cdevpriv_mtx, and then starts the destructor, it is possible for
>>      destroy_dev() to return before destructor finished in other thread.
>>      
>>      This should allow drivers to safely remove cdev instance data that might
>>      be referenced by cdevpriv data.
>>      
>>      Diagnosed by:   kevans
>>      Reviewed by:    kevans, markj
>>      Sponsored by:   The FreeBSD Foundation
>>      MFC after:      1 week
>>      Differential revision:  https://reviews.freebsd.org/D53303
>>      
>>      (cherry picked from commit 4dbe6628179d8e6bf400bfdb4bfa869bdc102a56)
> 
> I did not merged this to 15 (or 14) because if_tun has a regressions
> requiring some fixes from kevans, which were not merged.
> 

Ah, woof- sorry, it's been busy here.  I'll go ahead and merge the fix to stable/15.  The relevant
feature won't be merged to stable/14, so it should be safe to take it back there as well.

Thanks,

Kyle Evans


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f1eec467-9389-4b4b-856a-6179c6671d74>