uti: fix handling UTI_CPU_SET env

Change-Id: Icbf8dc7e82bd6983374aefdd0d5b89ad4152c9aa
This commit is contained in:
Masamichi Takagi
2021-02-18 12:32:27 +09:00
parent e3927a0b95
commit 32afa80718
2 changed files with 17 additions and 13 deletions

View File

@ -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);

View File

@ -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",