From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753723AbcKUOZ2 (ORCPT ); Mon, 21 Nov 2016 09:25:28 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:36893 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752580AbcKUOZ1 (ORCPT ); Mon, 21 Nov 2016 09:25:27 -0500 MIME-Version: 1.0 In-Reply-To: <1479317803-17220-1-git-send-email-alexander.levin@verizon.com> References: <1479317803-17220-1-git-send-email-alexander.levin@verizon.com> From: Dmitry Vyukov Date: Mon, 21 Nov 2016 15:25:05 +0100 Message-ID: Subject: Re: [RFC 0/3] ABI spec - verification To: "Levin, Alexander" Cc: "tglx@linutronix.de" , "scientist@fb.com" , "glider@google.com" , "andreyknvl@google.com" , "rostedt@goodmis.org" , "arnd@arndb.de" , "mathieu.desnoyers@efficios.com" , "daniel.vetter@ffwll.ch" , "linux-kernel@vger.kernel.org" , Nicholas Mc Guire Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 16, 2016 at 6:37 PM, 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. 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 will post other comments inline in the patches. Thanks! > Sasha Levin (3): > abi_spec: basic definitions of constraints, args and syscalls > abi_spec: hooks into syscall to allow pre and post checking > abi_spec: example spec for open(), placeholder for rest of syscalls > > include/linux/syscalls.h | 7 +- > include/uapi/linux/abi_spec.h | 58 ++++++ > kernel/Makefile | 2 + > kernel/abi_spec.c | 456 ++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 522 insertions(+), 1 deletion(-) > create mode 100644 include/uapi/linux/abi_spec.h > create mode 100644 kernel/abi_spec.c > > -- > 2.7.4