• Kairui Song's avatar
    x86/gart: Exclude GART aperture from kcore · ffc8599a
    Kairui Song authored
    On machines where the GART aperture is mapped over physical RAM,
    /proc/kcore contains the GART aperture range. Accessing the GART range via
    /proc/kcore results in a kernel crash.
    
    vmcore used to have the same issue, until it was fixed with commit
    2a3e83c6 ("x86/gart: Exclude GART aperture from vmcore")', leveraging
    existing hook infrastructure in vmcore to let /proc/vmcore return zeroes
    when attempting to read the aperture region, and so it won't read from the
    actual memory.
    
    Apply the same workaround for kcore. First implement the same hook
    infrastructure for kcore, then reuse the hook functions introduced in the
    previous vmcore fix. Just with some minor adjustment, rename some functions
    for more general usage, and simplify the hook infrastructure a bit as there
    is no module usage yet.
    Suggested-by: default avatarBaoquan He <bhe@redhat.com>
    Signed-off-by: default avatarKairui Song <kasong@redhat.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarJiri Bohac <jbohac@suse.cz>
    Acked-by: default avatarBaoquan He <bhe@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Omar Sandoval <osandov@fb.com>
    Cc: Dave Young <dyoung@redhat.com>
    Link: https://lkml.kernel.org/r/20190308030508.13548-1-kasong@redhat.com
    
    ffc8599a
kcore.c 15.5 KB