Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp62677imu; Fri, 14 Dec 2018 14:29:06 -0800 (PST) X-Google-Smtp-Source: AFSGD/UCFKlnqPPib4HdSOZJc7e/8jP0J4GqgUbtqt4MSQ6aRYONfMMATERWxk4m2hzwizsj1ORb X-Received: by 2002:a63:e915:: with SMTP id i21mr4123974pgh.409.1544826546854; Fri, 14 Dec 2018 14:29:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544826546; cv=none; d=google.com; s=arc-20160816; b=pJb61HGxlmwjRX95atmYzhlH6HlhFmRBWz/I6Z83yS23mVPdeepGJZf+pyNg5etDtM QTlDBm9MbD+q/wt/dB2VBfP5vq4RtCTs+wroWzWTV9quokjWxAyOLpqN1yKC1GWOOS+R GekmiohTS5ytmtAqQMc7K2IlWMzCGktreM0WKUlGXfvnqryt39hd3eQ2xrw18AIucDcI 5jnOncC3wJpKXsAViA+S9gxOmX3A/zkvbEaVpgRWj29v6IwOlIQ0BD60+JpUgf9/gEez D92tXdECcgzw/mXiosnC+YsvsItHE5f+0FRtZ9oW2cZ3PHMMhcyvTTNiSSnQheKN/o+x hHng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=tGr/AvNqZYrxR+PNUnY05GvPnHu3UCKdieTjlb/DctM=; b=nbwwX4iC4VgLm6E/PX7GZO7pDM3HQA8AWBHK2x88ymn0N0ItXoPB+fzMJlaI0PI2ou 7eXRZI28PbpNwNJHrdU5Nxv4y9xNgH0n7k0ro3TA0/WRShwW1JfpWSufYMMCDojAkOuG KUY2KY8A3f+r4uT5GeAXP6vngrnRHxvWiT0grORzOwb28XMXxZfDDw4JrqiXdtRl6Q0+ Xt8xzecZWiioaUak2Kd6X4p7u4b3slkhLwwuAqxsP3O3WWEPDbDlF/r8OvEugApp2pyL f8XJoN0S5criWLEbuAqJBSOeBPiPEPaUpp7hCz5rKJEYLyFpQGT9j/vkuyWv7FnLQChD M6fQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=bON4sXBV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q5si4837317pgb.245.2018.12.14.14.28.51; Fri, 14 Dec 2018 14:29:06 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=bON4sXBV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729890AbeLNW2B (ORCPT + 99 others); Fri, 14 Dec 2018 17:28:01 -0500 Received: from mail-pl1-f202.google.com ([209.85.214.202]:49639 "EHLO mail-pl1-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729519AbeLNW2A (ORCPT ); Fri, 14 Dec 2018 17:28:00 -0500 Received: by mail-pl1-f202.google.com with SMTP id v12so4557201plp.16 for ; Fri, 14 Dec 2018 14:28:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=tGr/AvNqZYrxR+PNUnY05GvPnHu3UCKdieTjlb/DctM=; b=bON4sXBVnTvGWw8qEtmOQ/jIrf/I7NdD2OfSdoF9Rya8kTrRmIztwYRfAb0GZPWAY2 HL29lhjJD2DshUPw1s1uzo2XYcv8/qJF9SnE4qhJBj6yrhEAtVUYNw/dVGHgC7wa14Hw xaRYTW3igrjd1Svlk7XBKJcWDwf4f0o6n68+0daId8Um01CqjNUaGvzsfoEAwe4FGT6D 7uRqaTgDTjRX0hWfhFu6MYnOh3wh1VvIbPnfkM8dTuSH2iufGyj4Lq8XBU70TibzrF8b KmPHjxp67iDIHnriCanvdkJD7OwYR5U3SeXhbhJF31/U0nj4pVqiq0PZQC3o0YFoAD5v /O+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=tGr/AvNqZYrxR+PNUnY05GvPnHu3UCKdieTjlb/DctM=; b=uahBP49W+n+1UqAor+nqeHM4o3EnJh0TP3AAaetRE2gDMxow3ATbwJkVsHpmDJoxPy 7AWEn3ElbuWqBV6t/7RKV+62lIRAhMJCg2+yjCTYLCgOPiWKqW/bH7CEr4mm8h84ZFtQ 7G0xCnVQx7fpBRQc7A9hTajsHiGhIV3abTbDiao7EQITrze8OfGiiSh+S0oa4/P8kv40 rMfI8+QlVL62Sr2NiCM+FBQ8fuWn/rFV60yKi/Wq0fETjZevsG1T1MzxnTFJm/LIbSxp 5GO0Msb+CRC/GEHxlJ+sS4A8SsMBAqrBA8wVVa2HdfRiAxWU5x+R50znGvW8KIAy5FaG 8/lA== X-Gm-Message-State: AA+aEWY0r/arTnUO/PWMjs9MYWRBrnxbEMKCGEHIhmIiq56L/LOR9qjy /KHt7+NxON5yKDs7nAGlK/mZafPgY+41jQzKb+rNLO+Bg/pblvvOgB61Pr0BjGHkVkFtr753nWw eYr7XT7r2PC8JOguPomzFUfya8mQSjx7ooLtifxAM4fQGQbLNkEHihbTkeKNdKzjrEJtPZqWdbH dBGw== X-Received: by 2002:a63:3756:: with SMTP id g22mr2803940pgn.138.1544826479977; Fri, 14 Dec 2018 14:27:59 -0800 (PST) Date: Fri, 14 Dec 2018 14:27:57 -0800 Message-Id: <20181214222757.31280-1-astrachan@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.20.0.405.gbc1bbc6f85-goog Subject: [PATCH] x86: vdso: Pass --eh-frame-hdr to ld From: Alistair Strachan To: linux-kernel@vger.kernel.org Cc: Laura Abbott , stable@vger.kernel.org, Andy Lutomirski , Thomas Gleixner , "H. Peter Anvin" , X86 ML , Florian Weimer , "Carlos O'Donell" , "H. J. Lu" , Joel Fernandes , kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201741 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1659295 Reported-by: Laura Abbott Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link") Cc: stable@vger.kernel.org Cc: Andy Lutomirski Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: X86 ML Cc: Florian Weimer , Cc: Carlos O'Donell , Cc: "H. J. Lu" Cc: Joel Fernandes Cc: kernel-team@android.com Signed-off-by: Alistair Strachan --- 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 141d415a8c80..c3d7ccd25381 100644 --- a/arch/x86/entry/vdso/Makefile +++ b/arch/x86/entry/vdso/Makefile @@ -171,7 +171,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.0.405.gbc1bbc6f85-goog