浏览代码

drm/i915: ensure oa config uuid is null terminated

Because dev_priv is 0-ed it's not currently an issue, but since we
have dev_priv->perf.oa.test_config.uuid size at uuid + 1, we could
just copy the null character.

v2: Use strlcpy instead of strncpy (Chris)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20171102121827.436-1-lionel.g.landwerlin@intel.com
Lionel Landwerlin 7 年之前
父节点
当前提交
49e43ef7c6

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_bdw.c

@@ -85,9 +85,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"d6de6f55-e526-4f79-a6a6-d7315c09044e",
 		"d6de6f55-e526-4f79-a6a6-d7315c09044e",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_bxt.c

@@ -83,9 +83,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"5ee72f5c-092f-421e-8b70-225f7c3e9612",
 		"5ee72f5c-092f-421e-8b70-225f7c3e9612",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_cflgt2.c

@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"74fb4902-d3d3-4237-9e90-cbdc68d0a446",
 		"74fb4902-d3d3-4237-9e90-cbdc68d0a446",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_chv.c

@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"4a534b07-cba3-414d-8d60-874830e883aa",
 		"4a534b07-cba3-414d-8d60-874830e883aa",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_glk.c

@@ -83,9 +83,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"dd3fd789-e783-4204-8cd0-b671bbccb0cf",
 		"dd3fd789-e783-4204-8cd0-b671bbccb0cf",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_hsw.c

@@ -113,9 +113,9 @@ show_render_basic_id(struct device *kdev, struct device_attribute *attr, char *b
 void
 void
 i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"403d8832-1a27-4aa6-a64e-f5389ce7b212",
 		"403d8832-1a27-4aa6-a64e-f5389ce7b212",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_render_basic;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_render_basic;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_kblgt2.c

@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"baa3c7e4-52b6-4b85-801e-465a94b746dd",
 		"baa3c7e4-52b6-4b85-801e-465a94b746dd",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_kblgt3.c

@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"f1792f32-6db2-4b50-b4b2-557128f1688d",
 		"f1792f32-6db2-4b50-b4b2-557128f1688d",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_sklgt2.c

@@ -83,9 +83,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"1651949f-0ac0-4cb1-a06f-dafd74a407d1",
 		"1651949f-0ac0-4cb1-a06f-dafd74a407d1",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_sklgt3.c

@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"2b985803-d3c9-4629-8a4f-634bfecba0e8",
 		"2b985803-d3c9-4629-8a4f-634bfecba0e8",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;

+ 2 - 2
drivers/gpu/drm/i915/i915_oa_sklgt4.c

@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
 void
 void
 i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv)
 i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv)
 {
 {
-	strncpy(dev_priv->perf.oa.test_config.uuid,
+	strlcpy(dev_priv->perf.oa.test_config.uuid,
 		"882fa433-1f4a-4a67-a962-c741888fe5f5",
 		"882fa433-1f4a-4a67-a962-c741888fe5f5",
-		UUID_STRING_LEN);
+		sizeof(dev_priv->perf.oa.test_config.uuid));
 	dev_priv->perf.oa.test_config.id = 1;
 	dev_priv->perf.oa.test_config.id = 1;
 
 
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;
 	dev_priv->perf.oa.test_config.mux_regs = mux_config_test_oa;