aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/core/control.c4
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);