| Date | Mon, 19 Feb 2007 11:22:01 +1100 | From | Paul Mackerras <> | Subject | Re: [patch 02/11] syslets: add syslet.h include file, user API/ABI definitions |
| |
Ingo Molnar writes:
> add include/linux/syslet.h which contains the user-space API/ABI > declarations. Add the new header to include/linux/Kbuild as well.
> +struct syslet_uatom { > + unsigned long flags; > + unsigned long nr; > + long __user *ret_ptr; > + struct syslet_uatom __user *next; > + unsigned long __user *arg_ptr[6]; > + /* > + * User-space can put anything in here, kernel will not > + * touch it: > + */ > + void __user *private; > +};
This structure, with its unsigned longs and pointers, is going to create enormous headaches for 32-bit processes on 64-bit machines as far as I can see---and on ppc64 machines, almost all processes are 32-bit, since there is no inherent speed penalty for running in 32-bit mode, and some space savings.
Have you thought about how you will handle compatibility for 32-bit processes? The issue will arise for x86_64 and ia64 (among others) too, I would think.
Paul. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|