On 25-04-16 10:34, Jarkko Sakkinen wrote: > diff --git a/drivers/staging/intel_sgx/isgx_ioctl.c b/drivers/staging/intel_sgx/isgx_ioctl.c > new file mode 100644 > index 0000000..9d8b36b > --- /dev/null > +++ b/drivers/staging/intel_sgx/isgx_ioctl.c > > +static long isgx_ioctl_enclave_create(struct file *filep, unsigned int cmd, > + unsigned long arg) > > + secs->base = vm_mmap(filep, 0, secs->size, > + PROT_READ | PROT_WRITE | PROT_EXEC, > + MAP_SHARED, 0); Why does the ioctl interface map userspace memory for an open device? There's already a perfectly good syscall for that: mmap. > diff --git a/drivers/staging/intel_sgx/isgx_user.h b/drivers/staging/intel_sgx/isgx_user.h > new file mode 100644 > index 0000000..672d19c > --- /dev/null > +++ b/drivers/staging/intel_sgx/isgx_user.h > > +#define SGX_ADD_SKIP_EEXTEND 0x1 > + > +struct sgx_add_param { > + unsigned long addr; > + unsigned long user_addr; > + struct isgx_secinfo *secinfo; > + unsigned int flags; > +}; The hardware supports calling EEXTEND on only a part of a page, I think the driver should also support that. Jethro _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel