Message ID | 1649312827-728-1-git-send-email-ssengar@linux.microsoft.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/hyperv: Added error message for fb size greater then allocated | expand |
On Wed, Apr 06, 2022 at 11:27:07PM -0700, Saurabh Sengar wrote: > Added error message when the size of requested framebuffer is more then > the allocated size by vmbus mmio region for framebuffer > > Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> > --- > v1 -> v2 : Corrected Sign-off > > drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > index e82b815..92587f0 100644 > --- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > +++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > @@ -123,8 +123,11 @@ static int hyperv_pipe_check(struct drm_simple_display_pipe *pipe, > if (fb->format->format != DRM_FORMAT_XRGB8888) > return -EINVAL; > > - if (fb->pitches[0] * fb->height > hv->fb_size) > + if (fb->pitches[0] * fb->height > hv->fb_size) { > + drm_err(&hv->dev, "hv->hdev, fb size requested by process %s for %d X %d (pitch %d) is greater then allocated size %ld\n", then -> than. > + current->comm, fb->width, fb->height, fb->pitches[0], hv->fb_size); > return -EINVAL; > + } > > return 0; > } > -- > 1.8.3.1 >
On Wed, Apr 6, 2022 at 11:27 PM Saurabh Sengar <ssengar@linux.microsoft.com> wrote: > > Added error message when the size of requested framebuffer is more then > the allocated size by vmbus mmio region for framebuffer > > Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> > --- > v1 -> v2 : Corrected Sign-off > > drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > index e82b815..92587f0 100644 > --- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > +++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > @@ -123,8 +123,11 @@ static int hyperv_pipe_check(struct drm_simple_display_pipe *pipe, > if (fb->format->format != DRM_FORMAT_XRGB8888) > return -EINVAL; > > - if (fb->pitches[0] * fb->height > hv->fb_size) > + if (fb->pitches[0] * fb->height > hv->fb_size) { > + drm_err(&hv->dev, "hv->hdev, fb size requested by process %s for %d X %d (pitch %d) is greater then allocated size %ld\n", > + current->comm, fb->width, fb->height, fb->pitches[0], hv->fb_size); Any reason to add an error message here. Since this function is called whenever there is an update, avoid printing an error here. > return -EINVAL; > + } > > return 0; > } > -- > 1.8.3.1 >
On Thu, Apr 07, 2022 at 09:28:53AM -0700, Deepak Rawat wrote: > On Wed, Apr 6, 2022 at 11:27 PM Saurabh Sengar > <ssengar@linux.microsoft.com> wrote: > > > > Added error message when the size of requested framebuffer is more then > > the allocated size by vmbus mmio region for framebuffer > > > > Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> > > --- > > v1 -> v2 : Corrected Sign-off > > > > drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > > index e82b815..92587f0 100644 > > --- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > > +++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c > > @@ -123,8 +123,11 @@ static int hyperv_pipe_check(struct drm_simple_display_pipe *pipe, > > if (fb->format->format != DRM_FORMAT_XRGB8888) > > return -EINVAL; > > > > - if (fb->pitches[0] * fb->height > hv->fb_size) > > + if (fb->pitches[0] * fb->height > hv->fb_size) { > > + drm_err(&hv->dev, "hv->hdev, fb size requested by process %s for %d X %d (pitch %d) is greater then allocated size %ld\n", > > + current->comm, fb->width, fb->height, fb->pitches[0], hv->fb_size); > > Any reason to add an error message here. Since this function is called > whenever there is an update, avoid printing an error here. Recently we hit an issue where userspace application was programing the bigger size buffer then the actual allocated size for framebuffer by hyperv vmbus. This resulted in black screen, and there was no error message it was failing silently and took a while to debug this issue. Although the function will be called in each update but this error is printed only in fatal case where pipeline is fail to set the crtc for desired resolution. > > > return -EINVAL; > > + } > > > > return 0; > > } > > -- > > 1.8.3.1 > >
diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c index e82b815..92587f0 100644 --- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c +++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c @@ -123,8 +123,11 @@ static int hyperv_pipe_check(struct drm_simple_display_pipe *pipe, if (fb->format->format != DRM_FORMAT_XRGB8888) return -EINVAL; - if (fb->pitches[0] * fb->height > hv->fb_size) + if (fb->pitches[0] * fb->height > hv->fb_size) { + drm_err(&hv->dev, "hv->hdev, fb size requested by process %s for %d X %d (pitch %d) is greater then allocated size %ld\n", + current->comm, fb->width, fb->height, fb->pitches[0], hv->fb_size); return -EINVAL; + } return 0; }
Added error message when the size of requested framebuffer is more then the allocated size by vmbus mmio region for framebuffer Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> --- v1 -> v2 : Corrected Sign-off drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)