X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fcore%2Fioctl32%2Frawmidi32.c;h=c1d89488618c6d35c907b0636e244bf055093392;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=5ff21249e556b237262e2b7dca300d0d5317e566;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/sound/core/ioctl32/rawmidi32.c b/sound/core/ioctl32/rawmidi32.c index 5ff21249e..c1d894886 100644 --- a/sound/core/ioctl32/rawmidi32.c +++ b/sound/core/ioctl32/rawmidi32.c @@ -38,9 +38,11 @@ struct sndrv_rawmidi_params32 { #define CVT_sndrv_rawmidi_params()\ {\ COPY(stream);\ - COPY(buffer_size);\ - COPY(avail_min);\ - COPY(no_active_sensing);\ + COPY_CVT(buffer_size);\ + COPY_CVT(avail_min);\ + if (copy_in_user(((size_t __user *)&dst->avail_min + 1),\ + ((size_t __user *)&src->avail_min + 1), 4)) \ + return -EFAULT;\ } struct sndrv_rawmidi_status32 { @@ -54,10 +56,10 @@ struct sndrv_rawmidi_status32 { #define CVT_sndrv_rawmidi_status()\ {\ COPY(stream);\ - COPY(tstamp.tv_sec);\ - COPY(tstamp.tv_nsec);\ - COPY(avail);\ - COPY(xruns);\ + COPY_CVT(tstamp.tv_sec);\ + COPY_CVT(tstamp.tv_nsec);\ + COPY_CVT(avail);\ + COPY_CVT(xruns);\ } DEFINE_ALSA_IOCTL(rawmidi_params);