• Max Filippov's avatar
    binfmt_flat: revert "binfmt_flat: don't offset the data start" · 2217b982
    Max Filippov authored
    binfmt_flat loader uses the gap between text and data to store data
    segment pointers for the libraries. Even in the absence of shared
    libraries it stores at least one pointer to the executable's own data
    segment. Text and data can go back to back in the flat binary image and
    without offsetting data segment last few instructions in the text
    segment may get corrupted by the data segment pointer.
    
    Fix it by reverting commit a2357223 ("binfmt_flat: don't offset the
    data start").
    
    Cc: stable@vger.kernel.org
    Fixes: a2357223 ("binfmt_flat: don't offset the data start")
    Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
    2217b982
binfmt_flat.c 28.3 KB