Re: [PATCH 1/1] x86: fix text_poke

From: Linus Torvalds
Date: Fri Apr 25 2008 - 12:44:56 EST




On Fri, 25 Apr 2008, Ingo Molnar wrote:
>
> hm, right now we've got a debug protection in set_fixmap() to make sure
> it's only ever called once. So it's going to be a noisy bootup. (but
> it's a warning only) The patch below removes that.

No, I think the warning is good, I should have done some kind of
clear_fixmap() after doing the mmap.


But there was actually a much worse problem with my patch: __set_fixmap()
is __init. Which means that my patch was just totally broken.

What I really wanted to do was to just follow the page tables and mark it
writable temporarily over the whole loop, and get rid of the whole mess.

(We'd need to make __set_fixmap() non-init, and probably return the pte_t
pointer that it used, so that we could then just use "native_pte_clear()"
on the thing after having done the memcpy()).

I suspect I should have just kept using vmap(), even if I do dislike just
how insanely expensive that likely is.

Linus
--
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/