Re: [BUG][-tip] kprobes on module functions hits kernel BUG in text_poke on x86-32

Masami Hiramatsu
2009-04-05T03:49:42Z

Masami Hiramatsu wrote:
> Hmm, ok. AFAICS, fixmap is only for lowmem, and pkmap is only for highmem.

Oops, I mean kmap...

> So, I think we have some options;
>
> A) Separate text_poke into __text_poke and __text_poke_highmem. And
> use pkmap_atomic in __text_poke_highmem. This way doesn't require
> any additional change except adding KM_TEXT_POKE0/1 in km_type.
>
> B) Add set_fixmap_page and use it in text_poke. This will require
> changes in paravirt_ops and pgtable.c. We need to ensure there is
> no side effects.
>
> C) Change pkmap_atomic_prot to map lowmem only if the page's pgprot
> is different from user specified pgprot. And use it instead of
> fixmap. This also requires KM_TEXT_POKE0/1, however we can
> remove FIX_TEXT_POKE0/1.

same, s/pkmap/kmap/g