From: Danilo Krummrich <dakr@kernel.org>
To: Boqun Feng <boqun.feng@gmail.com>
Cc: gregkh@linuxfoundation.org, rafael@kernel.org, ojeda@kernel.org,
alex.gaynor@gmail.com, gary@garyguo.net,
bjorn3_gh@protonmail.com, benno.lossin@proton.me,
a.hindborg@kernel.org, aliceryhl@google.com, tmgross@umich.edu,
chrisi.schrefl@gmail.com, rust-for-linux@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] rust: devres: fix race in Devres::drop()
Date: Thu, 12 Jun 2025 17:44:27 +0200 [thread overview]
Message-ID: <aEr120wdhFVjFXWg@cassiopeiae> (raw)
In-Reply-To: <aErxSYp0AsHGWt0E@tardis.local>
On Thu, Jun 12, 2025 at 08:24:57AM -0700, Boqun Feng wrote:
> Thanks for the explanation, and sorry I'm a bit late for the response. I
> was trying to find a place that we should document this, how about the
> diff below:
>
> ------------
> diff --git a/rust/kernel/devres.rs b/rust/kernel/devres.rs
> index 0f79a2ec9474..c8b9754e411b 100644
> --- a/rust/kernel/devres.rs
> +++ b/rust/kernel/devres.rs
> @@ -31,7 +31,8 @@ struct DevresInner<T> {
> /// manage their lifetime.
> ///
> /// [`Device`] bound resources should be freed when either the resource goes out of scope or the
> -/// [`Device`] is unbound respectively, depending on what happens first.
> +/// [`Device`] is unbound respectively, depending on what happens first. And if the resource goes
> +/// out of scope first, [`Device`] unbinding will wait until the resource being freed.
I will add
In any case, it is always guaranteed that revoking the device resource
is completed before the corresponding [`Device`] is unbound.
when applying the patch, if that's fine with you.
next prev parent reply other threads:[~2025-06-12 15:44 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-03 20:48 [PATCH 0/3] Fix race condition in Devres Danilo Krummrich
2025-06-03 20:48 ` [PATCH 1/3] rust: completion: implement initial abstraction Danilo Krummrich
2025-06-06 9:00 ` Alice Ryhl
2025-06-11 20:01 ` Boqun Feng
2025-06-12 7:58 ` Benno Lossin
2025-06-12 10:47 ` Danilo Krummrich
2025-06-12 11:23 ` Alice Ryhl
2025-06-12 8:15 ` Benno Lossin
2025-06-12 10:35 ` Danilo Krummrich
2025-06-12 10:53 ` Benno Lossin
2025-06-12 11:06 ` Danilo Krummrich
2025-06-12 11:15 ` Benno Lossin
2025-06-03 20:48 ` [PATCH 2/3] rust: revocable: indicate whether `data` has been revoked already Danilo Krummrich
2025-06-12 7:59 ` Benno Lossin
2025-06-03 20:48 ` [PATCH 3/3] rust: devres: fix race in Devres::drop() Danilo Krummrich
2025-06-03 23:26 ` Boqun Feng
2025-06-04 9:49 ` Danilo Krummrich
2025-06-12 15:24 ` Boqun Feng
2025-06-12 15:44 ` Danilo Krummrich [this message]
2025-06-12 15:48 ` Boqun Feng
2025-06-12 8:13 ` Benno Lossin
2025-06-12 8:15 ` Alice Ryhl
2025-06-12 8:47 ` Benno Lossin
2025-06-12 10:26 ` Danilo Krummrich
2025-06-12 10:59 ` Benno Lossin
2025-06-12 10:31 ` Danilo Krummrich
2025-06-12 11:04 ` Benno Lossin
2025-06-04 12:36 ` [PATCH 0/3] Fix race condition in Devres Miguel Ojeda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aEr120wdhFVjFXWg@cassiopeiae \
--to=dakr@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=chrisi.schrefl@gmail.com \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rafael@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.