From: Borislav Petkov <bp@alien8.de>
To: Jia He <justin.he@arm.com>
Cc: Len Brown <lenb@kernel.org>, James Morse <james.morse@arm.com>,
Tony Luck <tony.luck@intel.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Robert Richter <rric@kernel.org>,
Robert Moore <robert.moore@intel.com>,
Qiuxu Zhuo <qiuxu.zhuo@intel.com>,
Yazen Ghannam <yazen.ghannam@amd.com>,
Jonathan Corbet <corbet@lwn.net>, Jan Luebbe <jlu@pengutronix.de>,
Khuong Dinh <khuong@os.amperecomputing.com>,
Kani Toshi <toshi.kani@hpe.com>, Ard Biesheuvel <ardb@kernel.org>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-edac@vger.kernel.org, devel@acpica.org,
"Rafael J . Wysocki" <rafael@kernel.org>,
Shuai Xue <xueshuai@linux.alibaba.com>,
Jarkko Sakkinen <jarkko@kernel.org>,
linux-efi@vger.kernel.org, nd@arm.com,
"Paul E. McKenney" <paulmck@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Neeraj Upadhyay <quic_neeraju@quicinc.com>,
Randy Dunlap <rdunlap@infradead.org>,
Damien Le Moal <damien.lemoal@opensource.wdc.com>,
Muchun Song <songmuchun@bytedance.com>,
linux-doc@vger.kernel.org, stable@kernel.org
Subject: Re: [RESEND PATCH v3 3/9] EDAC/ghes: Make ghes_edac a proper module to remove the dependency on ghes
Date: Wed, 24 Aug 2022 17:37:12 +0200 [thread overview]
Message-ID: <YwZFqHvcEzVpAxzn@zn.tnic> (raw)
In-Reply-To: <20220822154048.188253-4-justin.he@arm.com>
On Mon, Aug 22, 2022 at 03:40:42PM +0000, Jia He wrote:
> Commit dc4e8c07e9e2 ("ACPI: APEI: explicit init of HEST and GHES in
> apci_init()") introduced a bug that ghes_edac_register() would be invoked
> before edac_init(). Because at that time, the bus "edac" hadn't been even
> registered, this created sysfs /devices/mc0 instead of
> /sys/devices/system/edac/mc/mc0 on an Ampere eMag server.
>
> To remove the dependency of ghes_edac on ghes, make it a proper module. Use
> a list to save the probing devices in ghes_probe(), and defer the
> ghes_edac_register() to module_init() of the new ghes_edac module by
> iterating over the devices list.
>
> Co-developed-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Borislav Petkov <bp@alien8.de>
> Signed-off-by: Jia He <justin.he@arm.com>
> Fixes: dc4e8c07e9e2 ("ACPI: APEI: explicit init of HEST and GHES in apci_init()")
> Cc: stable@kernel.org
Why is this marked for stable?
The prerequisite patches are needed too. I guess this needs to be
communicated to stable folks somehow by doing
Cc: stable@kernel.org # needs commits X, Y, ...
but I guess the committer needs to do that because only at commit time
will X and Y be known...
So, is there any particular reason why this should be in stable?
> @@ -1442,7 +1449,9 @@ static int ghes_remove(struct platform_device *ghes_dev)
>
> ghes_fini(ghes);
>
> - ghes_edac_unregister(ghes);
> + mutex_lock(&ghes_devs_mutex);
> + list_del_rcu(&ghes->elist);
Is that list RCU-protected?
> + mutex_unlock(&ghes_devs_mutex);
>
> kfree(ghes);
...
> @@ -566,3 +549,35 @@ void ghes_edac_unregister(struct ghes *ghes)
> unlock:
> mutex_unlock(&ghes_reg_mutex);
> }
> +
> +static int __init ghes_edac_init(void)
> +{
> + struct ghes *g, *g_tmp;
> +
> + if (!IS_ENABLED(CONFIG_X86))
> + force_load = true;
No, this is not how this works.
> + ghes_devs = ghes_get_devices(force_load);
> + if (!ghes_devs)
> + return -ENODEV;
You simply need to check force_load here.
> + list_for_each_entry_safe(g, g_tmp, ghes_devs, elist) {
> + ghes_edac_register(g->dev);
> + }
> +
> + return 0;
> +}
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
next prev parent reply other threads:[~2022-08-24 15:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-22 15:40 [RESEND PATCH v3 0/9] Make ghes_edac a proper module Jia He
2022-08-22 15:40 ` [RESEND PATCH v3 1/9] efi/cper: export several helpers for ghes_edac to use Jia He
2022-08-22 15:40 ` [RESEND PATCH v3 2/9] EDAC/ghes: Add a notifier for reporting memory errors Jia He
2022-08-22 15:40 ` [RESEND PATCH v3 3/9] EDAC/ghes: Make ghes_edac a proper module to remove the dependency on ghes Jia He
2022-08-24 15:37 ` Borislav Petkov [this message]
2022-08-25 12:21 ` Justin He
2022-08-26 19:30 ` Kani, Toshi
2022-08-26 22:42 ` Elliott, Robert (Servers)
2022-08-27 5:22 ` Borislav Petkov
2022-08-29 15:59 ` Yazen Ghannam
2022-08-29 20:39 ` Borislav Petkov
2022-08-29 21:37 ` Kani, Toshi
2022-08-22 15:40 ` [RESEND PATCH v3 4/9] EDAC/ghes: Move ghes_edac.force_load to setup parameter Jia He
2022-08-24 15:52 ` Borislav Petkov
2022-08-25 9:42 ` Justin He
2022-08-30 1:21 ` Justin He
2022-08-22 15:40 ` [RESEND PATCH v3 5/9] EDAC: Don't load chipset-specific edac drivers when ghes_edac is preferred Jia He
2022-08-24 23:04 ` Kani, Toshi
2022-08-25 9:45 ` Justin He
2022-08-25 23:38 ` Kani, Toshi
2022-08-22 15:40 ` [RESEND PATCH v3 6/9] ghes: Introduce a flag ghes_present Jia He
2022-08-22 15:40 ` [RESEND PATCH v3 7/9] apei/ghes: Use unrcu_pointer for cmpxchg Jia He
2022-08-22 15:40 ` [RESEND PATCH v3 8/9] EDAC/igen6: Keep returned errno consistent when edac mc has been enabled Jia He
2022-08-22 15:40 ` [RESEND PATCH v3 9/9] edac: Don't load Arm specific edac drivers when ghes_edac is preferred Jia He
2022-08-23 1:49 ` [RESEND PATCH v3 0/9] Make ghes_edac a proper module Justin He
-- strict thread matches above, loose matches on Subject: below --
2022-08-23 17:19 [Devel] " Rafael J. Wysocki
2022-08-23 17:19 ` Rafael J. Wysocki
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=YwZFqHvcEzVpAxzn@zn.tnic \
--to=bp@alien8.de \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=corbet@lwn.net \
--cc=damien.lemoal@opensource.wdc.com \
--cc=devel@acpica.org \
--cc=james.morse@arm.com \
--cc=jarkko@kernel.org \
--cc=jlu@pengutronix.de \
--cc=justin.he@arm.com \
--cc=khuong@os.amperecomputing.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=nd@arm.com \
--cc=paulmck@kernel.org \
--cc=qiuxu.zhuo@intel.com \
--cc=quic_neeraju@quicinc.com \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=robert.moore@intel.com \
--cc=rric@kernel.org \
--cc=songmuchun@bytedance.com \
--cc=stable@kernel.org \
--cc=tony.luck@intel.com \
--cc=toshi.kani@hpe.com \
--cc=xueshuai@linux.alibaba.com \
--cc=yazen.ghannam@amd.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.