[{"id":3683236,"web_url":"http://patchwork.ozlabs.org/comment/3683236/","msgid":"<CAMRc=MdnrKaEgFZod7DZC2FkigeQW6DogfODwmsZO=LS0Zie+w@mail.gmail.com>","list_archive_url":null,"date":"2026-04-28T08:16:07","subject":"Re: [PATCH v9 0/9] drivers/base: Introduce revocable","submitter":{"id":92191,"url":"http://patchwork.ozlabs.org/api/people/92191/","name":"Bartosz Golaszewski","email":"brgl@kernel.org"},"content":"On Mon, 27 Apr 2026 15:58:32 +0200, Tzung-Bi Shih <tzungbi@kernel.org> said:\n> This series introduces the \"revocable\" mechanism, a synchronization\n> primitive designed to prevent Use-After-Free errors.\n>\n> - Patch 1 introduces the revocable which is an implementation of ideas\n>   from the talk [1].\n>\n> - Patch 2 adds KUnit test cases.\n>\n> - Patches 3 to 7 transitions the UAF prevention logic within the GPIO\n>   core (gpiolib) to use the \"revocable\" mechanism.\n>\n>   The existing code aims to prevent UAF issues when the underlying GPIO\n>   chip is removed.  They replace that custom logic with the generic\n>   \"revocable\" API, which is designed to handle such lifecycle\n>   dependencies.  There should be no changes in behavior.\n>\n> - Patches 8 to 9 uses \"revocable\" mechanism to fix an UAF in\n>   cros_ec_chardev driver.  Alternatively, [2] is a series for fixing the\n>   same issue without using \"revocable\".\n>\n> Since v9, there are two ways to manage the resource provider handle.\n> - Embedded allocation: patches 3 to 7 might be the potential user.\n> - Dynamic allocation: patches 8 to 9 might be the potential user.\n>\n> [1] https://lpc.events/event/17/contributions/1627/\n> [2] https://lore.kernel.org/all/20260427134659.95181-1-tzungbi@kernel.org\n>\n> ---\n> v9:\n> - Rebase onto v7.1-rc1.\n> - Remove the selftests patch as it makes less sense to test revocable\n>   APIs via kselftests.\n\nMay I suggest kunit for that purpose?\n\nBart","headers":{"Return-Path":"\n <linux-gpio+bounces-35655-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=qIBWvKmq;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35655-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"qIBWvKmq\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4YNr1Nwrz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 18:23:40 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 9B35A30AFCD3\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 08:16:25 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B84A93D34B9;\n\tTue, 28 Apr 2026 08:16:10 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 774EA374728\n\tfor <linux-gpio@vger.kernel.org>; Tue, 28 Apr 2026 08:16:10 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 4C1EFC2BCB7\n\tfor <linux-gpio@vger.kernel.org>; Tue, 28 Apr 2026 08:16:10 +0000 (UTC)","by mail-lf1-f43.google.com with SMTP id\n 2adb3069b0e04-59dcdf60427so10075887e87.3\n        for <linux-gpio@vger.kernel.org>;\n Tue, 28 Apr 2026 01:16:10 -0700 (PDT)","from 969154062570 named unknown by gmailapi.google.com with\n HTTPREST; Tue, 28 Apr 2026 01:16:07 -0700","from 969154062570 named unknown by gmailapi.google.com with\n HTTPREST; Tue, 28 Apr 2026 01:16:07 -0700"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777364170; cv=none;\n b=Aqy0K1AVr+OY5QBSEpmRojSXzXpCCexMel90FuB2gKB6a4AhM9J7PXSkAkfQSIMOFEP0zIv6VCfGcA1IETydPzvyxgy+zSfqd2qzxP6I8OLtgRqzjnyo6G2FONDhDuuiRpE5vNfTxDXSqQdivJ5d454m6B65F8ye/CTUny8IAhE=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777364170; c=relaxed/simple;\n\tbh=bq8HV6bZ3WcAcFCsC2OjX+q9RAprj5qn+EQSHi6y6+k=;\n\th=From:In-Reply-To:MIME-Version:References:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=iC0odRotk3AjN06gewVVmKbsx8VO/nIwjzZW73q00UI1CjlacId5cxS7JHO844pmyRvhMRqybZL1EoKaEOuwpnBWj/SDairbU9z6dPF3/amdRzrDvkg3HSai0DEoC6HAliwl6F3z2gPXH23xOhmrzlh2AJWkG+fVJvBuOJSsNAA=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=qIBWvKmq; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777364170;\n\tbh=bq8HV6bZ3WcAcFCsC2OjX+q9RAprj5qn+EQSHi6y6+k=;\n\th=From:In-Reply-To:References:Date:Subject:To:Cc:From;\n\tb=qIBWvKmquz27t+Go2V5gNIPUUhN+84xp0X8Niq5t1XbT4ItMvfvOGJAJ66U6cuOhx\n\t 48nM5MUbOP/xZ4/VARPnd4M14YZj/fj5PdoKwkfwI+CQnB91OAh4Xgs0NU/zYAQK/O\n\t IHsPsU9BXs79FxUrL2xP/vqQTB2+ErlGF04q7Fnk8aHpvSCmy9F4cwEDZQX+X5QNGz\n\t hc1TGeVUYVl/L04D9x9LRg8wiiGR3A2zDfn/h6vnjFtYn89vPJK6WiiJaQRwuMV/j7\n\t bE2yLJlgXcWthuZ3WMubdJagLxyUcR9JeUGeneDEEyTROyN4DF4JaGAvJIQk84ws1R\n\t lKqg0/tcwHkdQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/GKyP0M8QVManNpn88lHGRulzZ6T3/FeaLaKVSI5MQZRjwUd08lzn50ZIyTlJrdF3gTis9WgoTPx6+@vger.kernel.org","X-Gm-Message-State":"AOJu0Ywxw0oraerwZ3mSe6eXvtdUhRIg4iIJoFiyNM9qyQwXjwDMH16C\n\tNlkcds4uRVWWSzRMXgtl8t8J0yuefvNYUskYJAYR86dg6thwcTVbjxge7exI+64EXaNQYUNXpDM\n\t4aP3bQR4izXLLlmOuLlmZi+HqzQYWmizJaRaHgVuoig==","X-Received":"by 2002:a05:6512:33c9:b0:5a4:19de:eb70 with SMTP id\n 2adb3069b0e04-5a74661dc65mr839483e87.28.1777364168951; Tue, 28 Apr 2026\n 01:16:08 -0700 (PDT)","From":"Bartosz Golaszewski <brgl@kernel.org>","In-Reply-To":"<20260427135841.96266-1-tzungbi@kernel.org>","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260427135841.96266-1-tzungbi@kernel.org>","Date":"Tue, 28 Apr 2026 01:16:07 -0700","X-Gmail-Original-Message-ID":"\n <CAMRc=MdnrKaEgFZod7DZC2FkigeQW6DogfODwmsZO=LS0Zie+w@mail.gmail.com>","X-Gm-Features":"AVHnY4LPpc6CD92dyZC7ll_n7sufI8xvpfzAcz25gEttk1XdSLAYMTRwT5j_PwM","Message-ID":"\n <CAMRc=MdnrKaEgFZod7DZC2FkigeQW6DogfODwmsZO=LS0Zie+w@mail.gmail.com>","Subject":"Re: [PATCH v9 0/9] drivers/base: Introduce revocable","To":"Tzung-Bi Shih <tzungbi@kernel.org>","Cc":"Benson Leung <bleung@chromium.org>, linux-kernel@vger.kernel.org,\n\tchrome-platform@lists.linux.dev, driver-core@lists.linux.dev,\n\tlinux-doc@vger.kernel.org, linux-gpio@vger.kernel.org,\n\t\"Rafael J. Wysocki\" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>,\n Jonathan Corbet <corbet@lwn.net>,\n\tShuah Khan <shuah@kernel.org>,\n Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tWolfram Sang <wsa+renesas@sang-engineering.com>,\n Jason Gunthorpe <jgg@nvidia.com>,\n\tJohan Hovold <johan@kernel.org>, \"Paul E . McKenney\" <paulmck@kernel.org>,\n\tDan Williams <dan.j.williams@intel.com>, Arnd Bergmann <arnd@arndb.de>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Bartosz Golaszewski <brgl@kernel.org>,\n\tLinus Walleij <linusw@kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\""}},{"id":3683237,"web_url":"http://patchwork.ozlabs.org/comment/3683237/","msgid":"<CAMRc=McXwgujqaZw-S-yzU329fRPmjPDZHvc9aMd9=MeU8mvCw@mail.gmail.com>","list_archive_url":null,"date":"2026-04-28T08:18:25","subject":"Re: [PATCH v9 0/9] drivers/base: Introduce revocable","submitter":{"id":92191,"url":"http://patchwork.ozlabs.org/api/people/92191/","name":"Bartosz Golaszewski","email":"brgl@kernel.org"},"content":"On Tue, Apr 28, 2026 at 10:16 AM Bartosz Golaszewski <brgl@kernel.org> wrote:\n>\n> > ---\n> > v9:\n> > - Rebase onto v7.1-rc1.\n> > - Remove the selftests patch as it makes less sense to test revocable\n> >   APIs via kselftests.\n>\n> May I suggest kunit for that purpose?\n>\n> Bart\n\nNevermind this, you did exactly that.\n\nBart","headers":{"Return-Path":"\n <linux-gpio+bounces-35656-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=WWhH7r6Z;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35656-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"WWhH7r6Z\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4YPx0nprz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 18:24:37 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 5C70E305A25C\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 08:18:41 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id D79653C661D;\n\tTue, 28 Apr 2026 08:18:39 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 9880E3C73E1\n\tfor <linux-gpio@vger.kernel.org>; Tue, 28 Apr 2026 08:18:39 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 6C85DC4AF0C\n\tfor <linux-gpio@vger.kernel.org>; Tue, 28 Apr 2026 08:18:39 +0000 (UTC)","by mail-lf1-f45.google.com with SMTP id\n 2adb3069b0e04-5a0fc5e2c59so10336803e87.1\n        for <linux-gpio@vger.kernel.org>;\n Tue, 28 Apr 2026 01:18:39 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777364319; cv=none;\n b=I9u8wR4HtM+LOqIxrmwyipJle+N9yhh1oW7AHmruSd/1H5OTnHPvAvuYZUjVIJvyqHbYx1rpZQbkDCpMBrf5XuYnaSqu8zCxCT6drRmRP2pOklkpwf2h6oLLUIhNFw/50ONTx4U/BiTO014Uz6y1mPLTHYVUOfS/3Jpa34IT5Yk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777364319; c=relaxed/simple;\n\tbh=rhTVfU0iqqWoXDOvkBlf/jSklc9+eqr7sxlcBfQT9M8=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=qYXLrLSZ9yY60rgnbiLI9xfwAjSQ1OoGyLeYd7j7egVd0s7ESOT9j0zWR6kUAR+Ml44GpayM9kiEx9BbGyWsHfXqodxRFtDClXWbod/Hsw302EryRR3/o5q/dewGnKu+qeiXw5FMZPOrRiOF3iNeWymArARSmZGkrPdWLk6G0MM=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=WWhH7r6Z; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777364319;\n\tbh=rhTVfU0iqqWoXDOvkBlf/jSklc9+eqr7sxlcBfQT9M8=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=WWhH7r6ZRUSWECnN00A9lnuE2V4KHXjMyZ4g0wK97LPDRGmHVZQNET24ueovX2+2u\n\t 1DaBcX6XdRRCj9+iwml0tczkLdQm3D6yNpoVJp5zanuhEabyfUF4sSag6oPjXhJCns\n\t dch36Ra5BOlX6Y1FecwewOne8gChNUUlH/EK9XYOHXSvz2JD1LMF9X6R85FBOF8VCS\n\t M9oZk0+MPz5DWqdNay6NJNp83WTtTTaZXYmyhI/lkyYP/Nbvo1XF6QyrUQ3ptxOiCx\n\t DJqRtjFVMWCyMLcztcMEQhrA6cfpCLoxsDcquWVMN8QvSD6DChdSvP1b1rIyZlAh3n\n\t rmI/VTSyYQSLg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+xYBFAW+czV4qDz1Nt4K3UtJOWV0ILR0Ho8xg9zOWvv5G8YM5NWEHQVPa/RXkc/ASW+MjkSmv42Oe+@vger.kernel.org","X-Gm-Message-State":"AOJu0YzJ7uy5gdlz+zaPSiMtryB1nwqp0ge6AWjDAQAxUaN+silcPBPY\n\tFn3A2o5io42hNFMG34PZn3tj3pFpcIHuD/7cgzWpihcEU8pVgxTl6ImKTuV3Ji4Uwj3BQ/IRL9h\n\tgv1YoKNjXdjdVhVXZwlaIQw19RhZimK0vNkg5Q79HCw==","X-Received":"by 2002:a05:6512:124f:b0:5a3:ff48:f7db with SMTP id\n 2adb3069b0e04-5a746615ca1mr877554e87.34.1777364318061; Tue, 28 Apr 2026\n 01:18:38 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260427135841.96266-1-tzungbi@kernel.org>\n <CAMRc=MdnrKaEgFZod7DZC2FkigeQW6DogfODwmsZO=LS0Zie+w@mail.gmail.com>","In-Reply-To":"\n <CAMRc=MdnrKaEgFZod7DZC2FkigeQW6DogfODwmsZO=LS0Zie+w@mail.gmail.com>","From":"Bartosz Golaszewski <brgl@kernel.org>","Date":"Tue, 28 Apr 2026 10:18:25 +0200","X-Gmail-Original-Message-ID":"\n <CAMRc=McXwgujqaZw-S-yzU329fRPmjPDZHvc9aMd9=MeU8mvCw@mail.gmail.com>","X-Gm-Features":"AVHnY4JD7aUdC5j3W8xDfoS0kGuriHPxhl3Qt0U8ZbQApFNMnsdkWkk7dojljys","Message-ID":"\n <CAMRc=McXwgujqaZw-S-yzU329fRPmjPDZHvc9aMd9=MeU8mvCw@mail.gmail.com>","Subject":"Re: [PATCH v9 0/9] drivers/base: Introduce revocable","To":"Tzung-Bi Shih <tzungbi@kernel.org>","Cc":"Benson Leung <bleung@chromium.org>, linux-kernel@vger.kernel.org,\n\tchrome-platform@lists.linux.dev, driver-core@lists.linux.dev,\n\tlinux-doc@vger.kernel.org, linux-gpio@vger.kernel.org,\n\t\"Rafael J. Wysocki\" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>,\n Jonathan Corbet <corbet@lwn.net>,\n\tShuah Khan <shuah@kernel.org>,\n Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tWolfram Sang <wsa+renesas@sang-engineering.com>,\n Jason Gunthorpe <jgg@nvidia.com>,\n\tJohan Hovold <johan@kernel.org>, \"Paul E . McKenney\" <paulmck@kernel.org>,\n\tDan Williams <dan.j.williams@intel.com>, Arnd Bergmann <arnd@arndb.de>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Linus Walleij <linusw@kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]