From: Michael Ellerman <mpe@ellerman.id.au> To: Kees Cook <keescook@chromium.org> Cc: "kernel-hardening\@lists.openwall.com" <kernel-hardening@lists.openwall.com>, Arnd Bergmann <arnd@arndb.de>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Andrew Morton <akpm@linux-foundation.org>, "David S. Miller" <davem@davemloft.net>, Mauro Carvalho Chehab <mchehab@osg.samsung.com>, Jiri Slaby <jslaby@suse.cz>, Guenter Roeck <linux@roeck-us.net>, LKML <linux-kernel@vger.kernel.org>, "linuxppc-dev\@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>, Anton Blanchard <anton@samba.org>, Alan Modra <amodra@gmail.com> Subject: Re: [kernel-hardening] Re: Linker segfault on powerpc when CONFIG_LKDTM=y (was Re: [kernel-hardening] [PATCH 3/5] lkdtm: add function for testing .rodata section) Date: Tue, 02 Aug 2016 13:12:02 +1000 [thread overview] Message-ID: <87eg67ooe5.fsf@concordia.ellerman.id.au> (raw) In-Reply-To: <CAGXu5jL8UBfs7NjSgKOeqd9toRgtW3gPu53TPLbTMRJiwRUvPg@mail.gmail.com> Kees Cook <keescook@chromium.org> writes: > On Mon, Aug 1, 2016 at 5:37 AM, Michael Ellerman <mpe@ellerman.id.au> wrote: >> Kees Cook <keescook@chromium.org> writes: >> >>> This adds a function that lives in the .rodata section. The section >>> flags are corrected using objcopy since there is no way with gcc to >>> declare section flags in an architecture-agnostic way. >>> >>> Signed-off-by: Kees Cook <keescook@chromium.org> >>> --- >>> drivers/misc/Makefile | 7 +++++++ >>> drivers/misc/lkdtm.h | 6 ++++++ >>> drivers/misc/lkdtm_core.c | 24 +++++++++++++++++------- >>> drivers/misc/lkdtm_rodata.c | 10 ++++++++++ >>> 4 files changed, 40 insertions(+), 7 deletions(-) >>> create mode 100644 drivers/misc/lkdtm.h >>> create mode 100644 drivers/misc/lkdtm_rodata.c >> >> This is blowing up my linker :( >> >> scripts/link-vmlinux.sh: line 52: 36260 Segmentation fault (core dumped) ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} -T ${lds} ${KBUILD_VMLINUX_INIT} --start-group ${KBUILD_VMLINUX_MAIN} --end-group ${1} >> >> Haven't had a chance to debug it further. > > Argh. Do you want a quick fix for this now? I can add a PPC CONFIG > blacklist for the rodata check, maybe? Nah that's OK, none of our defconfigs have it enabled so it's not a real blocker. It also builds OK as a module - though I haven't tested the result yet. > Also, what version of gcc? I'll see if I can reproduce this with a > cross compiler... The original hit was with gcc-5.3 (which is actually a x86->ppc cross): http://kisskb.ellerman.id.au/kisskb/buildresult/12762730/ But I can also reproduce with 5.4, and 6.1.0. Interestingly I *can't* reproduce with the Ubuntu x86->ppc cross (5.4.0-6ubuntu1~16.04.1). Those toolchains are all using binutils 2.26 AFAIK. Going back to a really old toolchain (gcc 4.6.3/binutils 2.22) it does build but I get these warnings: powerpc64-linux-ld: drivers/misc/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries So probably don't worry about it and we'll try and work it out on our end. cheers
WARNING: multiple messages have this Message-ID (diff)
From: Michael Ellerman <mpe@ellerman.id.au> To: Kees Cook <keescook@chromium.org> Cc: "kernel-hardening@lists.openwall.com" <kernel-hardening@lists.openwall.com>, Arnd Bergmann <arnd@arndb.de>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Andrew Morton <akpm@linux-foundation.org>, "David S. Miller" <davem@davemloft.net>, Mauro Carvalho Chehab <mchehab@osg.samsung.com>, Jiri Slaby <jslaby@suse.cz>, Guenter Roeck <linux@roeck-us.net>, LKML <linux-kernel@vger.kernel.org>, "linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>, Anton Blanchard <anton@samba.org>, Alan Modra <amodra@gmail.com> Subject: Re: [kernel-hardening] Re: Linker segfault on powerpc when CONFIG_LKDTM=y (was Re: [kernel-hardening] [PATCH 3/5] lkdtm: add function for testing .rodata section) Date: Tue, 02 Aug 2016 13:12:02 +1000 [thread overview] Message-ID: <87eg67ooe5.fsf@concordia.ellerman.id.au> (raw) In-Reply-To: <CAGXu5jL8UBfs7NjSgKOeqd9toRgtW3gPu53TPLbTMRJiwRUvPg@mail.gmail.com> Kees Cook <keescook@chromium.org> writes: > On Mon, Aug 1, 2016 at 5:37 AM, Michael Ellerman <mpe@ellerman.id.au> wrote: >> Kees Cook <keescook@chromium.org> writes: >> >>> This adds a function that lives in the .rodata section. The section >>> flags are corrected using objcopy since there is no way with gcc to >>> declare section flags in an architecture-agnostic way. >>> >>> Signed-off-by: Kees Cook <keescook@chromium.org> >>> --- >>> drivers/misc/Makefile | 7 +++++++ >>> drivers/misc/lkdtm.h | 6 ++++++ >>> drivers/misc/lkdtm_core.c | 24 +++++++++++++++++------- >>> drivers/misc/lkdtm_rodata.c | 10 ++++++++++ >>> 4 files changed, 40 insertions(+), 7 deletions(-) >>> create mode 100644 drivers/misc/lkdtm.h >>> create mode 100644 drivers/misc/lkdtm_rodata.c >> >> This is blowing up my linker :( >> >> scripts/link-vmlinux.sh: line 52: 36260 Segmentation fault (core dumped) ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} -T ${lds} ${KBUILD_VMLINUX_INIT} --start-group ${KBUILD_VMLINUX_MAIN} --end-group ${1} >> >> Haven't had a chance to debug it further. > > Argh. Do you want a quick fix for this now? I can add a PPC CONFIG > blacklist for the rodata check, maybe? Nah that's OK, none of our defconfigs have it enabled so it's not a real blocker. It also builds OK as a module - though I haven't tested the result yet. > Also, what version of gcc? I'll see if I can reproduce this with a > cross compiler... The original hit was with gcc-5.3 (which is actually a x86->ppc cross): http://kisskb.ellerman.id.au/kisskb/buildresult/12762730/ But I can also reproduce with 5.4, and 6.1.0. Interestingly I *can't* reproduce with the Ubuntu x86->ppc cross (5.4.0-6ubuntu1~16.04.1). Those toolchains are all using binutils 2.26 AFAIK. Going back to a really old toolchain (gcc 4.6.3/binutils 2.22) it does build but I get these warnings: powerpc64-linux-ld: drivers/misc/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries powerpc64-linux-ld: drivers/built-in.o: .opd is not a regular array of opd entries So probably don't worry about it and we'll try and work it out on our end. cheers
next prev parent reply other threads:[~2016-08-02 3:12 UTC|newest] Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-06-07 21:57 [PATCH 0/5] lkdtm: add usercopy and rodata, fix atomic Kees Cook 2016-06-07 21:57 ` [kernel-hardening] " Kees Cook 2016-06-07 21:57 ` [PATCH 1/5] lkdtm: split build into multiple source files Kees Cook 2016-06-07 21:57 ` [kernel-hardening] " Kees Cook 2016-06-07 21:57 ` [PATCH 2/5] lkdtm: clean up after rename Kees Cook 2016-06-07 21:57 ` [kernel-hardening] " Kees Cook 2016-06-07 21:57 ` [PATCH 3/5] lkdtm: add function for testing .rodata section Kees Cook 2016-06-07 21:57 ` [kernel-hardening] " Kees Cook 2016-06-08 1:02 ` Laura Abbott 2016-06-08 1:02 ` [kernel-hardening] " Laura Abbott 2016-06-08 15:46 ` Kees Cook 2016-06-08 15:46 ` [kernel-hardening] " Kees Cook 2016-06-08 16:15 ` Laura Abbott 2016-06-08 16:15 ` [kernel-hardening] " Laura Abbott 2016-06-08 21:26 ` Kees Cook 2016-06-08 21:26 ` [kernel-hardening] " Kees Cook 2016-06-10 1:14 ` Laura Abbott 2016-06-10 1:14 ` [kernel-hardening] " Laura Abbott 2016-08-01 12:37 ` Linker segfault on powerpc when CONFIG_LKDTM=y (was Re: [kernel-hardening] [PATCH 3/5] lkdtm: add function for testing .rodata section) Michael Ellerman 2016-08-01 12:37 ` [kernel-hardening] " Michael Ellerman 2016-08-01 19:45 ` Kees Cook 2016-08-01 19:45 ` [kernel-hardening] " Kees Cook 2016-08-01 19:45 ` Kees Cook 2016-08-02 3:12 ` Michael Ellerman [this message] 2016-08-02 3:12 ` [kernel-hardening] " Michael Ellerman 2016-08-02 3:12 ` Michael Ellerman 2016-08-02 19:12 ` Kees Cook 2016-08-02 19:12 ` Kees Cook 2016-08-03 4:46 ` Michael Ellerman 2016-08-03 4:46 ` Michael Ellerman 2016-08-03 4:46 ` Michael Ellerman 2016-06-07 21:57 ` [PATCH 4/5] lkdtm: add usercopy tests Kees Cook 2016-06-07 21:57 ` [kernel-hardening] " Kees Cook 2016-06-07 23:36 ` kbuild test robot 2016-06-07 23:36 ` [kernel-hardening] " kbuild test robot 2016-06-08 0:07 ` kbuild test robot 2016-06-08 0:07 ` [kernel-hardening] " kbuild test robot 2016-06-07 21:57 ` [PATCH 5/5] lkdtm: split atomic test into over and underflow Kees Cook 2016-06-07 21:57 ` [kernel-hardening] " Kees Cook
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=87eg67ooe5.fsf@concordia.ellerman.id.au \ --to=mpe@ellerman.id.au \ --cc=akpm@linux-foundation.org \ --cc=amodra@gmail.com \ --cc=anton@samba.org \ --cc=arnd@arndb.de \ --cc=davem@davemloft.net \ --cc=gregkh@linuxfoundation.org \ --cc=jslaby@suse.cz \ --cc=keescook@chromium.org \ --cc=kernel-hardening@lists.openwall.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mchehab@osg.samsung.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.