Re: [RFC 1/3] abi_spec: basic definitions of constraints, args and syscalls
From: alexander . levin
Date: Wed Nov 23 2016 - 10:15:59 EST
On Mon, Nov 21, 2016 at 10:41:02AM -0500, Steven Rostedt wrote:
> On Wed, 16 Nov 2016 17:37:00 +0000
> alexander.levin@xxxxxxxxxxx wrote:
>
> > This is a very simple definition of the syscall ABI we can build on. The idea
> > is to have a generic description of syscalls, their arguments and return
> > values we can use to audit the kernel's implementation vs the specs.
> >
> > Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
> > ---
> > include/uapi/linux/abi_spec.h | 58 +++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 58 insertions(+)
> > create mode 100644 include/uapi/linux/abi_spec.h
> >
> > diff --git a/include/uapi/linux/abi_spec.h b/include/uapi/linux/abi_spec.h
> > new file mode 100644
> > index 0000000..ad1a992
> > --- /dev/null
> > +++ b/include/uapi/linux/abi_spec.h
> > @@ -0,0 +1,58 @@
> > +#ifndef ABI_SPEC_H_
> > +#define ABI_SPEC_H_
> > +
> > +#include <linux/fcntl.h>
> > +#include <linux/stat.h>
> > +#define MAX_CONSTRAINTS 10
> > +#define MAX_ARGS 10
> > +
>
> I'm curious to where you picked the number 10 from? Actually, I was
> doing some work with the syscall_get_arguments() and the max syscall
> arguments is currently set to 6. Anything greater causes a bug.
It's really just made up, but I wanted it to be higher than 6 because:
- The "6" limit is only per-arch, so there might be something that wants
more than 6 args?
- This should also work for ioctls in the future.
--
Thanks,
Sasha