This is a note to let you know that I've just added the patch titled
watchdog: hpwdt: clean up set_memory_x call for 32 bit
to the 3.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
watchdog-hpwdt-clean-up-set_memory_x-call-for-32-bit.patch
and it can be found in the queue-3.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 97d2a10d5804d585ab0b58efbd710948401b886a Mon Sep 17 00:00:00 2001
From: Maxim Uvarov <[email protected]>
Date: Sun, 15 Jan 2012 20:02:50 -0800
Subject: watchdog: hpwdt: clean up set_memory_x call for 32 bit
From: Maxim Uvarov <[email protected]>
commit 97d2a10d5804d585ab0b58efbd710948401b886a upstream.
1. address has to be page aligned.
2. set_memory_x uses page size argument, not size.
Bug causes with following commit:
commit da28179b4e90dda56912ee825c7eaa62fc103797
Author: Mingarelli, Thomas <[email protected]>
Date: Mon Nov 7 10:59:00 2011 +0100
watchdog: hpwdt: Changes to handle NX secure bit in 32bit path
commit e67d668e147c3b4fec638c9e0ace04319f5ceccd upstream.
This patch makes use of the set_memory_x() kernel API in order
to make necessary BIOS calls to source NMIs.
Signed-off-by: Maxim Uvarov <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/watchdog/hpwdt.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -216,7 +216,7 @@ static int __devinit cru_detect(unsigned
cmn_regs.u1.reax = CRU_BIOS_SIGNATURE_VALUE;
- set_memory_x((unsigned long)bios32_entrypoint, (2 * PAGE_SIZE));
+ set_memory_x((unsigned long)bios32_map, 2);
asminline_call(&cmn_regs, bios32_entrypoint);
if (cmn_regs.u1.ral != 0) {
@@ -235,7 +235,8 @@ static int __devinit cru_detect(unsigned
cru_rom_addr =
ioremap(cru_physical_address, cru_length);
if (cru_rom_addr) {
- set_memory_x((unsigned long)cru_rom_addr,
cru_length);
+ set_memory_x((unsigned long)cru_rom_addr &
PAGE_MASK,
+ (cru_length + PAGE_SIZE - 1) >>
PAGE_SHIFT);
retval = 0;
}
}
Patches currently in stable-queue which might be from [email protected]
are
queue-3.0/watchdog-hpwdt-clean-up-set_memory_x-call-for-32-bit.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html