diff options
Diffstat (limited to 'sound/core/control.c')
-rw-r--r-- | sound/core/control.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 978fe1a8e9f0..59edb12dd542 100644 --- a/sound/core/control.c +++ b/sound/core/control.c | |||
@@ -1081,12 +1081,12 @@ static int snd_ctl_elem_init_enum_names(struct user_element *ue) | |||
1081 | char *names, *p; | 1081 | char *names, *p; |
1082 | size_t buf_len, name_len; | 1082 | size_t buf_len, name_len; |
1083 | unsigned int i; | 1083 | unsigned int i; |
1084 | const uintptr_t user_ptrval = ue->info.value.enumerated.names_ptr; | ||
1084 | 1085 | ||
1085 | if (ue->info.value.enumerated.names_length > 64 * 1024) | 1086 | if (ue->info.value.enumerated.names_length > 64 * 1024) |
1086 | return -EINVAL; | 1087 | return -EINVAL; |
1087 | 1088 | ||
1088 | names = memdup_user( | 1089 | names = memdup_user((const void __user *)user_ptrval, |
1089 | (const void __user *)ue->info.value.enumerated.names_ptr, | ||
1090 | ue->info.value.enumerated.names_length); | 1090 | ue->info.value.enumerated.names_length); |
1091 | if (IS_ERR(names)) | 1091 | if (IS_ERR(names)) |
1092 | return PTR_ERR(names); | 1092 | return PTR_ERR(names); |