lkml.org 
[lkml]   [2017]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] s390/decompressor: add fortify_panic as x86 has.
    On Thu,  7 Dec 2017 11:37:27 +0100
    Michal Suchanek <msuchanek@suse.de> wrote:

    > Fix following error:
    >
    > LD arch/s390/boot/compressed/vmlinux
    > drivers/s390/char/sclp_early_core.o: In function `memcpy':
    > ../include/linux/string.h:340: undefined reference to `fortify_panic'
    > make[4]: *** [../arch/s390/boot/compressed/Makefile:29: arch/s390/boot/compressed/vmlinux] Error 1
    >
    > Fixes: 79962038dffa ("s390: add support for FORTIFY_SOURCE")
    > Signed-off-by: Michal Suchanek <msuchanek@suse.de>
    > ---
    > arch/s390/boot/compressed/misc.c | 4 ++++
    > 1 file changed, 4 insertions(+)
    >
    > diff --git a/arch/s390/boot/compressed/misc.c b/arch/s390/boot/compressed/misc.c
    > index cecf38b9ec82..e79c4499c548 100644
    > --- a/arch/s390/boot/compressed/misc.c
    > +++ b/arch/s390/boot/compressed/misc.c
    > @@ -174,3 +174,7 @@ unsigned long decompress_kernel(void)
    > return (unsigned long) output;
    > }
    >
    > +void fortify_panic(const char *name)
    > +{
    > + error("detected buffer overflow");
    > +}

    Odd, the current linux master tree builds just fine with CONFIG_FORTIFY_SOURCE=y.
    There *is* a reference to fortify_panic in drivers/s390/char/sclp_early.o.
    This object is included in the link for the compressed vmlinux, but the
    function that contains the call to fortify_panic is not included in the
    compressed image. I wonder what causes this difference in behavior.

    The patch makes sense though and I will add it to the queue.

    --
    blue skies,
    Martin.

    "Reality continues to ruin my life." - Calvin.

    \
     
     \ /
      Last update: 2017-12-07 13:55    [W:3.158 / U:28.572 seconds]
    ©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site