Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
if (ue->info.value.enumerated.names_length > 64 * 1024)
return -EINVAL;
- names = memdup_user((const void __user *)user_ptrval,
+ names = vmemdup_user((const void __user *)user_ptrval,
ue->info.value.enumerated.names_length);
if (IS_ERR(names))
return PTR_ERR(names);
for (i = 0; i < ue->info.value.enumerated.items; ++i) {
name_len = strnlen(p, buf_len);
if (name_len == 0 || name_len >= 64 || name_len == buf_len) {
- kfree(names);
+ kvfree(names);
return -EINVAL;
}
p += name_len + 1;
struct user_element *ue = kcontrol->private_data;
kvfree(ue->tlv_data);
- kfree(ue->priv_data);
+ kvfree(ue->priv_data);
kfree(ue);
}