From: Jason Gunthorpe <jgg@nvidia.com>
To: Tzung-Bi Shih <tzungbi@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Linus Walleij <linusw@kernel.org>,
Benson Leung <bleung@chromium.org>,
linux-kernel@vger.kernel.org, chrome-platform@lists.linux.dev,
driver-core@lists.linux.dev, linux-doc@vger.kernel.org,
linux-gpio@vger.kernel.org,
"Rafael J. Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>,
Jonathan Corbet <corbet@lwn.net>, Shuah Khan <shuah@kernel.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Wolfram Sang <wsa+renesas@sang-engineering.com>,
Johan Hovold <johan@kernel.org>,
"Paul E . McKenney" <paulmck@kernel.org>
Subject: Re: [PATCH v10 8/9] platform/chrome: Protect cros_ec_device lifecycle with revocable
Date: Fri, 8 May 2026 08:53:09 -0300 [thread overview]
Message-ID: <20260508115309.GA9254@nvidia.com> (raw)
In-Reply-To: <20260508105448.31799-9-tzungbi@kernel.org>
On Fri, May 08, 2026 at 06:54:47PM +0800, Tzung-Bi Shih wrote:
> struct cros_ec_device *cros_ec_device_alloc(struct device *dev)
> @@ -47,6 +49,15 @@ struct cros_ec_device *cros_ec_device_alloc(struct device *dev)
> if (!ec_dev)
> return NULL;
>
> + ec_dev->its_rev = revocable_alloc(ec_dev);
> + if (!ec_dev->its_rev)
> + return NULL;
> + /*
> + * Drop the extra reference for the caller as the caller is the
> + * resource provider.
> + */
> + revocable_put(ec_dev->its_rev);
> +
> ec_dev->din_size = sizeof(struct ec_host_response) +
> sizeof(struct ec_response_get_protocol_info) +
> EC_MAX_RESPONSE_OVERHEAD;
FWIW I am still very much against seeing any revokable concept used
*between two drivers*. That will turn the kernel's lifetime model into
spaghetti code.
Your other series where you only have to change
drivers/platform/chrome/cros_ec_chardev.c just confirms how wrong this
approach is.
Given you say this is such a bug I think you really should be sending
a series that is patches 5 through 7 from the other series and a
simple rwsem instead of misc_deregister_sync() to deal with this bug
ASAP. No need to complicate a simple bug fix in a driver with all
these core changes.
Once the bug is fixed you can continue to try to propose more general
solutions.
Jason
next prev parent reply other threads:[~2026-05-08 11:56 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-08 10:54 [PATCH v10 0/9] drivers/base: Introduce revocable Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 1/9] revocable: Revocable resource management Tzung-Bi Shih
2026-05-11 13:16 ` Bartosz Golaszewski
2026-05-12 8:12 ` Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 2/9] revocable: Add KUnit test cases Tzung-Bi Shih
2026-05-11 13:10 ` Bartosz Golaszewski
2026-05-12 8:12 ` Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 3/9] gpio: Add revocable provider handle for struct gpio_chip Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 4/9] gpio: cdev: Leverage revocable for accessing " Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 5/9] gpio: Remove gpio_chip_guard by using revocable Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 6/9] gpio: Leverage revocable for accessing struct gpio_chip Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 7/9] gpio: Remove unused `chip` and `srcu` in struct gpio_device Tzung-Bi Shih
2026-05-11 13:18 ` Bartosz Golaszewski
2026-05-12 8:13 ` Tzung-Bi Shih
2026-05-12 10:41 ` Bartosz Golaszewski
2026-05-08 10:54 ` [PATCH v10 8/9] platform/chrome: Protect cros_ec_device lifecycle with revocable Tzung-Bi Shih
2026-05-08 11:53 ` Jason Gunthorpe [this message]
2026-05-11 13:19 ` Bartosz Golaszewski
2026-05-12 8:36 ` Laurent Pinchart
2026-05-14 3:33 ` Tzung-Bi Shih
2026-05-14 16:02 ` Jason Gunthorpe
2026-05-15 8:28 ` Tzung-Bi Shih
2026-05-08 10:54 ` [PATCH v10 9/9] platform/chrome: cros_ec_chardev: Consume cros_ec_device via revocable Tzung-Bi Shih
2026-05-11 13:17 ` [PATCH v10 0/9] drivers/base: Introduce revocable Bartosz Golaszewski
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=20260508115309.GA9254@nvidia.com \
--to=jgg@nvidia.com \
--cc=arnd@arndb.de \
--cc=bleung@chromium.org \
--cc=brgl@kernel.org \
--cc=chrome-platform@lists.linux.dev \
--cc=corbet@lwn.net \
--cc=dakr@kernel.org \
--cc=driver-core@lists.linux.dev \
--cc=gregkh@linuxfoundation.org \
--cc=johan@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linusw@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@kernel.org \
--cc=rafael@kernel.org \
--cc=shuah@kernel.org \
--cc=tzungbi@kernel.org \
--cc=wsa+renesas@sang-engineering.com \
/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.