[igt-dev] [PATCH i-g-t 2/4] xe/xe_sysfs: Modified code to work for non priv user

priyanka.dandamudi at intel.com priyanka.dandamudi at intel.com
Mon Jul 31 14:09:51 UTC 2023


From: Priyanka Dandamudi <priyanka.dandamudi at intel.com>

Updated code to work non privileged user.
Modified documentation.

Cc: Janga Rahul Kumar <janga.rahul.kumar at intel.com>
Cc: Tejas Upadhyay <tejas.upadhyay at intel.com>
Signed-off-by: Priyanka Dandamudi <priyanka.dandamudi at intel.com>
---
 tests/xe/xe_sysfs_defaults.c  |  6 +++---
 tests/xe/xe_sysfs_scheduler.c | 19 +++++++++++++++----
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/tests/xe/xe_sysfs_defaults.c b/tests/xe/xe_sysfs_defaults.c
index ff958161b..0fc2918b6 100644
--- a/tests/xe/xe_sysfs_defaults.c
+++ b/tests/xe/xe_sysfs_defaults.c
@@ -6,10 +6,10 @@
 /**
  * TEST: xe sysfs defaults
  * Category: Infrastructure
- * Functionality: driver handler
+ * Functionality: sysman defaults
  * Run type: FULL
- * Sub-category: xe
- * Test category: SysMan
+ * Sub-category: sysman
+ * Test category: functionality test
  * SUBTEST: engine-defaults
  */
 
diff --git a/tests/xe/xe_sysfs_scheduler.c b/tests/xe/xe_sysfs_scheduler.c
index 2a113ea0f..0a3b12342 100644
--- a/tests/xe/xe_sysfs_scheduler.c
+++ b/tests/xe/xe_sysfs_scheduler.c
@@ -5,6 +5,9 @@
 
 /**
  * TEST: xe sysfs scheduler
+ * Sub-category: sysman
+ * Functionality: scheduler control interface
+ * Test category: functionality test
  * Run type: FULL
  *
  * SUBTEST: %s-invalid
@@ -107,14 +110,21 @@ static void test_min_max(int xe, int engine, const char **property)
 
 static void test_param_nonpriv(int xe, int engine, const char **property)
 {
+	struct stat st_engine, st_property;
 	unsigned int default_max, max;
 	unsigned int default_min, min;
 	unsigned int set;
-	struct stat st;
 	int defaults;
+	int property_fd;
 
-	fstat(engine, &st);
-	fchmod(engine, (st.st_mode | S_IROTH | S_IWOTH));
+	property_fd = openat(engine, property[0], O_RDWR);
+	igt_require(property_fd != -1);
+
+	fstat(engine, &st_engine);
+	fchmod(engine, (st_engine.st_mode | S_IRWXO | S_IRWXG | S_IRWXU));
+
+	fstat(property_fd, &st_property);
+	fchmod(property_fd, (st_property.st_mode | S_IRWXO | S_IRWXG | S_IRWXU));
 
 	defaults = openat(engine, ".defaults", O_DIRECTORY);
 	igt_require(defaults != -1);
@@ -150,7 +160,8 @@ static void test_param_nonpriv(int xe, int engine, const char **property)
 	}
 	igt_waitchildren();
 
-	fchmod(engine, st.st_mode);
+	fchmod(engine, st_engine.st_mode);
+	fchmod(property_fd, st_property.st_mode);
 
 	/* Reset max, min to original values */
 	igt_sysfs_printf(engine, property[1], "%d", default_min);
-- 
2.25.1



More information about the igt-dev mailing list