Merge tag '6.6-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / sound / core / seq / seq_memory.c
index 174585bf59d29ebc57ef0e489742a0d9a27f4af3..b603bb93f896030130504e84eb29ff311ad393d1 100644 (file)
@@ -187,8 +187,13 @@ int snd_seq_expand_var_event(const struct snd_seq_event *event, int count, char
        err = expand_var_event(event, 0, len, buf, in_kernel);
        if (err < 0)
                return err;
-       if (len != newlen)
-               memset(buf + len, 0, newlen - len);
+       if (len != newlen) {
+               if (in_kernel)
+                       memset(buf + len, 0, newlen - len);
+               else if (clear_user((__force void __user *)buf + len,
+                                   newlen - len))
+                       return -EFAULT;
+       }
        return newlen;
 }
 EXPORT_SYMBOL(snd_seq_expand_var_event);