Re: [PATCH] hpwd watchdog mark page executable

From: Andrew Morton
Date: Tue Dec 20 2011 - 19:51:23 EST


On Mon, 5 Dec 2011 16:25:39 -0800
Maxim Uvarov <maxim.uvarov@xxxxxxxxxx> wrote:

> 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?

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/