summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm206/bios_gm206.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2016-10-20 18:02:04 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-10-21 19:01:58 -0400
commit7339774715f5e405739daa8a845104b0909b7dec (patch)
tree240629b55f2386f1c8316d754a3ecd3f4899e03f /drivers/gpu/nvgpu/gm206/bios_gm206.c
parentab593b9ccd3132404406ef6340348fdb28c23bf0 (diff)
gpu: nvgpu: gm206: fix out of boundary memory access
Avoid out of bounds when searching bit header. JIRA VFND-2826 Change-Id: Icbde7c7e04c35c29f316d8a0ad93c76fcb8fae7a Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/1240185 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm206/bios_gm206.c')
-rw-r--r--drivers/gpu/nvgpu/gm206/bios_gm206.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c
index 2f1a32d3..033c84d6 100644
--- a/drivers/gpu/nvgpu/gm206/bios_gm206.c
+++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c
@@ -882,7 +882,7 @@ static int gm206_bios_init(struct gk20a *g)
882 return err; 882 return err;
883 883
884 gk20a_dbg_info("read bios"); 884 gk20a_dbg_info("read bios");
885 for (i = 0; i < g->bios.size; i++) { 885 for (i = 0; i < g->bios.size - 6; i++) {
886 if (gm206_bios_rdu16(g, i) == BIT_HEADER_ID && 886 if (gm206_bios_rdu16(g, i) == BIT_HEADER_ID &&
887 gm206_bios_rdu32(g, i+2) == BIT_HEADER_SIGNATURE) { 887 gm206_bios_rdu32(g, i+2) == BIT_HEADER_SIGNATURE) {
888 gm206_bios_parse_bit(g, i); 888 gm206_bios_parse_bit(g, i);