On Wed, Jan 6, 2010 at 10:55 PM, Dave Airlie <airl...@gmail.com> wrote: > On Wed, Dec 30, 2009 at 11:21 AM, Darren Jenkins > <darrenrjenk...@gmail.com> wrote: >> There are a couple of array overruns, and some associated confusion in >> the code. >> This is just a wild guess at what the code should actually look like. > > Alex can you take a look at this, though I suspect its mostly stuff > that is wrong in the GATOS > code in userspace as well. > > Might need to fix it there as well, the ARRAY_SIZE change is sane, the > flicker removal > is plausible, the array sizings also totally wierd. >
I think the attached patch was the original intent of the h/v size code. The ARRAY_SIZE and flicker removal changes look fine. Alex > Dave. >> >> Coverity CID: 13305 13306 >> >> >> Signed-off-by: Darren Jenkins <darrenrjenk...@gmail.com> >> >> diff --git drivers/gpu/drm/radeon/radeon_legacy_tv.c >> drivers/gpu/drm/radeon/radeon_legacy_tv.c >> index 3a12bb0..c37535a 100644 >> --- drivers/gpu/drm/radeon/radeon_legacy_tv.c >> +++ drivers/gpu/drm/radeon/radeon_legacy_tv.c >> @@ -112,6 +112,8 @@ static const uint16_t vert_timing_NTSC[] = { >> 0x1817, >> 0x21d4, >> 0x0002, >> + 0x0000, >> + 0x0000, >> 0 >> }; >> >> @@ -623,9 +625,9 @@ void radeon_legacy_tv_mode_set(struct drm_encoder >> *encoder, >> } >> flicker_removal = (tmp + 500) / 1000; >> >> - if (flicker_removal < 3) >> - flicker_removal = 3; >> - for (i = 0; i < 6; ++i) { >> + if (flicker_removal < 2) >> + flicker_removal = 2; >> + for (i = 0; i < ARRAY_SIZE(SLOPE_limit); ++i) { >> if (flicker_removal == SLOPE_limit[i]) >> break; >> } >> diff --git drivers/gpu/drm/radeon/radeon_mode.h >> drivers/gpu/drm/radeon/radeon_mode.h >> index 402369d..abee9a9 100644 >> --- drivers/gpu/drm/radeon/radeon_mode.h >> +++ drivers/gpu/drm/radeon/radeon_mode.h >> @@ -218,8 +218,8 @@ struct radeon_mode_info { >> >> }; >> >> -#define MAX_H_CODE_TIMING_LEN 32 >> -#define MAX_V_CODE_TIMING_LEN 32 >> +#define MAX_H_CODE_TIMING_LEN 16 >> +#define MAX_V_CODE_TIMING_LEN 16 >> >> /* need to store these as reading >> back code tables is excessive */ >> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majord...@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ >> >
0001-drm-radeon-fix-a-couple-of-array-index-errors.patch
Description: application/mbox
------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev
-- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel