On Wed, Jun 10, 2015 at 11:16 AM, Vojtech Pavlik <vojtech@xxxxxxxx> wrote: > On Wed, Jun 10, 2015 at 10:21:36AM -0700, Andy Lutomirski wrote: >> On Jun 10, 2015 5:07 AM, "Josh Poimboeuf" <jpoimboe@xxxxxxxxxx> wrote: >> > >> > Add a new CONFIG_ASM_VALIDATION option which adds an asmvalidate host >> > tool which runs on every compiled .S file. Its goal is to enforce sane >> > rules on all asm code, so that stack debug metadata (frame/back chain >> > pointers and/or DWARF CFI metadata) can be made reliable. >> > >> > It enforces the following rules: >> > >> > 1. Each callable function must be annotated with the ELF STT_FUNC type. >> > This is typically done using the ENTRY/ENDPROC macros. If >> > asmvalidate finds a return instruction outside of a function, it >> > flags an error, since that usually indicates callable code which >> > should be annotated accordingly. >> > >> > 2. Each callable function must never leave its own bounds (i.e. with a >> > jump to outside the function) except when returning. >> >> Won't that break with sibling/tail calls? GCC can generate those, and >> the ia32_ptregs_common label is an example of such a thing. > > It only validates hand-written assembly, so how it could? > It's a hand-written tail call. --Andy -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html