• Sean Christopherson's avatar
    x86/vdso: Remove obsolete "fake section table" reservation · 24b7c77b
    Sean Christopherson authored
    At one point the vDSO image was manually stripped down by vdso2c in an
    attempt to minimize the size of the image mapped into userspace.  Part
    of that stripping process involved building a fake section table so as
    not to break userspace processes that parse the section table.  Memory
    for the fake section table was reserved in the .rodata section so that
    vdso2c could simply copy the entire PT_LOAD segment into the userspace
    image after building the fake table.
    Eventually, the entire fake section table approach was dropped in favor
    of stripping the vdso "the old fashioned way", i.e. via objdump -S.
    But, the reservation in .rodata for the fake table was left behind.
    Remove the reserveration along with a few other related defines and
    section entries.
    Removing the fake section table placeholder zaps a whopping 0x340 bytes
    from the 64-bit vDSO image, which drops the current image's size to
    under 4k, i.e. reduces the effective size of the userspace vDSO mapping
    by a full page.
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Acked-by: default avatarAndy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: da861e18 ("x86, vdso: Get rid of the fake section mechanism")
    Link: http://lkml.kernel.org/r/20181204212600.28090-2-sean.j.christopherson@intel.com
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>