Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp1872495pxv; Sat, 10 Jul 2021 18:19:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwl44DMF/xdtHcJNJ693rlfsXJgjtYVnnYlKfEWxeNR9k//QE4yCNAhxpmiGGBbexJ83EtQ X-Received: by 2002:a05:6638:2390:: with SMTP id q16mr30463889jat.59.1625966354380; Sat, 10 Jul 2021 18:19:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625966354; cv=none; d=google.com; s=arc-20160816; b=ea+2tjQFxSVxjD3JKCHwI3+IU4/uBSIa2LGI2P5B61yKMxKTTPIncDP7At0pt+A4MA /ZnagBPRoTzP9lvEfwyzV8mis+A8hT2sj2JsOJXOuNcI4sHJXlCY+oxD8vmQ+D0IKlb6 m8wm0ctQkrsktpp81NOkKA5QM4vsfvbtrxiq3jVIF6Swp7v6dNcKGzKokcQ0aXOVldnZ tnrBRCNyoRn+0xEU0dYRnWxoywMbSzuQn7/Khxf/DxzHDeIhLyuYTtsGuafPUNN6K/WY 88z4trgUrdddxYF/XoiKEDgeKVwhOvGMM/GTgx9nxE2dO+jB3FA+wJYcTB1HUW19Bk29 74Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=AOudxEbpBgzWIhwDGeNET2bH+g/AH2f+mldzCKfuTMQ=; b=PVsYbwS2o+jefWl60pRpu1MuvOGIKIooC1L7mLp5rquQ/MU8yFBbZZ1WGp7gltw9Hy owDIBGyo8H71vbpP0uaXZCYH3iNQ5RLrdJB5RolhuRw7qgeroWcAhVgyEnJmQEcahtYv Nm9nnIeYhBxnFxH2Fc1i6EqLhi2RCRf6bktsOvmKB1ID7eHuCcPlyxyvgTszU8gwoQLn pY1pWLnaMo4J8keDM9LmUm3Vyw/mTeH+AmXkWQX7KiFoDan8h/uX3K3JhX/IiH8GbI/i Sm+7yw/Gtaa3D8Z3LkD3dsy51wxstoGiQ/YgZkqZ3iryrxrGIyE7Lh27PFtR5H218rvX nJNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Fe9YSuQm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o12si13879017ilu.12.2021.07.10.18.19.02; Sat, 10 Jul 2021 18:19:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Fe9YSuQm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231230AbhGKBTX (ORCPT + 99 others); Sat, 10 Jul 2021 21:19:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:58878 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229640AbhGKBTW (ORCPT ); Sat, 10 Jul 2021 21:19:22 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 7A38061278; Sun, 11 Jul 2021 01:16:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625966196; bh=wrPvJNgH7+dtA6dPKTQidUVk07+TMZ2qL9MLt6idkBw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Fe9YSuQmElVFxLsqhI+kuIGvS77fGgoyiMd4TKHtd8MQTKpLryj+JUteEtDiQmN4V N7/EEz5q5Rz4oqQYYV1+FtxJ2mprRvPfVl/uFq4b01yEh/XDura0XEyksRXs1AlVYT QTXQp4g34UjuZCrXj2Ih/TlxIcm/2KR1q2BRcr5Vej3a19/7PvH4ARJXVATy2aSSnq apnCtPlve6P9fQUVcqWKDZgpanyss0wqNKSP5o7WjMfJf+d/eZOdgmN8HWG4I2GJ15 cTnFGH5FmlL783mPtUA8+o/WX33B9cp+gcVxZrgo8ALUiucNe0zO8Dao42BGleg27X 5NafNlfaxmB7g== Date: Sun, 11 Jul 2021 10:16:33 +0900 From: Masami Hiramatsu To: Josh Poimboeuf Cc: Ingo Molnar , Steven Rostedt , X86 ML , Daniel Xu , linux-kernel@vger.kernel.org, bpf@vger.kernel.org, kuba@kernel.org, mingo@redhat.com, ast@kernel.org, Thomas Gleixner , Borislav Petkov , Peter Zijlstra , kernel-team@fb.com, yhs@fb.com, linux-ia64@vger.kernel.org, Abhishek Sagar , Andrii Nakryiko Subject: Re: [PATCH 1/2] objtool: Add frame-pointer-specific function ignore Message-Id: <20210711101633.eaceff78742984c641993ced@kernel.org> In-Reply-To: <20210710192433.x5cgjsq2ksvaqnss@treble> References: <162399992186.506599.8457763707951687195.stgit@devnote2> <162399996966.506599.810050095040575221.stgit@devnote2> <20210710003140.8e561ad33d42f9ac78de6a15@kernel.org> <20210710104104.3a270168811ac38420093276@kernel.org> <20210710190143.lrcsyal2ggubv43v@treble> <20210710192433.x5cgjsq2ksvaqnss@treble> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 10 Jul 2021 12:24:33 -0700 Josh Poimboeuf wrote: > Add a CONFIG_FRAME_POINTER-specific version of > STACK_FRAME_NON_STANDARD() for the case where a function is > intentionally missing frame pointer setup, but otherwise needs > objtool/ORC coverage when frame pointers are disabled. Looks good to me. Reviewed-by: Masami Hiramatsu Thanks! > > Signed-off-by: Josh Poimboeuf > --- > include/linux/objtool.h | 11 +++++++++++ > tools/include/linux/objtool.h | 11 +++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/include/linux/objtool.h b/include/linux/objtool.h > index 7e72d975cb76..c9575ed91052 100644 > --- a/include/linux/objtool.h > +++ b/include/linux/objtool.h > @@ -66,6 +66,17 @@ struct unwind_hint { > static void __used __section(".discard.func_stack_frame_non_standard") \ > *__func_stack_frame_non_standard_##func = func > > +/* > + * STACK_FRAME_NON_STANDARD_FP() is a frame-pointer-specific function ignore > + * for the case where a function is intentionally missing frame pointer setup, > + * but otherwise needs objtool/ORC coverage when frame pointers are disabled. > + */ > +#ifdef CONFIG_FRAME_POINTER > +#define STACK_FRAME_NON_STANDARD_FP(func) STACK_FRAME_NON_STANDARD(func) > +#else > +#define STACK_FRAME_NON_STANDARD_FP(func) > +#endif > + > #else /* __ASSEMBLY__ */ > > /* > diff --git a/tools/include/linux/objtool.h b/tools/include/linux/objtool.h > index 7e72d975cb76..c9575ed91052 100644 > --- a/tools/include/linux/objtool.h > +++ b/tools/include/linux/objtool.h > @@ -66,6 +66,17 @@ struct unwind_hint { > static void __used __section(".discard.func_stack_frame_non_standard") \ > *__func_stack_frame_non_standard_##func = func > > +/* > + * STACK_FRAME_NON_STANDARD_FP() is a frame-pointer-specific function ignore > + * for the case where a function is intentionally missing frame pointer setup, > + * but otherwise needs objtool/ORC coverage when frame pointers are disabled. > + */ > +#ifdef CONFIG_FRAME_POINTER > +#define STACK_FRAME_NON_STANDARD_FP(func) STACK_FRAME_NON_STANDARD(func) > +#else > +#define STACK_FRAME_NON_STANDARD_FP(func) > +#endif > + > #else /* __ASSEMBLY__ */ > > /* > -- > 2.31.1 > -- Masami Hiramatsu