Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1528457

Re: [RFC 0/3] ABI spec - verification

From alexander.levin@verizon.com
Newsgroups linux.kernel
Subject Re: [RFC 0/3] ABI spec - verification
Date 2016-11-23 15:40 +0100
Message-ID <sGGSm-65N-41@gated-at.bofh.it> (permalink)
References <sEclH-5WJ-3@gated-at.bofh.it> <sFXLz-2km-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Nov 21, 2016 at 03:25:05PM +0100, Dmitry Vyukov wrote:
> On Wed, Nov 16, 2016 at 6:37 PM,  <alexander.levin@verizon.com> wrote:
> > As discussed at plumbers, having a standard spec for the kernel's ABI has
> > quite a few uses and enough people wanted it to get the ball rolling.
> >
> > We agreed that it's desirable to have something that can be used from code
> > rather than just a spec on paper both for validation and allowing other users
> > (like fuzzers, userspace libraries, and various userspace tools) to build
> > on that.
> >
> > What we ended up deciding on at plumbers is:
> >
> >  - I'll do a few kernel bits do demonstrate how we can validate the spec from
> > the kernel.
> >  - Dmitry Vyukov will provide a way to translate syzkaller's syscall
> > documentation into something that can be easily used in the kernel and
> > userspace.
> >  - Various projects will attempt to integrate it to make sure that the
> > framework works for them.
> >
> > Once those bits are done we can focus on getting the spec right, and we'll
> > have a good way to validate our work both in userspace and in the kernel.
> >
> > This patchset is a basic draft of said kernel bits. I mostly want to make
> > sure that Dmitry and myself are on the same page as to how integration will
> > look like, but also to open it to criticism and suggestions (bikeshedding).
> 
> 
> Looks like a good starting point!
> 
> Do you have a git repo with this somewhere? I have problems applying
> the patches, seems that my gmail messed them with some weird escaping.

I've pushed it to https://git.kernel.org/cgit/linux/kernel/git/sashal/linux.git/log/?h=abi_spec ,
will try to keep it updated.

> Is the intention that these descriptions are written by hand, or
> generated from some DSL?
> I benefited from easier to write descriptions, also I changed several
> times what code generator generates without changing descriptions.
> However, an additional level of indirection in the form of code
> generator introduces own pain to maintain. So I am not too strong
> here.

I would really to have the descriptions written in just *one* place, either
by hand the way I did in that example, or in DSL. I understand your point about
another level of indirection, but I'm afraid that if we don't force a monolithic
spec we'll end up with way more than 2 different descriptions to maintain.

-- 

Thanks,
Sasha

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[RFC 0/3] ABI spec - verification alexander.levin@verizon.com - 2016-11-16 18:40 +0100
  [RFC 2/3] abi_spec: hooks into syscall to allow pre and post checking alexander.levin@verizon.com - 2016-11-16 18:40 +0100
    Re: [RFC 2/3] abi_spec: hooks into syscall to allow pre and post checking Dmitry Vyukov <dvyukov@google.com> - 2016-11-21 17:00 +0100
      Re: [RFC 2/3] abi_spec: hooks into syscall to allow pre and post  checking alexander.levin@verizon.com - 2016-11-23 16:20 +0100
    Re: [RFC 2/3] abi_spec: hooks into syscall to allow pre and post  checking Steven Rostedt <rostedt@goodmis.org> - 2016-11-21 17:00 +0100
  [RFC 1/3] abi_spec: basic definitions of constraints, args and  syscalls alexander.levin@verizon.com - 2016-11-16 18:40 +0100
    Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and syscalls Dmitry Vyukov <dvyukov@google.com> - 2016-11-21 15:50 +0100
      Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and  syscalls alexander.levin@verizon.com - 2016-11-23 16:10 +0100
    Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and  syscalls Steven Rostedt <rostedt@goodmis.org> - 2016-11-21 16:50 +0100
      Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and  syscalls alexander.levin@verizon.com - 2016-11-23 16:20 +0100
        Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and  syscalls Steven Rostedt <rostedt@goodmis.org> - 2016-11-23 16:40 +0100
        Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and  syscalls Steven Rostedt <rostedt@goodmis.org> - 2016-11-23 16:40 +0100
  [RFC 3/3] abi_spec: example spec for open(), placeholder for rest of  syscalls alexander.levin@verizon.com - 2016-11-16 18:40 +0100
  Re: [RFC 0/3] ABI spec - verification Thomas Gleixner <tglx@linutronix.de> - 2016-11-16 18:50 +0100
  Re: [RFC 0/3] ABI spec - verification Dmitry Vyukov <dvyukov@google.com> - 2016-11-21 15:30 +0100
    Re: [RFC 0/3] ABI spec - verification alexander.levin@verizon.com - 2016-11-23 15:40 +0100

csiph-web