• Mathieu Desnoyers's avatar
    x86: enhance DEBUG_RODATA support - alternatives · e587cadd
    Mathieu Desnoyers authored
    Fix a memcpy that should be a text_poke (in apply_alternatives).
    
    Use kernel_wp_save/kernel_wp_restore in text_poke to support DEBUG_RODATA
    correctly and so the CPU HOTPLUG special case can be removed.
    
    Add text_poke_early, for alternatives and paravirt boot-time and module load
    time patching.
    
    Changelog:
    
    - Fix text_set and text_poke alignment check (mixed up bitwise and and or)
    - Remove text_set
    - Export add_nops, so it can be used by others.
    - Document text_poke_early.
    - Remove clflush, since it breaks some VIA architectures and is not strictly
      necessary.
    - Add kerneldoc to text_poke and text_poke_early.
    - Create a second vmap instead of using the WP bit to support Xen and VMI.
    - Move local_irq disable within text_poke and text_poke_early to be able to
      be sleepable in these functions.
    Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    CC: Andi Kleen <andi@firstfloor.org>
    CC: pageexec@freemail.hu
    CC: H. Peter Anvin <hpa@zytor.com>
    CC: Jeremy Fitzhardinge <jeremy@goop.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    e587cadd
alternative.c 13.2 KB