VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / sound / core / seq / seq_clientmgr.c
index 40fef22..eff3693 100644 (file)
@@ -1055,7 +1055,7 @@ static ssize_t snd_seq_write(struct file *file, const char __user *buf, size_t c
                } else {
 #if defined(CONFIG_SND_BIT32_EMUL) || defined(CONFIG_SND_BIT32_EMUL_MODULE)
                        if (client->convert32 && snd_seq_ev_is_varusr(&event)) {
-                               void *ptr = (void*)A(event.data.raw32.d[1]);
+                               void *ptr = compat_ptr(event.data.raw32.d[1]);
                                event.data.ext.ptr = ptr;
                        }
 #endif
@@ -2154,17 +2154,17 @@ static int snd_seq_do_ioctl(client_t *client, unsigned int cmd, void __user *arg
        switch (cmd) {
        case SNDRV_SEQ_IOCTL_PVERSION:
                /* return sequencer version number */
-               return put_user(SNDRV_SEQ_VERSION, (int *)arg) ? -EFAULT : 0;
+               return put_user(SNDRV_SEQ_VERSION, (int __user *)arg) ? -EFAULT : 0;
        case SNDRV_SEQ_IOCTL_CLIENT_ID:
                /* return the id of this client */
-               return put_user(client->number, (int *)arg) ? -EFAULT : 0;
+               return put_user(client->number, (int __user *)arg) ? -EFAULT : 0;
        }
 
        if (! arg)
                return -EFAULT;
        for (p = ioctl_tables; p->cmd; p++) {
                if (p->cmd == cmd)
-                       return p->func(client, (void __user *) arg);
+                       return p->func(client, arg);
        }
        snd_printd("seq unknown ioctl() 0x%x (type='%c', number=0x%2x)\n",
                   cmd, _IOC_TYPE(cmd), _IOC_NR(cmd));
@@ -2348,7 +2348,7 @@ int snd_seq_kernel_client_dispatch(int client, snd_seq_event_t * ev,
  * exported, called by kernel clients to perform same functions as with
  * userland ioctl() 
  */
-int snd_seq_kernel_client_ctl(int clientid, unsigned int cmd, void __user *arg)
+int snd_seq_kernel_client_ctl(int clientid, unsigned int cmd, void *arg)
 {
        client_t *client;
        mm_segment_t fs;