ALSA: hdsp: fix a test for copy_to_user() failure
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 22 Jun 2021 19:02:02 +0000 (22:02 +0300)
committerTakashi Iwai <tiwai@suse.de>
Tue, 22 Jun 2021 19:33:24 +0000 (21:33 +0200)
The copy_to_user() function returns the number of bytes remaining to be
copied.  It doesn't return negatives.

Fixes: 66c8f75919dd ("ALSA: hdsp: Fix assignment in if condition")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/YNIzqpVR6L2t/RwJ@mwanda
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdsp.c

index e3e4fab..8457a4b 100644 (file)
@@ -4877,9 +4877,8 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne
                memset(&hdsp_version, 0, sizeof(hdsp_version));
                hdsp_version.io_type = hdsp->io_type;
                hdsp_version.firmware_rev = hdsp->firmware_rev;
-               err = copy_to_user(argp, &hdsp_version, sizeof(hdsp_version));
-               if (err < 0)
-                       return -EFAULT;
+               if (copy_to_user(argp, &hdsp_version, sizeof(hdsp_version)))
+                       return -EFAULT;
                break;
        }
        case SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE: {