From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Date: Wed, 22 Mar 2017 08:29:16 +0100 Message-ID: <20170322072916.GB13904@gmail.com> References: <9ea5e137-61f9-dccc-bb9d-ac3ff86e5867@suse.cz> <20170320123222.15453-1-jslaby@suse.cz> <20170320123222.15453-3-jslaby@suse.cz> <20170321144841.oeaqqarhgzyhehth@treble> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170321144841.oeaqqarhgzyhehth@treble> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Josh Poimboeuf Cc: Juergen Gross , linux-pm@vger.kernel.org, x86@kernel.org, "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, mingo@redhat.com, Pavel Machek , hpa@zytor.com, xen-devel@lists.xenproject.org, tglx@linutronix.de, Jiri Slaby , Boris Ostrovsky List-Id: linux-pm@vger.kernel.org CiogSm9zaCBQb2ltYm9ldWYgPGpwb2ltYm9lQHJlZGhhdC5jb20+IHdyb3RlOgoKPiBPbiBNb24s IE1hciAyMCwgMjAxNyBhdCAwMTozMjoxNVBNICswMTAwLCBKaXJpIFNsYWJ5IHdyb3RlOgo+ID4g IEVOVFJZKGZ0cmFjZV9jYWxsZXIpCj4gPiAgCS8qIHNhdmVfbWNvdW50X3JlZ3MgZmlsbHMgaW4g Zmlyc3QgdHdvIHBhcmFtZXRlcnMgKi8KPiA+IEBAIC0xODQsMTEgKzE4NCwxMiBAQCBHTE9CQUwo ZnRyYWNlX2VwaWxvZ3VlKQo+ID4gIEdMT0JBTChmdHJhY2VfZ3JhcGhfY2FsbCkKPiA+ICAJam1w IGZ0cmFjZV9zdHViCj4gPiAgI2VuZGlmCj4gPiArU1lNX0ZVTkNfRU5EKGZ0cmFjZV9jYWxsZXIp Cj4gPiAgCj4gPiAgLyogVGhpcyBpcyB3ZWFrIHRvIGtlZXAgZ2FzIGZyb20gcmVsYXhpbmcgdGhl IGp1bXBzICovCj4gPiAgV0VBSyhmdHJhY2Vfc3R1YikKPiA+ICAJcmV0cQo+ID4gLUVORChmdHJh Y2VfY2FsbGVyKQo+ID4gK1NZTV9GVU5DX0VORChmdHJhY2VfY2FsbGVyKQo+IAo+IFRoaXMgZ2l2 ZXMgZnRyYWNlX2NhbGxlcigpIHR3byBlbmRzLgoKU3VjaCBlcnJvcnMgdG9vIGNvdWxkIGJlIGRl dGVjdGVkIGF1dG9tYXRpY2FsbHkgdmlhIG9ianRvb2wgb3Igc29tZSBvdGhlciBzeW1ib2wgCmRl YnVnIG1lY2hhbmlzbS4KClRoZSByZWFzb24gaXQgbWlnaHQgYmUgYSBnb29kIGZpdCBmb3Igb2Jq dG9vbCBpcyB0byBtYWtlIHRoZSBjaGVja2luZyBvcHRpb25hbCAobm8gCm5lZWQgdG8gYnVyZGVu IGEgcmVndWxhciBidWlsZCB3aXRoIGl0KSwgcGx1cyBvYmp0b29sIGFscmVhZHkgbG9va3MgYXQg dGhlIC5vIGZyb20gCmZpcnN0IHByaW5jaXBsZXMgLSBhIHN5bWJvbCBjaGVja2luZyBzdWItZnVu Y3Rpb25hbGl0eSBjb3VsZCBhbmFseXplIHRoZSBzeW1ib2wgCm5hbWVzIGluIHRoZSBzYW1lIHBh c3MuCgpJZiB3ZSB3YW50IHRvIGNvbXBsaWNhdGUgdGhpbmdzIHdpdGggQ0ZJIHRoZW4gd2UgYWJz b2x1dGVseSBzaG91bGQgaW5jcmVhc2UgdGhlIApxdWFsaXR5IG9mIG91ciBzeW1ib2wgbmFtZXMg c3BhY2UuCgpUaGFua3MsCgoJSW5nbwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758814AbdCVHaV (ORCPT ); Wed, 22 Mar 2017 03:30:21 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33424 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758607AbdCVH36 (ORCPT ); Wed, 22 Mar 2017 03:29:58 -0400 Date: Wed, 22 Mar 2017 08:29:16 +0100 From: Ingo Molnar To: Josh Poimboeuf Cc: Jiri Slaby , mingo@redhat.com, tglx@linutronix.de, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, "Rafael J. Wysocki" , Pavel Machek , linux-pm@vger.kernel.org, Boris Ostrovsky , Juergen Gross , xen-devel@lists.xenproject.org Subject: Re: [PATCH v2 03/10] x86: assembly, use SYM_FUNC_END for functions Message-ID: <20170322072916.GB13904@gmail.com> References: <9ea5e137-61f9-dccc-bb9d-ac3ff86e5867@suse.cz> <20170320123222.15453-1-jslaby@suse.cz> <20170320123222.15453-3-jslaby@suse.cz> <20170321144841.oeaqqarhgzyhehth@treble> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170321144841.oeaqqarhgzyhehth@treble> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Josh Poimboeuf wrote: > On Mon, Mar 20, 2017 at 01:32:15PM +0100, Jiri Slaby wrote: > > ENTRY(ftrace_caller) > > /* save_mcount_regs fills in first two parameters */ > > @@ -184,11 +184,12 @@ GLOBAL(ftrace_epilogue) > > GLOBAL(ftrace_graph_call) > > jmp ftrace_stub > > #endif > > +SYM_FUNC_END(ftrace_caller) > > > > /* This is weak to keep gas from relaxing the jumps */ > > WEAK(ftrace_stub) > > retq > > -END(ftrace_caller) > > +SYM_FUNC_END(ftrace_caller) > > This gives ftrace_caller() two ends. Such errors too could be detected automatically via objtool or some other symbol debug mechanism. The reason it might be a good fit for objtool is to make the checking optional (no need to burden a regular build with it), plus objtool already looks at the .o from first principles - a symbol checking sub-functionality could analyze the symbol names in the same pass. If we want to complicate things with CFI then we absolutely should increase the quality of our symbol names space. Thanks, Ingo