From: sudeep.holla@arm.com (Sudeep Holla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] power: vexpress: fix corruption in notifier registration
Date: Fri, 6 Jul 2018 12:34:21 +0100 [thread overview]
Message-ID: <377ad2bb-b620-f6cc-6f0b-8d4d304dac55@arm.com> (raw)
In-Reply-To: <1529337272-11799-1-git-send-email-sudeep.holla@arm.com>
On 18/06/18 16:54, Sudeep Holla wrote:
> Vexpress platforms provide two different restart handlers: SYS_REBOOT
> that restart the entire system, while DB_RESET only restarts the
> daughter board containing the CPU. DB_RESET is overridden by SYS_REBOOT
> if it exists.
>
> notifier_chain_register used in register_restart_handler by design
> relies on notifiers to be registered once only, however vexpress restart
> notifier can get registered twice. When this happen it corrupts list
> of notifiers, as result some notifiers can be not called on proper
> event, traverse on list can be cycled forever, and second unregister
> can access already freed memory.
>
> So far, since this was the only restart handler in the system, no issue
> was observed even if the same notifier was registered twice. However
> commit 6c5c0d48b686 ("watchdog: sp805: add restart handler") added
> support for SP805 restart handlers and since the system under test
> contains two vexpress restart and two SP805 watchdog instances, it was
> observed that during the boot traversing the restart handler list looped
> forever as there's a cycle in that list resulting in boot hang.
>
> This patch fixes the issues by ensuring that the notifier is installed
> only once.
>
> Cc: Sebastian Reichel <sre@kernel.org>
Gentle Ping ! This needs to go as fix as my platform(TC2) fails to boot
without this.
--
Regards,
Sudeep
next prev parent reply other threads:[~2018-07-06 11:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-18 11:40 [PATCH] power: vexpress: fix corruption in notifier registration Sudeep Holla
2018-06-18 14:56 ` Lorenzo Pieralisi
2018-06-18 15:51 ` Sudeep Holla
2018-06-18 15:54 ` [PATCH v2] " Sudeep Holla
2018-06-22 12:47 ` Sudeep Holla
2018-07-06 11:34 ` Sudeep Holla [this message]
2018-07-06 14:33 ` Sebastian Reichel
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=377ad2bb-b620-f6cc-6f0b-8d4d304dac55@arm.com \
--to=sudeep.holla@arm.com \
--cc=linux-arm-kernel@lists.infradead.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).