提交 49e43ef7 编写于 作者: L Lionel Landwerlin

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: NLionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20171102121827.436-1-lionel.g.landwerlin@intel.com
上级 820c5bbb
...@@ -85,9 +85,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -83,9 +83,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -83,9 +83,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -113,9 +113,9 @@ show_render_basic_id(struct device *kdev, struct device_attribute *attr, char *b ...@@ -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;
......
...@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -83,9 +83,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
...@@ -84,9 +84,9 @@ show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf) ...@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册