On Fri, Oct 7, 2011 at 19:20, Michael Witten <mfwitten@xxxxxxxxx> wrote: > Date: Fri, 16 Sep 2011 20:45:30 +0000 > > The value of RADEON_DEBUGFS_MAX_NUM_FILES has been used to > specify the size of an array, each element of which looks > like this: > > struct radeon_debugfs { > struct drm_info_list *files; > unsigned num_files; > }; > > Consequently, the number of debugfs files may be much greater > than RADEON_DEBUGFS_MAX_NUM_FILES, something that the current > code ignores: > > if ((_radeon_debugfs_count + nfiles) > RADEON_DEBUGFS_MAX_NUM_FILES) { > DRM_ERROR("Reached maximum number of debugfs files.\n"); > DRM_ERROR("Report so we increase RADEON_DEBUGFS_MAX_NUM_FILES.\n"); > return -EINVAL; > } > > This commit fixes this mistake, and accordingly renames: > > RADEON_DEBUGFS_MAX_NUM_FILES > > to: > > RADEON_DEBUGFS_MAX_COMPONENTS > > Signed-off-by: Michael Witten <mfwitten@xxxxxxxxx> > --- > drivers/gpu/drm/radeon/radeon.h | 2 +- > drivers/gpu/drm/radeon/radeon_device.c | 13 ++++++++----- > 2 files changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h > index c1e056b..dd7bab9 100644 > --- a/drivers/gpu/drm/radeon/radeon.h > +++ b/drivers/gpu/drm/radeon/radeon.h > @@ -102,7 +102,7 @@ extern int radeon_pcie_gen2; > #define RADEON_FENCE_JIFFIES_TIMEOUT (HZ / 2) > /* RADEON_IB_POOL_SIZE must be a power of 2 */ > #define RADEON_IB_POOL_SIZE 16 > -#define RADEON_DEBUGFS_MAX_NUM_FILES 32 > +#define RADEON_DEBUGFS_MAX_COMPONENTS 32 > #define RADEONFB_CONN_LIMIT 4 > #define RADEON_BIOS_NUM_SCRATCH 8 > > diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c > index b51e157..31b1f4b 100644 > --- a/drivers/gpu/drm/radeon/radeon_device.c > +++ b/drivers/gpu/drm/radeon/radeon_device.c > @@ -981,7 +981,7 @@ struct radeon_debugfs { > struct drm_info_list *files; > unsigned num_files; > }; > -static struct radeon_debugfs _radeon_debugfs[RADEON_DEBUGFS_MAX_NUM_FILES]; > +static struct radeon_debugfs _radeon_debugfs[RADEON_DEBUGFS_MAX_COMPONENTS]; > static unsigned _radeon_debugfs_count = 0; > > int radeon_debugfs_add_files(struct radeon_device *rdev, > @@ -996,14 +996,17 @@ int radeon_debugfs_add_files(struct radeon_device *rdev, > return 0; > } > } > - if ((_radeon_debugfs_count + nfiles) > RADEON_DEBUGFS_MAX_NUM_FILES) { > - DRM_ERROR("Reached maximum number of debugfs files.\n"); > - DRM_ERROR("Report so we increase RADEON_DEBUGFS_MAX_NUM_FILES.\n"); > + > + i = _radeon_debugfs_count + 1; > + if (i > RADEON_DEBUGFS_MAX_COMPONENTS) { > + DRM_ERROR("Reached maximum number of debugfs components.\n"); > + DRM_ERROR("Report so we increase " > + "RADEON_DEBUGFS_MAX_COMPONENTS.\n"); > return -EINVAL; > } > _radeon_debugfs[_radeon_debugfs_count].files = files; > _radeon_debugfs[_radeon_debugfs_count].num_files = nfiles; > - _radeon_debugfs_count++; > + _radeon_debugfs_count = i; > #if defined(CONFIG_DEBUG_FS) > drm_debugfs_create_files(files, nfiles, > rdev->ddev->control->debugfs_root, > -- > 1.7.6.409.ge7a85 > > This patch has not yet been applied. What's wrong? Sincerely, Michael Witten _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel