lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 7 Apr 2016 06:19:27 -0700 From: Guenter Roeck <linux@...ck-us.net> To: Richard Cochran <rcochran@...utronix.de> Cc: linux-kernel@...r.kernel.org, rt@...utronix.de, Wim Van Sebroeck <wim@...ana.be>, linux-watchdog@...r.kernel.org Subject: Re: [2/5] watchdog: octeon: Handle the FROZEN hot plug notifier actions. On Fri, Mar 18, 2016 at 10:26:08PM +0100, Richard Cochran wrote: > When performing a suspend operation, the kernel brings all of the > non-boot CPUs offline, calling the hot plug notifiers with the flag, > CPU_TASKS_FROZEN, set in the action code. Similarly, during resume, > the CPUs are brought back online, but again the notifiers have the > FROZEN flag set. > > While some very few drivers really need to treat suspend/resume > specially, this driver unintentionally ignores the notifications. > > This patch changes the driver to disable the watchdog interrupt > whenever the CPU goes offline, and to enable it whenever the CPU goes > back online. As a result, the suspended state is no longer a special > case that leaves the watchdog active. > > Cc: Wim Van Sebroeck <wim@...ana.be> > Cc: Guenter Roeck <linux@...ck-us.net> > Cc: linux-watchdog@...r.kernel.org > Signed-off-by: Richard Cochran <rcochran@...utronix.de> Reviewed-by: Guenter Roeck <linux@...ck-us.net> > --- > drivers/watchdog/octeon-wdt-main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c > index 14521c8..b55981f 100644 > --- a/drivers/watchdog/octeon-wdt-main.c > +++ b/drivers/watchdog/octeon-wdt-main.c > @@ -431,7 +431,7 @@ static int octeon_wdt_cpu_callback(struct notifier_block *nfb, > { > unsigned int cpu = (unsigned long)hcpu; > > - switch (action) { > + switch (action & ~CPU_TASKS_FROZEN) { > case CPU_DOWN_PREPARE: > octeon_wdt_disable_interrupt(cpu); > break;
Powered by blists - more mailing lists