All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
@ 2023-03-14 21:14 Zack Rusin
  2023-03-14 21:16 ` Nathan Chancellor
  2023-03-15 15:25 ` Martin Krastev (VMware)
  0 siblings, 2 replies; 6+ messages in thread
From: Zack Rusin @ 2023-03-14 21:14 UTC (permalink / raw)
  To: dri-devel; +Cc: banackm, Nathan Chancellor, krastevm, iforbes, mombasawalam

From: Zack Rusin <zackr@vmware.com>

The src/dst_pitch got mixed up during the rework of the function, make
sure the offset's refer to the correct one.

Spotted by clang:
Clang warns (or errors with CONFIG_WERROR):

  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c:509:29: error: variable 'dst_pitch' is uninitialized when used here [-Werror,-Wuninitialized]
          src_offset = ddirty->top * dst_pitch + ddirty->left * stdu->cpp;
                                     ^~~~~~~~~
  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c:492:26: note: initialize the variable 'dst_pitch' to silence this warning
          s32 src_pitch, dst_pitch;
                                  ^
                                   = 0
  1 error generated.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1811
Reported-by: Nathan Chancellor <nathan@kernel.org>
Reported-by: Dave Airlie <airlied@gmail.com>
Fixes: 39985eea5a6d ("drm/vmwgfx: Abstract placement selection")
---
 drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
index d79a6eccfaa4..ba0c0e12cfe9 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
@@ -506,11 +506,11 @@ static void vmw_stdu_bo_cpu_commit(struct vmw_kms_dirty *dirty)
 	/* Assume we are blitting from Guest (bo) to Host (display_srf) */
 	src_pitch = stdu->display_srf->metadata.base_size.width * stdu->cpp;
 	src_bo = &stdu->display_srf->res.guest_memory_bo->tbo;
-	src_offset = ddirty->top * dst_pitch + ddirty->left * stdu->cpp;
+	src_offset = ddirty->top * src_pitch + ddirty->left * stdu->cpp;
 
 	dst_pitch = ddirty->pitch;
 	dst_bo = &ddirty->buf->tbo;
-	dst_offset = ddirty->fb_top * src_pitch + ddirty->fb_left * stdu->cpp;
+	dst_offset = ddirty->fb_top * dst_pitch + ddirty->fb_left * stdu->cpp;
 
 	(void) vmw_bo_cpu_blit(dst_bo, dst_offset, dst_pitch,
 			       src_bo, src_offset, src_pitch,
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
  2023-03-14 21:14 [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion Zack Rusin
@ 2023-03-14 21:16 ` Nathan Chancellor
  2023-03-15 15:25 ` Martin Krastev (VMware)
  1 sibling, 0 replies; 6+ messages in thread
From: Nathan Chancellor @ 2023-03-14 21:16 UTC (permalink / raw)
  To: Zack Rusin; +Cc: banackm, krastevm, dri-devel, iforbes, mombasawalam

On Tue, Mar 14, 2023 at 05:14:45PM -0400, Zack Rusin wrote:
> From: Zack Rusin <zackr@vmware.com>
> 
> The src/dst_pitch got mixed up during the rework of the function, make
> sure the offset's refer to the correct one.
> 
> Spotted by clang:
> Clang warns (or errors with CONFIG_WERROR):
> 
>   drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c:509:29: error: variable 'dst_pitch' is uninitialized when used here [-Werror,-Wuninitialized]
>           src_offset = ddirty->top * dst_pitch + ddirty->left * stdu->cpp;
>                                      ^~~~~~~~~
>   drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c:492:26: note: initialize the variable 'dst_pitch' to silence this warning
>           s32 src_pitch, dst_pitch;
>                                   ^
>                                    = 0
>   1 error generated.
> 
> Signed-off-by: Zack Rusin <zackr@vmware.com>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1811
> Reported-by: Nathan Chancellor <nathan@kernel.org>
> Reported-by: Dave Airlie <airlied@gmail.com>
> Fixes: 39985eea5a6d ("drm/vmwgfx: Abstract placement selection")

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

Thanks for the quick response and patch!

> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> index d79a6eccfaa4..ba0c0e12cfe9 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> @@ -506,11 +506,11 @@ static void vmw_stdu_bo_cpu_commit(struct vmw_kms_dirty *dirty)
>  	/* Assume we are blitting from Guest (bo) to Host (display_srf) */
>  	src_pitch = stdu->display_srf->metadata.base_size.width * stdu->cpp;
>  	src_bo = &stdu->display_srf->res.guest_memory_bo->tbo;
> -	src_offset = ddirty->top * dst_pitch + ddirty->left * stdu->cpp;
> +	src_offset = ddirty->top * src_pitch + ddirty->left * stdu->cpp;
>  
>  	dst_pitch = ddirty->pitch;
>  	dst_bo = &ddirty->buf->tbo;
> -	dst_offset = ddirty->fb_top * src_pitch + ddirty->fb_left * stdu->cpp;
> +	dst_offset = ddirty->fb_top * dst_pitch + ddirty->fb_left * stdu->cpp;
>  
>  	(void) vmw_bo_cpu_blit(dst_bo, dst_offset, dst_pitch,
>  			       src_bo, src_offset, src_pitch,
> -- 
> 2.38.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
  2023-03-14 21:14 [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion Zack Rusin
  2023-03-14 21:16 ` Nathan Chancellor
@ 2023-03-15 15:25 ` Martin Krastev (VMware)
  2023-03-20 22:46   ` Dave Airlie
  1 sibling, 1 reply; 6+ messages in thread
From: Martin Krastev (VMware) @ 2023-03-15 15:25 UTC (permalink / raw)
  To: dri-devel

From: Martin Krastev <krastevm@vmware.com>

We reviewers botched that one.

Reviewed-by: Martin Krastev <krastevm@vmware.com>


Regards,

Martin


On 14.03.23 г. 23:14 ч., Zack Rusin wrote:
> From: Zack Rusin <zackr@vmware.com>
>
> The src/dst_pitch got mixed up during the rework of the function, make
> sure the offset's refer to the correct one.
>
> Spotted by clang:
> Clang warns (or errors with CONFIG_WERROR):
>
>    drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c:509:29: error: variable 'dst_pitch' is uninitialized when used here [-Werror,-Wuninitialized]
>            src_offset = ddirty->top * dst_pitch + ddirty->left * stdu->cpp;
>                                       ^~~~~~~~~
>    drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c:492:26: note: initialize the variable 'dst_pitch' to silence this warning
>            s32 src_pitch, dst_pitch;
>                                    ^
>                                     = 0
>    1 error generated.
>
> Signed-off-by: Zack Rusin <zackr@vmware.com>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1811
> Reported-by: Nathan Chancellor <nathan@kernel.org>
> Reported-by: Dave Airlie <airlied@gmail.com>
> Fixes: 39985eea5a6d ("drm/vmwgfx: Abstract placement selection")
> ---
>   drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> index d79a6eccfaa4..ba0c0e12cfe9 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
> @@ -506,11 +506,11 @@ static void vmw_stdu_bo_cpu_commit(struct vmw_kms_dirty *dirty)
>   	/* Assume we are blitting from Guest (bo) to Host (display_srf) */
>   	src_pitch = stdu->display_srf->metadata.base_size.width * stdu->cpp;
>   	src_bo = &stdu->display_srf->res.guest_memory_bo->tbo;
> -	src_offset = ddirty->top * dst_pitch + ddirty->left * stdu->cpp;
> +	src_offset = ddirty->top * src_pitch + ddirty->left * stdu->cpp;
>   
>   	dst_pitch = ddirty->pitch;
>   	dst_bo = &ddirty->buf->tbo;
> -	dst_offset = ddirty->fb_top * src_pitch + ddirty->fb_left * stdu->cpp;
> +	dst_offset = ddirty->fb_top * dst_pitch + ddirty->fb_left * stdu->cpp;
>   
>   	(void) vmw_bo_cpu_blit(dst_bo, dst_offset, dst_pitch,
>   			       src_bo, src_offset, src_pitch,

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
  2023-03-15 15:25 ` Martin Krastev (VMware)
@ 2023-03-20 22:46   ` Dave Airlie
  2023-03-20 23:42     ` Zack Rusin
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Airlie @ 2023-03-20 22:46 UTC (permalink / raw)
  To: Martin Krastev (VMware), Zack Rusin, Thomas Zimmermann; +Cc: dri-devel

On Thu, 16 Mar 2023 at 01:25, Martin Krastev (VMware)
<martinkrastev768@gmail.com> wrote:
>
> From: Martin Krastev <krastevm@vmware.com>
>
> We reviewers botched that one.
>
> Reviewed-by: Martin Krastev <krastevm@vmware.com>

Can someone land this into drm-misc-next please so I can start
building with clang again?

Dave.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
  2023-03-20 22:46   ` Dave Airlie
@ 2023-03-20 23:42     ` Zack Rusin
  2023-03-21  0:30       ` Dave Airlie
  0 siblings, 1 reply; 6+ messages in thread
From: Zack Rusin @ 2023-03-20 23:42 UTC (permalink / raw)
  To: martinkrastev768, airlied, tzimmermann; +Cc: dri-devel

On Tue, 2023-03-21 at 08:46 +1000, Dave Airlie wrote:
> !! External Email
> 
> On Thu, 16 Mar 2023 at 01:25, Martin Krastev (VMware)
> <martinkrastev768@gmail.com> wrote:
> > 
> > From: Martin Krastev <krastevm@vmware.com>
> > 
> > We reviewers botched that one.
> > 
> > Reviewed-by: Martin Krastev <krastevm@vmware.com>
> 
> Can someone land this into drm-misc-next please so I can start
> building with clang again?

It landed there 5 days ago:
https://cgit.freedesktop.org/drm/drm-misc/commit/?id=328839ff93709a517e89ba1de1132c5d138e5dcb

z

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion
  2023-03-20 23:42     ` Zack Rusin
@ 2023-03-21  0:30       ` Dave Airlie
  0 siblings, 0 replies; 6+ messages in thread
From: Dave Airlie @ 2023-03-21  0:30 UTC (permalink / raw)
  To: Zack Rusin; +Cc: martinkrastev768, dri-devel, tzimmermann

On Tue, 21 Mar 2023 at 09:42, Zack Rusin <zackr@vmware.com> wrote:
>
> On Tue, 2023-03-21 at 08:46 +1000, Dave Airlie wrote:
> > !! External Email
> >
> > On Thu, 16 Mar 2023 at 01:25, Martin Krastev (VMware)
> > <martinkrastev768@gmail.com> wrote:
> > >
> > > From: Martin Krastev <krastevm@vmware.com>
> > >
> > > We reviewers botched that one.
> > >
> > > Reviewed-by: Martin Krastev <krastevm@vmware.com>
> >
> > Can someone land this into drm-misc-next please so I can start
> > building with clang again?
>
> It landed there 5 days ago:
> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=328839ff93709a517e89ba1de1132c5d138e5dcb

Oops, I just pulled a tree without it so made bad assumption, sorry for noise!

Dave.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-03-21  0:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-14 21:14 [PATCH] drm/vmwgfx: Fix src/dst_pitch confusion Zack Rusin
2023-03-14 21:16 ` Nathan Chancellor
2023-03-15 15:25 ` Martin Krastev (VMware)
2023-03-20 22:46   ` Dave Airlie
2023-03-20 23:42     ` Zack Rusin
2023-03-21  0:30       ` Dave Airlie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.