Message ID | 20181102130103.7753-1-alexandru-cosmin.gheorghe@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/selftests: Fix build warning -Wframe-larger-than | expand |
Op 02-11-18 om 14:01 schreef Alexandru-Cosmin Gheorghe: > It seems for some random configuration drm_device is bigger than 2048 > bytes. > The fix is to make the mock objects static variables. > > Bug reported by 0-DAY Kernel test infrastructure here: > https://lists.01.org/pipermail/kbuild-all/2018-November/054431.html > > Fixes: 6ff3d9ffdcbb ("drm/selftests: Add tests for drm_internal_framebuffer_create") > Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> > --- > .../gpu/drm/selftests/test-drm_framebuffer.c | 30 ++++++++++--------- > 1 file changed, 16 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/selftests/test-drm_framebuffer.c b/drivers/gpu/drm/selftests/test-drm_framebuffer.c > index 3098435678af..a04d02dacce2 100644 > --- a/drivers/gpu/drm/selftests/test-drm_framebuffer.c > +++ b/drivers/gpu/drm/selftests/test-drm_framebuffer.c > @@ -307,25 +307,27 @@ static struct drm_framebuffer *fb_create_mock(struct drm_device *dev, > return ERR_PTR(-EINVAL); > } > > +static struct drm_mode_config_funcs mock_config_funcs = { > + .fb_create = fb_create_mock, > +}; > + > +static struct drm_device mock_drm_device = { > + .mode_config = { > + .min_width = MIN_WIDTH, > + .max_width = MAX_WIDTH, > + .min_height = MIN_HEIGHT, > + .max_height = MAX_HEIGHT, > + .allow_fb_modifiers = true, > + .funcs = &mock_config_funcs, > + }, > +}; > + > static int execute_drm_mode_fb_cmd2(struct drm_mode_fb_cmd2 *r) > { > int buffer_created = 0; > struct drm_framebuffer *fb; > - struct drm_mode_config_funcs mock_config_funcs = { > - .fb_create = fb_create_mock, > - }; > - struct drm_device mock_drm_device = { > - .mode_config = { > - .min_width = MIN_WIDTH, > - .max_width = MAX_WIDTH, > - .min_height = MIN_HEIGHT, > - .max_height = MAX_HEIGHT, > - .allow_fb_modifiers = true, > - .funcs = &mock_config_funcs, > - }, > - .dev_private = &buffer_created > - }; > > + mock_drm_device.dev_private = &buffer_created; > fb = drm_internal_framebuffer_create(&mock_drm_device, r, NULL); > return buffer_created; > } Thanks, pushed. :)
diff --git a/drivers/gpu/drm/selftests/test-drm_framebuffer.c b/drivers/gpu/drm/selftests/test-drm_framebuffer.c index 3098435678af..a04d02dacce2 100644 --- a/drivers/gpu/drm/selftests/test-drm_framebuffer.c +++ b/drivers/gpu/drm/selftests/test-drm_framebuffer.c @@ -307,25 +307,27 @@ static struct drm_framebuffer *fb_create_mock(struct drm_device *dev, return ERR_PTR(-EINVAL); } +static struct drm_mode_config_funcs mock_config_funcs = { + .fb_create = fb_create_mock, +}; + +static struct drm_device mock_drm_device = { + .mode_config = { + .min_width = MIN_WIDTH, + .max_width = MAX_WIDTH, + .min_height = MIN_HEIGHT, + .max_height = MAX_HEIGHT, + .allow_fb_modifiers = true, + .funcs = &mock_config_funcs, + }, +}; + static int execute_drm_mode_fb_cmd2(struct drm_mode_fb_cmd2 *r) { int buffer_created = 0; struct drm_framebuffer *fb; - struct drm_mode_config_funcs mock_config_funcs = { - .fb_create = fb_create_mock, - }; - struct drm_device mock_drm_device = { - .mode_config = { - .min_width = MIN_WIDTH, - .max_width = MAX_WIDTH, - .min_height = MIN_HEIGHT, - .max_height = MAX_HEIGHT, - .allow_fb_modifiers = true, - .funcs = &mock_config_funcs, - }, - .dev_private = &buffer_created - }; + mock_drm_device.dev_private = &buffer_created; fb = drm_internal_framebuffer_create(&mock_drm_device, r, NULL); return buffer_created; }
It seems for some random configuration drm_device is bigger than 2048 bytes. The fix is to make the mock objects static variables. Bug reported by 0-DAY Kernel test infrastructure here: https://lists.01.org/pipermail/kbuild-all/2018-November/054431.html Fixes: 6ff3d9ffdcbb ("drm/selftests: Add tests for drm_internal_framebuffer_create") Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> --- .../gpu/drm/selftests/test-drm_framebuffer.c | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-)