Re: [BUGFIX][PATCH -tip] x86: fix text_poke to handle highmem pages

Masami Hiramatsu
2009-04-06T17:43:41Z

Mathieu Desnoyers wrote:
> * Masami Hiramatsu (mhiramat@redhat.com) wrote:
>> Fix a bug in text_poke to handle highmem pages, because module
>> text pages are possible to be highmem pages on x86-32.
>> In that case, since fixmap can't handle those pages, text_poke
>> uses kmap_atomic.
>>
>
> Hrm, can you remind me what would be the downside of using kmap_atomic
> in every scenarios (highmem and non-highmem) then ?

kmap_atomic can handle only highmem pages. If you passes lowmem pages,
it returns just original vaddr of it. (because kmap is only for
highmem support)

>
> I would try to avoid "special cases" as much as possible, because they
> just make problems harder to reproduce.

Actually, this bug is a special case because it happens only on PAE kernel.

>
> The idea would be to either add fixmap highmem support, or to simply use
> kmap_atomic() for all cases until we add fixmap highmem support.
>

Thank you,