* [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker
@ 2019-05-14 7:34 Nobuhiro Iwamatsu
2019-05-14 7:50 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Nobuhiro Iwamatsu @ 2019-05-14 7:34 UTC (permalink / raw)
To: stable
Cc: Greg Kroah-Hartman, Sasha Levin, Alistair Strachan,
Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov,
Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar,
Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML,
Nobuhiro Iwamatsu
From: Alistair Strachan <astrachan@google.com>
commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream.
Commit
379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
accidentally broke unwinding from userspace, because ld would strip the
.eh_frame sections when linking.
Originally, the compiler would implicitly add --eh-frame-hdr when
invoking the linker, but when this Makefile was converted from invoking
ld via the compiler, to invoking it directly (like vmlinux does),
the flag was missed. (The EH_FRAME section is important for the VDSO
shared libraries, but not for vmlinux.)
Fix the problem by explicitly specifying --eh-frame-hdr, which restores
parity with the old method.
See relevant bug reports for additional info:
https://bugzilla.kernel.org/show_bug.cgi?id=201741
https://bugzilla.redhat.com/show_bug.cgi?id=1659295
Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Reported-by: Florian Weimer <fweimer@redhat.com>
Reported-by: Carlos O'Donell <carlos@redhat.com>
Reported-by: "H. J. Lu" <hjl.tools@gmail.com>
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Laura Abbott <labbott@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Carlos O'Donell <carlos@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: kernel-team@android.com
Cc: Laura Abbott <labbott@redhat.com>
Cc: stable <stable@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: X86 ML <x86@kernel.org>
Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
---
arch/x86/entry/vdso/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index 297dda4d5947..15ed35f5097d 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -159,7 +159,8 @@ quiet_cmd_vdso = VDSO $@
sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
- $(call ld-option, --build-id) -Bsymbolic
+ $(call ld-option, --build-id) $(call ld-option, --eh-frame-hdr) \
+ -Bsymbolic
GCOV_PROFILE := n
#
--
2.20.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-14 7:34 [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker Nobuhiro Iwamatsu @ 2019-05-14 7:50 ` Greg Kroah-Hartman 2019-05-14 12:32 ` Sasha Levin 2019-05-15 0:25 ` Nathan Chancellor 0 siblings, 2 replies; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-05-14 7:50 UTC (permalink / raw) To: Nobuhiro Iwamatsu, Sasha Levin Cc: stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: > From: Alistair Strachan <astrachan@google.com> > > commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. > > Commit > > 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > accidentally broke unwinding from userspace, because ld would strip the > .eh_frame sections when linking. > > Originally, the compiler would implicitly add --eh-frame-hdr when > invoking the linker, but when this Makefile was converted from invoking > ld via the compiler, to invoking it directly (like vmlinux does), > the flag was missed. (The EH_FRAME section is important for the VDSO > shared libraries, but not for vmlinux.) > > Fix the problem by explicitly specifying --eh-frame-hdr, which restores > parity with the old method. > > See relevant bug reports for additional info: > > https://bugzilla.kernel.org/show_bug.cgi?id=201741 > https://bugzilla.redhat.com/show_bug.cgi?id=1659295 > > Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > Reported-by: Florian Weimer <fweimer@redhat.com> > Reported-by: Carlos O'Donell <carlos@redhat.com> > Reported-by: "H. J. Lu" <hjl.tools@gmail.com> > Signed-off-by: Alistair Strachan <astrachan@google.com> > Signed-off-by: Borislav Petkov <bp@suse.de> > Tested-by: Laura Abbott <labbott@redhat.com> > Cc: Andy Lutomirski <luto@kernel.org> > Cc: Carlos O'Donell <carlos@redhat.com> > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Joel Fernandes <joel@joelfernandes.org> > Cc: kernel-team@android.com > Cc: Laura Abbott <labbott@redhat.com> > Cc: stable <stable@vger.kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: X86 ML <x86@kernel.org> > Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > --- > arch/x86/entry/vdso/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) This is already in the 4.14 stable queue. Sasha, how did you tools miss it for 4.4 and 4.9? thanks, greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-14 7:50 ` Greg Kroah-Hartman @ 2019-05-14 12:32 ` Sasha Levin 2019-05-14 12:39 ` Greg Kroah-Hartman 2019-05-15 0:25 ` Nathan Chancellor 1 sibling, 1 reply; 8+ messages in thread From: Sasha Levin @ 2019-05-14 12:32 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Nobuhiro Iwamatsu, stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 09:50:04AM +0200, Greg Kroah-Hartman wrote: >On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: >> From: Alistair Strachan <astrachan@google.com> >> >> commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. >> >> Commit >> >> 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") >> >> accidentally broke unwinding from userspace, because ld would strip the >> .eh_frame sections when linking. >> >> Originally, the compiler would implicitly add --eh-frame-hdr when >> invoking the linker, but when this Makefile was converted from invoking >> ld via the compiler, to invoking it directly (like vmlinux does), >> the flag was missed. (The EH_FRAME section is important for the VDSO >> shared libraries, but not for vmlinux.) >> >> Fix the problem by explicitly specifying --eh-frame-hdr, which restores >> parity with the old method. >> >> See relevant bug reports for additional info: >> >> https://bugzilla.kernel.org/show_bug.cgi?id=201741 >> https://bugzilla.redhat.com/show_bug.cgi?id=1659295 >> >> Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") >> Reported-by: Florian Weimer <fweimer@redhat.com> >> Reported-by: Carlos O'Donell <carlos@redhat.com> >> Reported-by: "H. J. Lu" <hjl.tools@gmail.com> >> Signed-off-by: Alistair Strachan <astrachan@google.com> >> Signed-off-by: Borislav Petkov <bp@suse.de> >> Tested-by: Laura Abbott <labbott@redhat.com> >> Cc: Andy Lutomirski <luto@kernel.org> >> Cc: Carlos O'Donell <carlos@redhat.com> >> Cc: "H. Peter Anvin" <hpa@zytor.com> >> Cc: Ingo Molnar <mingo@redhat.com> >> Cc: Joel Fernandes <joel@joelfernandes.org> >> Cc: kernel-team@android.com >> Cc: Laura Abbott <labbott@redhat.com> >> Cc: stable <stable@vger.kernel.org> >> Cc: Thomas Gleixner <tglx@linutronix.de> >> Cc: X86 ML <x86@kernel.org> >> Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com >> Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> >> --- >> arch/x86/entry/vdso/Makefile | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) > >This is already in the 4.14 stable queue. > >Sasha, how did you tools miss it for 4.4 and 4.9? This commit claims it fixes 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link"), which is not in 4.9 nor 4.4, nor does 379d98ddf413 apply cleanly to 4.9 or 4.4, and neither does the backport of 379d98ddf413 for 4.14 provided to us by the google folks. That's how :) -- Thanks, Sasha ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-14 12:32 ` Sasha Levin @ 2019-05-14 12:39 ` Greg Kroah-Hartman 2019-05-14 12:56 ` Sasha Levin 0 siblings, 1 reply; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-05-14 12:39 UTC (permalink / raw) To: Sasha Levin Cc: Nobuhiro Iwamatsu, stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 08:32:49AM -0400, Sasha Levin wrote: > On Tue, May 14, 2019 at 09:50:04AM +0200, Greg Kroah-Hartman wrote: > > On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: > > > From: Alistair Strachan <astrachan@google.com> > > > > > > commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. > > > > > > Commit > > > > > > 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > > > > > accidentally broke unwinding from userspace, because ld would strip the > > > .eh_frame sections when linking. > > > > > > Originally, the compiler would implicitly add --eh-frame-hdr when > > > invoking the linker, but when this Makefile was converted from invoking > > > ld via the compiler, to invoking it directly (like vmlinux does), > > > the flag was missed. (The EH_FRAME section is important for the VDSO > > > shared libraries, but not for vmlinux.) > > > > > > Fix the problem by explicitly specifying --eh-frame-hdr, which restores > > > parity with the old method. > > > > > > See relevant bug reports for additional info: > > > > > > https://bugzilla.kernel.org/show_bug.cgi?id=201741 > > > https://bugzilla.redhat.com/show_bug.cgi?id=1659295 > > > > > > Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > > Reported-by: Florian Weimer <fweimer@redhat.com> > > > Reported-by: Carlos O'Donell <carlos@redhat.com> > > > Reported-by: "H. J. Lu" <hjl.tools@gmail.com> > > > Signed-off-by: Alistair Strachan <astrachan@google.com> > > > Signed-off-by: Borislav Petkov <bp@suse.de> > > > Tested-by: Laura Abbott <labbott@redhat.com> > > > Cc: Andy Lutomirski <luto@kernel.org> > > > Cc: Carlos O'Donell <carlos@redhat.com> > > > Cc: "H. Peter Anvin" <hpa@zytor.com> > > > Cc: Ingo Molnar <mingo@redhat.com> > > > Cc: Joel Fernandes <joel@joelfernandes.org> > > > Cc: kernel-team@android.com > > > Cc: Laura Abbott <labbott@redhat.com> > > > Cc: stable <stable@vger.kernel.org> > > > Cc: Thomas Gleixner <tglx@linutronix.de> > > > Cc: X86 ML <x86@kernel.org> > > > Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com > > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > > > --- > > > arch/x86/entry/vdso/Makefile | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > This is already in the 4.14 stable queue. > > > > Sasha, how did you tools miss it for 4.4 and 4.9? > > This commit claims it fixes 379d98ddf413 ("x86: vdso: Use $LD instead of > $CC to link"), which is not in 4.9 nor 4.4 It's already in 4.4.179 :( I think you need to adjust your scripts, you signed off on the backport :) I guess we need to also add it to 4.9.y? greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-14 12:39 ` Greg Kroah-Hartman @ 2019-05-14 12:56 ` Sasha Levin 2019-05-14 13:22 ` Greg Kroah-Hartman 0 siblings, 1 reply; 8+ messages in thread From: Sasha Levin @ 2019-05-14 12:56 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Nobuhiro Iwamatsu, stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 02:39:22PM +0200, Greg Kroah-Hartman wrote: >On Tue, May 14, 2019 at 08:32:49AM -0400, Sasha Levin wrote: >> On Tue, May 14, 2019 at 09:50:04AM +0200, Greg Kroah-Hartman wrote: >> > On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: >> > > From: Alistair Strachan <astrachan@google.com> >> > > >> > > commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. >> > > >> > > Commit >> > > >> > > 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") >> > > >> > > accidentally broke unwinding from userspace, because ld would strip the >> > > .eh_frame sections when linking. >> > > >> > > Originally, the compiler would implicitly add --eh-frame-hdr when >> > > invoking the linker, but when this Makefile was converted from invoking >> > > ld via the compiler, to invoking it directly (like vmlinux does), >> > > the flag was missed. (The EH_FRAME section is important for the VDSO >> > > shared libraries, but not for vmlinux.) >> > > >> > > Fix the problem by explicitly specifying --eh-frame-hdr, which restores >> > > parity with the old method. >> > > >> > > See relevant bug reports for additional info: >> > > >> > > https://bugzilla.kernel.org/show_bug.cgi?id=201741 >> > > https://bugzilla.redhat.com/show_bug.cgi?id=1659295 >> > > >> > > Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") >> > > Reported-by: Florian Weimer <fweimer@redhat.com> >> > > Reported-by: Carlos O'Donell <carlos@redhat.com> >> > > Reported-by: "H. J. Lu" <hjl.tools@gmail.com> >> > > Signed-off-by: Alistair Strachan <astrachan@google.com> >> > > Signed-off-by: Borislav Petkov <bp@suse.de> >> > > Tested-by: Laura Abbott <labbott@redhat.com> >> > > Cc: Andy Lutomirski <luto@kernel.org> >> > > Cc: Carlos O'Donell <carlos@redhat.com> >> > > Cc: "H. Peter Anvin" <hpa@zytor.com> >> > > Cc: Ingo Molnar <mingo@redhat.com> >> > > Cc: Joel Fernandes <joel@joelfernandes.org> >> > > Cc: kernel-team@android.com >> > > Cc: Laura Abbott <labbott@redhat.com> >> > > Cc: stable <stable@vger.kernel.org> >> > > Cc: Thomas Gleixner <tglx@linutronix.de> >> > > Cc: X86 ML <x86@kernel.org> >> > > Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com >> > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> >> > > --- >> > > arch/x86/entry/vdso/Makefile | 3 ++- >> > > 1 file changed, 2 insertions(+), 1 deletion(-) >> > >> > This is already in the 4.14 stable queue. >> > >> > Sasha, how did you tools miss it for 4.4 and 4.9? >> >> This commit claims it fixes 379d98ddf413 ("x86: vdso: Use $LD instead of >> $CC to link"), which is not in 4.9 nor 4.4 > >It's already in 4.4.179 :( >I think you need to adjust your scripts, you signed off on the backport :) >I guess we need to also add it to 4.9.y? Ah, it came in via the android folks as a patchset for 4.4. Yes, we should get all branches synced up here, I can do it if you haven't yet :) -- Thanks, Sasha ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-14 12:56 ` Sasha Levin @ 2019-05-14 13:22 ` Greg Kroah-Hartman 0 siblings, 0 replies; 8+ messages in thread From: Greg Kroah-Hartman @ 2019-05-14 13:22 UTC (permalink / raw) To: Sasha Levin Cc: Nobuhiro Iwamatsu, stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 08:56:46AM -0400, Sasha Levin wrote: > On Tue, May 14, 2019 at 02:39:22PM +0200, Greg Kroah-Hartman wrote: > > On Tue, May 14, 2019 at 08:32:49AM -0400, Sasha Levin wrote: > > > On Tue, May 14, 2019 at 09:50:04AM +0200, Greg Kroah-Hartman wrote: > > > > On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: > > > > > From: Alistair Strachan <astrachan@google.com> > > > > > > > > > > commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. > > > > > > > > > > Commit > > > > > > > > > > 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > > > > > > > > > accidentally broke unwinding from userspace, because ld would strip the > > > > > .eh_frame sections when linking. > > > > > > > > > > Originally, the compiler would implicitly add --eh-frame-hdr when > > > > > invoking the linker, but when this Makefile was converted from invoking > > > > > ld via the compiler, to invoking it directly (like vmlinux does), > > > > > the flag was missed. (The EH_FRAME section is important for the VDSO > > > > > shared libraries, but not for vmlinux.) > > > > > > > > > > Fix the problem by explicitly specifying --eh-frame-hdr, which restores > > > > > parity with the old method. > > > > > > > > > > See relevant bug reports for additional info: > > > > > > > > > > https://bugzilla.kernel.org/show_bug.cgi?id=201741 > > > > > https://bugzilla.redhat.com/show_bug.cgi?id=1659295 > > > > > > > > > > Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > > > > Reported-by: Florian Weimer <fweimer@redhat.com> > > > > > Reported-by: Carlos O'Donell <carlos@redhat.com> > > > > > Reported-by: "H. J. Lu" <hjl.tools@gmail.com> > > > > > Signed-off-by: Alistair Strachan <astrachan@google.com> > > > > > Signed-off-by: Borislav Petkov <bp@suse.de> > > > > > Tested-by: Laura Abbott <labbott@redhat.com> > > > > > Cc: Andy Lutomirski <luto@kernel.org> > > > > > Cc: Carlos O'Donell <carlos@redhat.com> > > > > > Cc: "H. Peter Anvin" <hpa@zytor.com> > > > > > Cc: Ingo Molnar <mingo@redhat.com> > > > > > Cc: Joel Fernandes <joel@joelfernandes.org> > > > > > Cc: kernel-team@android.com > > > > > Cc: Laura Abbott <labbott@redhat.com> > > > > > Cc: stable <stable@vger.kernel.org> > > > > > Cc: Thomas Gleixner <tglx@linutronix.de> > > > > > Cc: X86 ML <x86@kernel.org> > > > > > Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com > > > > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > > > > > --- > > > > > arch/x86/entry/vdso/Makefile | 3 ++- > > > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > > > This is already in the 4.14 stable queue. > > > > > > > > Sasha, how did you tools miss it for 4.4 and 4.9? > > > > > > This commit claims it fixes 379d98ddf413 ("x86: vdso: Use $LD instead of > > > $CC to link"), which is not in 4.9 nor 4.4 > > > > It's already in 4.4.179 :( > > I think you need to adjust your scripts, you signed off on the backport :) > > I guess we need to also add it to 4.9.y? > > Ah, it came in via the android folks as a patchset for 4.4. > > Yes, we should get all branches synced up here, I can do it if you > haven't yet :) If you could, that would be great! thanks, greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-14 7:50 ` Greg Kroah-Hartman 2019-05-14 12:32 ` Sasha Levin @ 2019-05-15 0:25 ` Nathan Chancellor 2019-05-15 16:07 ` Sasha Levin 1 sibling, 1 reply; 8+ messages in thread From: Nathan Chancellor @ 2019-05-15 0:25 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Nobuhiro Iwamatsu, Sasha Levin, stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 09:50:04AM +0200, Greg Kroah-Hartman wrote: > On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: > > From: Alistair Strachan <astrachan@google.com> > > > > commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. > > > > Commit > > > > 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > > > accidentally broke unwinding from userspace, because ld would strip the > > .eh_frame sections when linking. > > > > Originally, the compiler would implicitly add --eh-frame-hdr when > > invoking the linker, but when this Makefile was converted from invoking > > ld via the compiler, to invoking it directly (like vmlinux does), > > the flag was missed. (The EH_FRAME section is important for the VDSO > > shared libraries, but not for vmlinux.) > > > > Fix the problem by explicitly specifying --eh-frame-hdr, which restores > > parity with the old method. > > > > See relevant bug reports for additional info: > > > > https://bugzilla.kernel.org/show_bug.cgi?id=201741 > > https://bugzilla.redhat.com/show_bug.cgi?id=1659295 > > > > Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") > > Reported-by: Florian Weimer <fweimer@redhat.com> > > Reported-by: Carlos O'Donell <carlos@redhat.com> > > Reported-by: "H. J. Lu" <hjl.tools@gmail.com> > > Signed-off-by: Alistair Strachan <astrachan@google.com> > > Signed-off-by: Borislav Petkov <bp@suse.de> > > Tested-by: Laura Abbott <labbott@redhat.com> > > Cc: Andy Lutomirski <luto@kernel.org> > > Cc: Carlos O'Donell <carlos@redhat.com> > > Cc: "H. Peter Anvin" <hpa@zytor.com> > > Cc: Ingo Molnar <mingo@redhat.com> > > Cc: Joel Fernandes <joel@joelfernandes.org> > > Cc: kernel-team@android.com > > Cc: Laura Abbott <labbott@redhat.com> > > Cc: stable <stable@vger.kernel.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: X86 ML <x86@kernel.org> > > Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > > --- > > arch/x86/entry/vdso/Makefile | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > This is already in the 4.14 stable queue. > > Sasha, how did you tools miss it for 4.4 and 4.9? Not Sasha's fault but mine, I forgot to git grep for the short hash like I usually do to ensure I catch all fixes (or I didn't do it properly, I forget which) when I added this to all of the trees. I currently see it queued up for 4.9 and 4.14, don't forget 4.4. Sorry for the breakage, Nathan > > thanks, > > greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker 2019-05-15 0:25 ` Nathan Chancellor @ 2019-05-15 16:07 ` Sasha Levin 0 siblings, 0 replies; 8+ messages in thread From: Sasha Levin @ 2019-05-15 16:07 UTC (permalink / raw) To: Nathan Chancellor Cc: Greg Kroah-Hartman, Nobuhiro Iwamatsu, stable, Alistair Strachan, Florian Weimer, Carlos O'Donell, H. J. Lu, Borislav Petkov, Laura Abbott, Andy Lutomirski, H. Peter Anvin, Ingo Molnar, Joel Fernandes, kernel-team, stable, Thomas Gleixner, X86 ML On Tue, May 14, 2019 at 05:25:31PM -0700, Nathan Chancellor wrote: >On Tue, May 14, 2019 at 09:50:04AM +0200, Greg Kroah-Hartman wrote: >> On Tue, May 14, 2019 at 04:34:29PM +0900, Nobuhiro Iwamatsu wrote: >> > From: Alistair Strachan <astrachan@google.com> >> > >> > commit cd01544a268ad8ee5b1dfe42c4393f1095f86879 upstream. >> > >> > Commit >> > >> > 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") >> > >> > accidentally broke unwinding from userspace, because ld would strip the >> > .eh_frame sections when linking. >> > >> > Originally, the compiler would implicitly add --eh-frame-hdr when >> > invoking the linker, but when this Makefile was converted from invoking >> > ld via the compiler, to invoking it directly (like vmlinux does), >> > the flag was missed. (The EH_FRAME section is important for the VDSO >> > shared libraries, but not for vmlinux.) >> > >> > Fix the problem by explicitly specifying --eh-frame-hdr, which restores >> > parity with the old method. >> > >> > See relevant bug reports for additional info: >> > >> > https://bugzilla.kernel.org/show_bug.cgi?id=201741 >> > https://bugzilla.redhat.com/show_bug.cgi?id=1659295 >> > >> > Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") >> > Reported-by: Florian Weimer <fweimer@redhat.com> >> > Reported-by: Carlos O'Donell <carlos@redhat.com> >> > Reported-by: "H. J. Lu" <hjl.tools@gmail.com> >> > Signed-off-by: Alistair Strachan <astrachan@google.com> >> > Signed-off-by: Borislav Petkov <bp@suse.de> >> > Tested-by: Laura Abbott <labbott@redhat.com> >> > Cc: Andy Lutomirski <luto@kernel.org> >> > Cc: Carlos O'Donell <carlos@redhat.com> >> > Cc: "H. Peter Anvin" <hpa@zytor.com> >> > Cc: Ingo Molnar <mingo@redhat.com> >> > Cc: Joel Fernandes <joel@joelfernandes.org> >> > Cc: kernel-team@android.com >> > Cc: Laura Abbott <labbott@redhat.com> >> > Cc: stable <stable@vger.kernel.org> >> > Cc: Thomas Gleixner <tglx@linutronix.de> >> > Cc: X86 ML <x86@kernel.org> >> > Link: https://lkml.kernel.org/r/20181214223637.35954-1-astrachan@google.com >> > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> >> > --- >> > arch/x86/entry/vdso/Makefile | 3 ++- >> > 1 file changed, 2 insertions(+), 1 deletion(-) >> >> This is already in the 4.14 stable queue. >> >> Sasha, how did you tools miss it for 4.4 and 4.9? > >Not Sasha's fault but mine, I forgot to git grep for the short hash like >I usually do to ensure I catch all fixes (or I didn't do it properly, I >forget which) when I added this to all of the trees. It was also the case the two patches (including the one in question here) did not have a reference to the upstream commit id, which is how my tools missed it. I've reverted both and reapplied them with a reference to the upstream commit yesterday. -- Thanks, Sasha ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-05-15 16:08 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-14 7:34 [PATCH for 4.4, 4.9 and 4.14] x86/vdso: Pass --eh-frame-hdr to the linker Nobuhiro Iwamatsu 2019-05-14 7:50 ` Greg Kroah-Hartman 2019-05-14 12:32 ` Sasha Levin 2019-05-14 12:39 ` Greg Kroah-Hartman 2019-05-14 12:56 ` Sasha Levin 2019-05-14 13:22 ` Greg Kroah-Hartman 2019-05-15 0:25 ` Nathan Chancellor 2019-05-15 16:07 ` Sasha Levin
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.