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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 25 Nov 2013 13:28:02 -0800
From:	tip-bot for Laxman Dewangan <tipbot@...or.com>
To:	linux-tip-commits@...r.kernel.org
Cc:	linux-kernel@...r.kernel.org, heiko@...ech.de, hpa@...or.com,
	mingo@...nel.org, konrad.wilk@...cle.com, ian.campbell@...rix.com,
	pavel@....cz, gregkh@...uxfoundation.org, ldewangan@...dia.com,
	rjw@...ysocki.net, tglx@...utronix.de, len.brown@...el.com
Subject: [tip:irq/urgent] irq:
  Enable all irqs unconditionally in irq_resume

Commit-ID:  ac01810c9d2814238f08a227062e66a35a0e1ea2
Gitweb:     http://git.kernel.org/tip/ac01810c9d2814238f08a227062e66a35a0e1ea2
Author:     Laxman Dewangan <ldewangan@...dia.com>
AuthorDate: Mon, 25 Nov 2013 19:39:47 +0530
Committer:  Thomas Gleixner <tglx@...utronix.de>
CommitDate: Mon, 25 Nov 2013 22:20:02 +0100

irq: Enable all irqs unconditionally in irq_resume

When the system enters suspend, it disables all interrupts in
suspend_device_irqs(), including the interrupts marked EARLY_RESUME.

On the resume side things are different. The EARLY_RESUME interrupts
are reenabled in sys_core_ops->resume and the non EARLY_RESUME
interrupts are reenabled in the normal system resume path.

When suspend_noirq() failed or suspend is aborted for any other
reason, we might omit the resume side call to sys_core_ops->resume()
and therefor the interrupts marked EARLY_RESUME are not reenabled and
stay disabled forever.

To solve this, enable all irqs unconditionally in irq_resume()
regardless whether interrupts marked EARLY_RESUMEhave been already
enabled or not.

This might try to reenable already enabled interrupts in the non
failure case, but the only affected platform is XEN and it has been
confirmed that it does not cause any side effects.

[ tglx: Massaged changelog. ]

Signed-off-by: Laxman Dewangan <ldewangan@...dia.com>
Acked-by-and-tested-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Acked-by: Heiko Stuebner <heiko@...ech.de>
Reviewed-by: Pavel Machek <pavel@....cz>
Cc: <ian.campbell@...rix.com>
Cc: <rjw@...ysocki.net>
Cc: <len.brown@...el.com>
Cc: <gregkh@...uxfoundation.org>
Cc: stable@...r.kernel.org
Link: http://lkml.kernel.org/r/1385388587-16442-1-git-send-email-ldewangan@nvidia.com
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
---
 kernel/irq/pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c
index cb228bf..abcd6ca 100644
--- a/kernel/irq/pm.c
+++ b/kernel/irq/pm.c
@@ -50,7 +50,7 @@ static void resume_irqs(bool want_early)
 		bool is_early = desc->action &&
 			desc->action->flags & IRQF_EARLY_RESUME;
 
-		if (is_early != want_early)
+		if (!is_early && want_early)
 			continue;
 
 		raw_spin_lock_irqsave(&desc->lock, flags);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ