mirror of https://gitee.com/openkylin/linux.git
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: Xinyun Liu <xinyun.liu@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
This commit is contained in:
parent
659571953d
commit
1417fad75c
|
@ -146,14 +146,11 @@ struct execlist_ring_context {
|
|||
u32 nop4;
|
||||
u32 lri_cmd_2;
|
||||
struct execlist_mmio_pair ctx_timestamp;
|
||||
struct execlist_mmio_pair pdp3_UDW;
|
||||
struct execlist_mmio_pair pdp3_LDW;
|
||||
struct execlist_mmio_pair pdp2_UDW;
|
||||
struct execlist_mmio_pair pdp2_LDW;
|
||||
struct execlist_mmio_pair pdp1_UDW;
|
||||
struct execlist_mmio_pair pdp1_LDW;
|
||||
struct execlist_mmio_pair pdp0_UDW;
|
||||
struct execlist_mmio_pair pdp0_LDW;
|
||||
/*
|
||||
* pdps[8]={ pdp3_UDW, pdp3_LDW, pdp2_UDW, pdp2_LDW,
|
||||
* pdp1_UDW, pdp1_LDW, pdp0_UDW, pdp0_LDW}
|
||||
*/
|
||||
struct execlist_mmio_pair pdps[8];
|
||||
};
|
||||
|
||||
struct intel_vgpu_elsp_dwords {
|
||||
|
|
|
@ -45,11 +45,10 @@ static void set_context_pdp_root_pointer(
|
|||
struct execlist_ring_context *ring_context,
|
||||
u32 pdp[8])
|
||||
{
|
||||
struct execlist_mmio_pair *pdp_pair = &ring_context->pdp3_UDW;
|
||||
int 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)
|
||||
|
@ -1230,7 +1229,7 @@ static void read_guest_pdps(struct intel_vgpu *vgpu,
|
|||
u64 gpa;
|
||||
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++)
|
||||
intel_gvt_hypervisor_read_gpa(vgpu,
|
||||
|
|
Loading…
Reference in New Issue