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)
|
mcexec_uti_attr(ihk_os_t os, struct uti_attr_desc __user *_desc)
|
||||||
{
|
{
|
||||||
struct uti_attr_desc desc;
|
struct uti_attr_desc desc;
|
||||||
char *uti_cpu_set_str;
|
char *uti_cpu_set_str = NULL;
|
||||||
struct kuti_attr *kattr;
|
struct kuti_attr *kattr;
|
||||||
cpumask_t *cpuset = NULL, *env_cpuset = NULL;
|
cpumask_t *cpuset = NULL, *env_cpuset = NULL;
|
||||||
struct mcctrl_usrdata *ud = ihk_host_os_get_usrdata(os);
|
struct mcctrl_usrdata *ud = ihk_host_os_get_usrdata(os);
|
||||||
@ -3167,6 +3167,7 @@ mcexec_uti_attr(ihk_os_t os, struct uti_attr_desc __user *_desc)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (desc.uti_cpu_set_str) {
|
||||||
if (!(uti_cpu_set_str = kmalloc(desc.uti_cpu_set_len, GFP_KERNEL))) {
|
if (!(uti_cpu_set_str = kmalloc(desc.uti_cpu_set_len, GFP_KERNEL))) {
|
||||||
pr_err("%s: error: allocating uti_cpu_set_str\n",
|
pr_err("%s: error: allocating uti_cpu_set_str\n",
|
||||||
__func__);
|
__func__);
|
||||||
@ -3180,6 +3181,7 @@ mcexec_uti_attr(ihk_os_t os, struct uti_attr_desc __user *_desc)
|
|||||||
rc = -EFAULT;
|
rc = -EFAULT;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
kattr = phys_to_virt(desc.phys_attr);
|
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.phys_attr = pattr;
|
||||||
desc.uti_cpu_set_str = getenv("UTI_CPU_SET");
|
desc.uti_cpu_set_str = getenv("UTI_CPU_SET");
|
||||||
|
if (desc.uti_cpu_set_str) {
|
||||||
desc.uti_cpu_set_len = strlen(desc.uti_cpu_set_str) + 1;
|
desc.uti_cpu_set_len = strlen(desc.uti_cpu_set_str) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
if ((rc = ioctl(fd, MCEXEC_UP_UTI_ATTR, &desc))) {
|
if ((rc = ioctl(fd, MCEXEC_UP_UTI_ATTR, &desc))) {
|
||||||
fprintf(stderr, "%s: error: MCEXEC_UP_UTI_ATTR: %s\n",
|
fprintf(stderr, "%s: error: MCEXEC_UP_UTI_ATTR: %s\n",
|
||||||
|
|||||||
Reference in New Issue
Block a user