unsigned long copy_from_user(void $user * $kernel to, void * $user from, unsigned long n);
$$a _op_deref ($$a *$kernel x);

struct msg {
  char *buf;
};

void dev_ioctl(long arg)
{
  struct msg m;
  char c;

  copy_from_user(&m, (void*)arg, sizeof (m));
  c = m.buf[0];
}
