On Wed, Jul 22, 2020 at 11:27:29AM +0300, Paraschiv, Andra-Irina wrote: > > > +#ifndef _UAPI_LINUX_NITRO_ENCLAVES_H_ > > > +#define _UAPI_LINUX_NITRO_ENCLAVES_H_ > > > + > > > +#include <linux/types.h> > > > + > > > +/* Nitro Enclaves (NE) Kernel Driver Interface */ > > > + > > > +#define NE_API_VERSION (1) > > Why do you need this version? It shouldn't be needed, right? > > The version is used as a way for the user space tooling to sync on the > features set provided by the driver e.g. in case an older version of the > driver is available on the system and the user space tooling expects a set > of features that is not included in that driver version. That is guaranteed to get out of sync instantly with different distro kernels backporting random things, combined with stable kernel patch updates and the like. Just use the normal api interfaces instead, don't try to "version" anything, it will not work, trust us :) If an ioctl returns -ENOTTY then hey, it's not present and your userspace code can handle it that way. thanks, greg k-h