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
WARNING: multiple messages have this Message-ID (diff)
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!
next prev parent reply other threads:[~2023-01-03 20:59 UTC|newest]
Thread overview: 28+ 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:58 ` 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 ` 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 ` 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 ` 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-03 16:59 ` Russell King (Oracle)
2023-01-05 4:23 ` [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name() Dan Carpenter
2023-01-05 4:23 ` 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 16:59 ` 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 18:12 ` Hector Martin
2023-01-03 20:56 ` Russell King (Oracle) [this message]
2023-01-03 20:56 ` Russell King (Oracle)
2023-01-10 16:25 ` Russell King (Oracle)
2023-01-10 16:25 ` Russell King (Oracle)
2023-01-13 11:55 ` Hector Martin
2023-01-13 11:55 ` Hector Martin
2023-01-03 21:15 ` Srinivas Kandagatla
2023-01-03 21:15 ` Srinivas Kandagatla
2023-01-04 1:15 ` Hector Martin
2023-01-04 1:15 ` Hector Martin
2023-01-04 10:29 ` Russell King (Oracle)
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 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.