mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Wim Van Sebroeck <wim@iguana.be>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Maxim Uvarov <maxim.uvarov@oracle.com>,
	linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
	wim@iguana.be
Subject: Re: [PATCH] hpwd watchdog mark page executable
Date: Thu, 22 Dec 2011 08:57:34 +0100	[thread overview]
Message-ID: <20111222075734.GL23376@infomag.iguana.be> (raw)
In-Reply-To: <20111220165059.4e79a416.akpm@linux-foundation.org>

Hi All,

> > Mark hpwdt watchdog pages executable to prevent failing:
> > BUG: unable to handle kernel paging request at c00f0000
> >  IP: [<c00f0000>] 0xc00effff
> >  *pdpt = 0000000000b7c001 *pde = 0000000000cf5067 *pte = 80000000000f0163
> >  Oops: 0011 [#1] SMP
> >
> > ...
> >
> > --- a/drivers/watchdog/hpwdt.c
> > +++ b/drivers/watchdog/hpwdt.c
> > @@ -335,6 +335,8 @@ static int __devinit detect_cru_service(void)
> >  	if (p == NULL)
> >  		return -ENOMEM;
> >  
> > +	set_memory_x((unsigned long)p & PAGE_MASK, ROM_SIZE >> PAGE_SHIFT);
> > +
> >  	for (q = p; q < p + ROM_SIZE; q += 16) {
> >  		rc = bios32_present(q);
> >  		if (!rc)
> 
> Odd.  Either nobody else is using this driver, or there's something
> special about your setup.  Are you able to explain this?  
> 
> Also, do you believe that this fix should be backported into earlier
> stable kernels and if so, why?

See attached the patch that the driver author has sent in and which is in linux-next since 2 days.
This is a reworked version (due to nmi changes) but the original comment from Thomas Mingarelli was:
> This is needed for SLES11 SP2 and the latest upstream kernel as it appears the
> NX Execute Disable has grown in its control.
> I have tested this against the SLES11 SP2 kernel, the 3.0.4 upstream stable
> kernel, and the latest upstream kernel in development (which this patch is
> created against).

Kind regards,
Wim.
-------------------------------------------------------------------------------------------------
From: Mingarelli, Thomas
Sent: Monday, November 07, 2011 10:59 AM
To: Wim Van Sebroeck
Cc: Mingarelli, Thomas
Subject: [hpwdt patch] Changes to handle NX secure bit in 32bit path

This patch makes use of the set_memory_x() kernel API in order
to make necessary BIOS calls to source NMIs.
Signed-off by: Thomas Mingarelli <thomas.mingarelli@hp.com>

diff -up ./drivers/watchdog/hpwdt.c.ORIG ./drivers/watchdog/hpwdt.c
--- ./drivers/watchdog/hpwdt.c.ORIG	2011-11-07 10:46:37.000000000 -0600
+++ ./drivers/watchdog/hpwdt.c	2011-11-07 10:50:59.000000000 -0600
@@ -230,6 +230,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));
 	asminline_call(&cmn_regs, bios32_entrypoint);
 
 	if (cmn_regs.u1.ral != 0) {
@@ -247,8 +248,10 @@ static int __devinit cru_detect(unsigned
 		if ((physical_bios_base + physical_bios_offset)) {
 			cru_rom_addr =
 				ioremap(cru_physical_address, cru_length);
-			if (cru_rom_addr)
+			if (cru_rom_addr) {
+				set_memory_x((unsigned long)cru_rom_addr, cru_length);
 				retval = 0;
+			}
 		}
 
 		printk(KERN_DEBUG "hpwdt: CRU Base Address:   0x%lx\n",



      parent reply	other threads:[~2011-12-22  7:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-06  0:25 Maxim Uvarov
2011-12-06  0:25 ` Maxim Uvarov
2011-12-21  0:50   ` Andrew Morton
2011-12-21  1:33     ` Maxim Uvarov
2011-12-22  7:57     ` Wim Van Sebroeck [this message]

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=20111222075734.GL23376@infomag.iguana.be \
    --to=wim@iguana.be \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=maxim.uvarov@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®