From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Hector Martin <marcan@marcan.st>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Gaosheng Cui <cuigaosheng1@huawei.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Maxime Ripard <mripard@kernel.org>
Subject: Re: [PATCH v3 0/5] Fix a whole host of nvmem registration/cleanup issues
Date: Tue, 3 Jan 2023 20:56:32 +0000 [thread overview]
Message-ID: <Y7SWgC7m4tYSU1UJ@shell.armlinux.org.uk> (raw)
In-Reply-To: <5333ed0e-010c-178a-beb2-e8a4338f2d43@marcan.st>
Really not interested in your politics. Not interested in fixing this
problem.
I'll use these patches to fix the problem in my tree. I don't care about
mainline.
On Wed, Jan 04, 2023 at 03:12:44AM +0900, Hector Martin wrote:
> On 04/01/2023 01.58, Russell King (Oracle) wrote:
> > Hi,
> >
> > This series fixes a whole host of nvmem registration/error cleanup
> > issues that have been identified by both Hector and myself. It is a
> > substantial rework of my original patch fixing the first problem.
> >
> > The first most obvious problem is the race between nvmem registration
> > and use, which leads to sporadic failures of drivers to probe at boot
> > time.
> >
> > While fixing this, it has been noticed that a recent fix to check the
> > return value of dev_set_name() introduced a new bug where wp_gpio was
> > not being put in that newly introduced error path.
> >
> > Then there's a fix for a previous fix which itself purports to fix
> > another bug, but results in the allocated ID being leaked. Fix for a
> > fix for a fix is not good!
> >
> > Then there's an error in the docbook documentation for wp_gpio (it's
> > listed as wp-gpio instead) but as nothing seems to set wp_gpio, we
> > might as well get rid of it - which also solves the issue that we
> > call gpiod_put() on this whether we own it or not.
> >
> > Lastly, there's a fix for yet another spurious white-space in this
> > code, one of what seems to be a long history of past white-space
> > fixes.
> >
> > These patches have been individually build-tested in the order of
> > posting, but not run-time tested except for the entire series.
> >
> > drivers/nvmem/core.c | 51 ++++++++++++++++++------------------------
> > include/linux/nvmem-provider.h | 2 --
> > 2 files changed, 22 insertions(+), 31 deletions(-)
> >
>
> Uhh. The series itself looks fine as far as fixing the problems, but I
> fail to see how this is any better than my attempt as far as backporting
> or commit atomicity goes. Patch #4 fixes the newer gpio leak bug *and*
> half fixes the race condition bug, then patch #5 completes the race
> condition fix but now depends on #4, meaning you're left with exactly
> the same backporting mess since now you can't apply #5 to older kernels
> and #4 only to newer ones. Splitting the commits like this buys you nothing.
>
> I thought we were doing minimal backportable fixes to solve this, but
> your commit message for #4 literally says "While a minimal fix for this
> would be to add the gpiod_put() call, we can do better if we split
> device_register() [...]"... and then that whole "let's do better" part
> is what breaks the backportability again.
>
> And then of course if you *do* manage to queue at least #4 to be
> backported to a newer subset of stable trees, #3 certainly isn't going
> to get backported itself (since it's just removing dead code, not
> eligible for stable since it fixes no actual bugs), but then you're left
> with the same
> broken-on-paper-except-nobody-uses-it-anyway-so-it-doesn't-matter
> situation my v2 left us in for those stable kernels.
>
> That said, thanks for identifying that nobody uses the functionality I
> supposedly regressed (in a tiny corner case code path where it was
> already broken anyway) in my v2, and therefore I didn't actually regress
> anything in practice and strictly fixed real bugs.
>
> - Hector
>
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-03 20:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-03 16:58 [PATCH v3 0/5] Fix a whole host of nvmem registration/cleanup issues Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 1/5] nvmem: core: remove spurious white space Bartosz Golaszewski <bgolaszewski@baylibre.com>,Gaosheng Cui <cuigaosheng1@huawei.com>,Greg Kroah-Hartman <gregkh@linuxfoundation.org>,linux-arm-kernel@lists.infradead.org,linux-kernel@vger.kernel.org,Maxime Ripard <mripard@kernel.org>, Hector Martin <marcan@marcan.st> Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 2/5] nvmem: core: initialise nvmem->id early " Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 3/5] nvmem: core: remove nvmem_config wp_gpio " Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name() " Russell King (Oracle)
2023-01-05 4:23 ` [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name() Dan Carpenter
2023-01-03 16:59 ` [PATCH v3 5/5] nvmem: core: fix registration vs use race Bartosz Golaszewski <bgolaszewski@baylibre.com>,Gaosheng Cui <cuigaosheng1@huawei.com>,Greg Kroah-Hartman <gregkh@linuxfoundation.org>,linux-arm-kernel@lists.infradead.org,linux-kernel@vger.kernel.org,Maxime Ripard <mripard@kernel.org>, Hector Martin <marcan@marcan.st> Russell King (Oracle)
2023-01-03 18:12 ` [PATCH v3 0/5] Fix a whole host of nvmem registration/cleanup issues Hector Martin
2023-01-03 20:56 ` Russell King (Oracle) [this message]
2023-01-10 16:25 ` Russell King (Oracle)
2023-01-13 11:55 ` Hector Martin
2023-01-03 21:15 ` Srinivas Kandagatla
2023-01-04 1:15 ` Hector Martin
2023-01-04 10:29 ` Russell King (Oracle)
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=Y7SWgC7m4tYSU1UJ@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=bgolaszewski@baylibre.com \
--cc=cuigaosheng1@huawei.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=mripard@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).