| @@ -269,6 +269,8 @@ static ssize_t iolink_show(struct kobject *kobj, struct attribute *attr, · 268 unmodified lines |
| 269 | buffer[0] = 0; | 269 | buffer[0] = 0; |
| 270 | | 270 | |
| 271 | iolink = container_of(attr, struct kfd_iolink_properties, attr); | 271 | iolink = container_of(attr, struct kfd_iolink_properties, attr); |
| | 272 | if (iolink->gpu && kfd_devcgroup_check_permission(iolink->gpu)) |
| | 273 | return -EPERM; |
| 272 | sysfs_show_32bit_prop(buffer, "type", iolink->iolink_type); | 274 | sysfs_show_32bit_prop(buffer, "type", iolink->iolink_type); |
| 273 | sysfs_show_32bit_prop(buffer, "version_major", iolink->ver_maj); | 275 | sysfs_show_32bit_prop(buffer, "version_major", iolink->ver_maj); |
| 274 | sysfs_show_32bit_prop(buffer, "version_minor", iolink->ver_min); | 276 | sysfs_show_32bit_prop(buffer, "version_minor", iolink->ver_min); |
| @@ -305,6 +307,8 @@ static ssize_t mem_show(struct kobject *kobj, struct attribute *attr, · 30 unmodified lines |
| 305 | buffer[0] = 0; | 307 | buffer[0] = 0; |
| 306 | | 308 | |
| 307 | mem = container_of(attr, struct kfd_mem_properties, attr); | 309 | mem = container_of(attr, struct kfd_mem_properties, attr); |
| | 310 | if (mem->gpu && kfd_devcgroup_check_permission(mem->gpu)) |
| | 311 | return -EPERM; |
| 308 | sysfs_show_32bit_prop(buffer, "heap_type", mem->heap_type); | 312 | sysfs_show_32bit_prop(buffer, "heap_type", mem->heap_type); |
| 309 | sysfs_show_64bit_prop(buffer, "size_in_bytes", mem->size_in_bytes); | 313 | sysfs_show_64bit_prop(buffer, "size_in_bytes", mem->size_in_bytes); |
| 310 | sysfs_show_32bit_prop(buffer, "flags", mem->flags); | 314 | sysfs_show_32bit_prop(buffer, "flags", mem->flags); |
| @@ -334,6 +338,8 @@ static ssize_t kfd_cache_show(struct kobject *kobj, struct attribute *attr, · 23 unmodified lines |
| 334 | buffer[0] = 0; | 338 | buffer[0] = 0; |
| 335 | | 339 | |
| 336 | cache = container_of(attr, struct kfd_cache_properties, attr); | 340 | cache = container_of(attr, struct kfd_cache_properties, attr); |
| | 341 | if (cache->gpu && kfd_devcgroup_check_permission(cache->gpu)) |
| | 342 | return -EPERM; |
| 337 | sysfs_show_32bit_prop(buffer, "processor_id_low", | 343 | sysfs_show_32bit_prop(buffer, "processor_id_low", |
| 338 | cache->processor_id_low); | 344 | cache->processor_id_low); |
| 339 | sysfs_show_32bit_prop(buffer, "level", cache->cache_level); | 345 | sysfs_show_32bit_prop(buffer, "level", cache->cache_level); |
| @@ -414,6 +420,8 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr, · 74 unmodified lines |
| 414 | if (strcmp(attr->name, "gpu_id") == 0) { | 420 | if (strcmp(attr->name, "gpu_id") == 0) { |
| 415 | dev = container_of(attr, struct kfd_topology_device, | 421 | dev = container_of(attr, struct kfd_topology_device, |
| 416 | attr_gpuid); | 422 | attr_gpuid); |
| | 423 | if (dev->gpu && kfd_devcgroup_check_permission(dev->gpu)) |
| | 424 | return -EPERM; |
| 417 | return sysfs_show_32bit_val(buffer, dev->gpu_id); | 425 | return sysfs_show_32bit_val(buffer, dev->gpu_id); |
| 418 | } | 426 | } |
| 419 | | 427 | |
| @@ -421,11 +429,15 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr, · 1 unmodified line |
| 421 | dev = container_of(attr, struct kfd_topology_device, | 429 | dev = container_of(attr, struct kfd_topology_device, |
| 422 | attr_name); | 430 | attr_name); |
| 423 | | 431 | |
| | 432 | if (dev->gpu && kfd_devcgroup_check_permission(dev->gpu)) |
| | 433 | return -EPERM; |
| 424 | return sysfs_show_str_val(buffer, dev->node_props.name); | 434 | return sysfs_show_str_val(buffer, dev->node_props.name); |
| 425 | } | 435 | } |
| 426 | | 436 | |
| 427 | dev = container_of(attr, struct kfd_topology_device, | 437 | dev = container_of(attr, struct kfd_topology_device, |
| 428 | attr_props); | 438 | attr_props); |
| | 439 | if (dev->gpu && kfd_devcgroup_check_permission(dev->gpu)) |
| | 440 | return -EPERM; |
| 429 | sysfs_show_32bit_prop(buffer, "cpu_cores_count", | 441 | sysfs_show_32bit_prop(buffer, "cpu_cores_count", |
| 430 | dev->node_props.cpu_cores_count); | 442 | dev->node_props.cpu_cores_count); |
| 431 | sysfs_show_32bit_prop(buffer, "simd_count", | 443 | sysfs_show_32bit_prop(buffer, "simd_count", |