• Kairui Song's avatar
    x86/gart: Exclude GART aperture from kcore · 64253073
    Kairui Song authored
    [ Upstream commit ffc8599a ]
    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: 's avatarBaoquan He <bhe@redhat.com>
    Signed-off-by: 's avatarKairui Song <kasong@redhat.com>
    Signed-off-by: 's avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: 's avatarJiri Bohac <jbohac@suse.cz>
    Acked-by: 's 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.comSigned-off-by: 's avatarSasha Levin <sashal@kernel.org>
kcore.c 15.5 KB