Commit 1417fad7 authored by Xinyun Liu's avatar Xinyun Liu Committed by Zhenyu Wang

drm/i915/gvt: use array to avoid potential buffer overflow

Array 'pdp_pair' of size 1 may use index value(s) 1..7.
Changed to pdps[8] to avoid confusion.
Signed-off-by: default avatarXinyun Liu <xinyun.liu@intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
parent 65957195
...@@ -146,14 +146,11 @@ struct execlist_ring_context { ...@@ -146,14 +146,11 @@ struct execlist_ring_context {
u32 nop4; u32 nop4;
u32 lri_cmd_2; u32 lri_cmd_2;
struct execlist_mmio_pair ctx_timestamp; struct execlist_mmio_pair ctx_timestamp;
struct execlist_mmio_pair pdp3_UDW; /*
struct execlist_mmio_pair pdp3_LDW; * pdps[8]={ pdp3_UDW, pdp3_LDW, pdp2_UDW, pdp2_LDW,
struct execlist_mmio_pair pdp2_UDW; * pdp1_UDW, pdp1_LDW, pdp0_UDW, pdp0_LDW}
struct execlist_mmio_pair pdp2_LDW; */
struct execlist_mmio_pair pdp1_UDW; struct execlist_mmio_pair pdps[8];
struct execlist_mmio_pair pdp1_LDW;
struct execlist_mmio_pair pdp0_UDW;
struct execlist_mmio_pair pdp0_LDW;
}; };
struct intel_vgpu_elsp_dwords { struct intel_vgpu_elsp_dwords {
......
...@@ -45,11 +45,10 @@ static void set_context_pdp_root_pointer( ...@@ -45,11 +45,10 @@ static void set_context_pdp_root_pointer(
struct execlist_ring_context *ring_context, struct execlist_ring_context *ring_context,
u32 pdp[8]) u32 pdp[8])
{ {
struct execlist_mmio_pair *pdp_pair = &ring_context->pdp3_UDW;
int i; int i;
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
pdp_pair[i].val = pdp[7 - i]; ring_context->pdps[i].val = pdp[7 - i];
} }
static void update_shadow_pdps(struct intel_vgpu_workload *workload) static void update_shadow_pdps(struct intel_vgpu_workload *workload)
...@@ -1230,7 +1229,7 @@ static void read_guest_pdps(struct intel_vgpu *vgpu, ...@@ -1230,7 +1229,7 @@ static void read_guest_pdps(struct intel_vgpu *vgpu,
u64 gpa; u64 gpa;
int i; int i;
gpa = ring_context_gpa + RING_CTX_OFF(pdp3_UDW.val); gpa = ring_context_gpa + RING_CTX_OFF(pdps[0].val);
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
intel_gvt_hypervisor_read_gpa(vgpu, intel_gvt_hypervisor_read_gpa(vgpu,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment