uti: fix handling UTI_CPU_SET env
Change-Id: Icbf8dc7e82bd6983374aefdd0d5b89ad4152c9aa
This commit is contained in:
@ -3132,7 +3132,7 @@ static long
|
||||
mcexec_uti_attr(ihk_os_t os, struct uti_attr_desc __user *_desc)
|
||||
{
|
||||
struct uti_attr_desc desc;
|
||||
char *uti_cpu_set_str;
|
||||
char *uti_cpu_set_str = NULL;
|
||||
struct kuti_attr *kattr;
|
||||
cpumask_t *cpuset = NULL, *env_cpuset = NULL;
|
||||
struct mcctrl_usrdata *ud = ihk_host_os_get_usrdata(os);
|
||||
@ -3167,18 +3167,20 @@ mcexec_uti_attr(ihk_os_t os, struct uti_attr_desc __user *_desc)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!(uti_cpu_set_str = kmalloc(desc.uti_cpu_set_len, GFP_KERNEL))) {
|
||||
pr_err("%s: error: allocating uti_cpu_set_str\n",
|
||||
__func__);
|
||||
rc = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
if (desc.uti_cpu_set_str) {
|
||||
if (!(uti_cpu_set_str = kmalloc(desc.uti_cpu_set_len, GFP_KERNEL))) {
|
||||
pr_err("%s: error: allocating uti_cpu_set_str\n",
|
||||
__func__);
|
||||
rc = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((rc = copy_from_user(uti_cpu_set_str, desc.uti_cpu_set_str, desc.uti_cpu_set_len))) {
|
||||
pr_err("%s: error: copy_from_user\n",
|
||||
__func__);
|
||||
rc = -EFAULT;
|
||||
goto out;
|
||||
if ((rc = copy_from_user(uti_cpu_set_str, desc.uti_cpu_set_str, desc.uti_cpu_set_len))) {
|
||||
pr_err("%s: error: copy_from_user\n",
|
||||
__func__);
|
||||
rc = -EFAULT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
kattr = phys_to_virt(desc.phys_attr);
|
||||
|
||||
@ -3030,7 +3030,9 @@ static long util_thread(struct thread_data_s *my_thread,
|
||||
|
||||
desc.phys_attr = pattr;
|
||||
desc.uti_cpu_set_str = getenv("UTI_CPU_SET");
|
||||
desc.uti_cpu_set_len = strlen(desc.uti_cpu_set_str) + 1;
|
||||
if (desc.uti_cpu_set_str) {
|
||||
desc.uti_cpu_set_len = strlen(desc.uti_cpu_set_str) + 1;
|
||||
}
|
||||
|
||||
if ((rc = ioctl(fd, MCEXEC_UP_UTI_ATTR, &desc))) {
|
||||
fprintf(stderr, "%s: error: MCEXEC_UP_UTI_ATTR: %s\n",
|
||||
|
||||
Reference in New Issue
Block a user