> +static int put_user_long(long val, unsigned long arg) > +{ > +#ifdef CONFIG_COMPAT > + if (in_compat_syscall()) > + return put_user(val, (compat_long_t __user *)compat_ptr(arg)); > +#endif > + return put_user(val, (long __user *)arg); > +} We had this #ifdef CONFIG_COMPAT if (in_compat_syscall()) ... ... #endif patter quite frequently. Can we define a in_compat_syscall stub and make sure compat_ptr and the compat_* types are available available to clean this up a bit? > - if (NULL == (void *) arg) { > + if (NULL == argp) { if (!argp) { ?