[alsa-devel] [patch 2/2] ALSA: hdspm - cleanup __user tags in ioctl()
Takashi Iwai
tiwai at suse.de
Fri Sep 23 08:32:01 CEST 2011
At Fri, 23 Sep 2011 09:25:05 +0300,
Dan Carpenter wrote:
>
> This makes the code cleaner and silences a Sparse complaint:
> sound/pci/rme9652/hdspm.c:6341:23: warning: incorrect type in assignment (incompatible argument 4 (different address spaces))
> sound/pci/rme9652/hdspm.c:6341:23: expected int ( *ioctl )( ... )
> sound/pci/rme9652/hdspm.c:6341:23: got int ( static [toplevel] *<noident> )( ... )
> sound/pci/rme9652/hdspm.c:6102:44: warning: dereference of noderef expression
> sound/pci/rme9652/hdspm.c:6225:50: warning: dereference of noderef expression
> sound/pci/rme9652/hdspm.c:6264:50: warning: dereference of noderef expression
> sound/pci/rme9652/hdspm.c:6283:50: warning: dereference of noderef expression
> sound/pci/rme9652/hdspm.c:6289:59: warning: dereference of noderef expression
>
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Applied now. Thanks.
Takashi
> diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
> index bf438d1..6e2f7ef 100644
> --- a/sound/pci/rme9652/hdspm.c
> +++ b/sound/pci/rme9652/hdspm.c
> @@ -6097,7 +6097,7 @@ static inline int copy_u32_le(void __user *dest, void __iomem *src)
> }
>
> static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
> - unsigned int cmd, unsigned long __user arg)
> + unsigned int cmd, unsigned long arg)
> {
> void __user *argp = (void __user *)arg;
> struct hdspm *hdspm = hw->private_data;
> @@ -6222,7 +6222,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
> info.line_out = hdspm_line_out(hdspm);
> info.passthru = 0;
> spin_unlock_irq(&hdspm->lock);
> - if (copy_to_user((void __user *) arg, &info, sizeof(info)))
> + if (copy_to_user(argp, &info, sizeof(info)))
> return -EFAULT;
> break;
>
> @@ -6261,7 +6261,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
> break;
> }
>
> - if (copy_to_user((void __user *) arg, &status, sizeof(status)))
> + if (copy_to_user(argp, &status, sizeof(status)))
> return -EFAULT;
>
>
> @@ -6280,13 +6280,13 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
> if (hdspm->tco)
> hdspm_version.addons |= HDSPM_ADDON_TCO;
>
> - if (copy_to_user((void __user *) arg, &hdspm_version,
> + if (copy_to_user(argp, &hdspm_version,
> sizeof(hdspm_version)))
> return -EFAULT;
> break;
>
> case SNDRV_HDSPM_IOCTL_GET_MIXER:
> - if (copy_from_user(&mixer, (void __user *)arg, sizeof(mixer)))
> + if (copy_from_user(&mixer, argp, sizeof(mixer)))
> return -EFAULT;
> if (copy_to_user((void __user *)mixer.mixer, hdspm->mixer,
> sizeof(struct hdspm_mixer)))
>
More information about the Alsa-devel
mailing list