== Description == Due to security reasons setting through sysfs should only be allowed in passthrough mode. Options that are not mapped as SMU messages do not have any mechanizm to distinguish between passthorugh, onevf and mutivf usecase. A unified approach is needed. == Changes == This patch introduces a new mechanizm to distinguish ONEVF and PASSTHROUGH use case on sysfs level and prohibit setting (writting to sysfs). It also applies the new mechanizm on pp_dpm_sclk sysfs file. == Test == Writing to pp_dpm_sclk sysfs file in passthrough mode will succeed. Writing to pp_dpm_sclk sysfs file in ONEVF mode will yield error: "calling process does not have sufficient permission to execute a command". Sysfs pp_dpm_sclk will not be created in MULTIVF mode. Signed-off-by: Marina Nikolic <Marina.Nikolic@xxxxxxx> --- drivers/gpu/drm/amd/pm/amdgpu_pm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c index 082539c70fd4..d2b168babc7d 100644 --- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c @@ -2133,6 +2133,12 @@ static int default_attr_update(struct amdgpu_device *adev, struct amdgpu_device_ } } + /* security: setting should not be allowed from VF */ + if (amdgpu_sriov_vf(adev)) { + dev_attr->attr.mode &= ~S_IWUGO; + dev_attr->store = NULL; + } + #undef DEVICE_ATTR_IS return 0; -- 2.20.1