[PATCH] drm: etnaviv: fix strncpy sizeof argument

2019-03-19 Thread Bo YU
Calling strncpy with a maximum size argument of 64 bytes on destination
array "domain->name" of size 64 bytes might leave the destination string
unterminated.

Detected by CoverityScan, CID# 1443992:  Memory - illegal accesses
(BUFFER_SIZE_WARNING)

Fixes: 9e2c2e2730126 (drm/etnaviv: add infrastructure to query perf counter)
Signed-off-by: Bo YU 
---
 drivers/gpu/drm/etnaviv/etnaviv_perfmon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c 
b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
index 4227a4006c34..08ca3c44be48 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
@@ -414,7 +414,7 @@ int etnaviv_pm_query_dom(struct etnaviv_gpu *gpu,
 
domain->id = domain->iter;
domain->nr_signals = dom->nr_signals;
-   strncpy(domain->name, dom->name, sizeof(domain->name));
+   strncpy(domain->name, dom->name, sizeof(dom->name));
 
domain->iter++;
if (domain->iter == meta->nr_domains)
-- 
2.11.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH] drm: etnaviv: fix strncpy sizeof argument

2019-03-19 Thread Bo YU
On Tue, Mar 19, 2019 at 6:22 PM Russell King - ARM Linux admin
 wrote:
>
> On Mon, Mar 18, 2019 at 10:57:55PM -0400, Bo YU wrote:
> > Calling strncpy with a maximum size argument of 64 bytes on destination
> > array "domain->name" of size 64 bytes might leave the destination string
> > unterminated.
> >
> > Detected by CoverityScan, CID# 1443992:  Memory - illegal accesses
> > (BUFFER_SIZE_WARNING)
> >
> > Fixes: 9e2c2e2730126 (drm/etnaviv: add infrastructure to query perf counter)
> > Signed-off-by: Bo YU 
> > ---
> >  drivers/gpu/drm/etnaviv/etnaviv_perfmon.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c 
> > b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
> > index 4227a4006c34..08ca3c44be48 100644
> > --- a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
> > +++ b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
> > @@ -414,7 +414,7 @@ int etnaviv_pm_query_dom(struct etnaviv_gpu *gpu,
> >
> >   domain->id = domain->iter;
> >   domain->nr_signals = dom->nr_signals;
> > - strncpy(domain->name, dom->name, sizeof(domain->name));
> > + strncpy(domain->name, dom->name, sizeof(dom->name));
>
> This introduces an overflow bug if sizeof(dom->name) >
> sizeof(domain->name).  If both sizes are the same, then there is no
> effect.
Oops,It seems more worse than original code.
>
> strlcpy() would be a better replacement, it guarantees that the
> destination will be correctly terminated.
But there are too many strcpy like usage in kernel, Does it matter?
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
> According to speedtest.net: 11.9Mbps down 500kbps up
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH v2] drm: etnaviv: fix strncpy sizeof argument

2019-03-29 Thread Bo YU
Calling strncpy with a maximum size argument of 64 bytes on destination
array "domain->name" of size 64 bytes might leave the destination string
unterminated.

Detected by CoverityScan, CID# 1443992:  Memory - illegal accesses 
(BUFFER_SIZE_WARNING)

Fixes: 9e2c2e2730126 (drm/etnaviv: add infrastructure to query perf counter)
Signed-off-by: Bo YU 
---
v2: accroding to Russell's suggestion, replace strncpy with strlcpy
---
 drivers/gpu/drm/etnaviv/etnaviv_perfmon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c 
b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
index 4227a4006c34..ce178f23e86a 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
@@ -414,7 +414,7 @@ int etnaviv_pm_query_dom(struct etnaviv_gpu *gpu,
 
domain->id = domain->iter;
domain->nr_signals = dom->nr_signals;
-   strncpy(domain->name, dom->name, sizeof(domain->name));
+   strlcpy(domain->name, dom->name, sizeof(domain->name));
 
domain->iter++;
if (domain->iter == meta->nr_domains)
-- 
2.11.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH v2] drm: etnaviv: fix strncpy sizeof argument

2019-04-02 Thread Bo YU
On Thu, Mar 28, 2019 at 4:09 PM Bo YU  wrote:
>
> Calling strncpy with a maximum size argument of 64 bytes on destination
> array "domain->name" of size 64 bytes might leave the destination string
> unterminated.
>
> Detected by CoverityScan, CID# 1443992:  Memory - illegal accesses 
> (BUFFER_SIZE_WARNING)
>
> Fixes: 9e2c2e2730126 (drm/etnaviv: add infrastructure to query perf counter)
> Signed-off-by: Bo YU 
> ---
> v2: accroding to Russell's suggestion, replace strncpy with strlcpy
> ---
>  drivers/gpu/drm/etnaviv/etnaviv_perfmon.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c 
> b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
> index 4227a4006c34..ce178f23e86a 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
> @@ -414,7 +414,7 @@ int etnaviv_pm_query_dom(struct etnaviv_gpu *gpu,
>
> domain->id = domain->iter;
> domain->nr_signals = dom->nr_signals;
> -   strncpy(domain->name, dom->name, sizeof(domain->name));
> +   strlcpy(domain->name, dom->name, sizeof(domain->name));
>
> domain->iter++;
> if (domain->iter == meta->nr_domains)
> --
> 2.11.0
>
Ping?
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH -next] drm/drm_dp_mst:remove set but not used variable 'origlen'

2020-01-18 Thread Bo YU
Fixes gcc '-Wunused-but-set-variable' warning:

drivers/gpu/drm/drm_dp_mst_topology.c:3693:16: warning: variable
‘origlen’ set but not used [-Wunused-but-set-variable]
  int replylen, origlen, curreply;

It looks like never use variable origlen after assign value to it.

Fixes: ad7f8a1f9ced7 (drm/helper: add Displayport multi-stream helper (v0.6))
Signed-off-by: Bo YU 
---
 drivers/gpu/drm/drm_dp_mst_topology.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c 
b/drivers/gpu/drm/drm_dp_mst_topology.c
index 4b74193b89ce..4c76e673206b 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -3690,7 +3690,7 @@ static bool drm_dp_get_one_sb_msg(struct 
drm_dp_mst_topology_mgr *mgr, bool up)
 {
int len;
u8 replyblock[32];
-   int replylen, origlen, curreply;
+   int replylen, curreply;
int ret;
struct drm_dp_sideband_msg_rx *msg;
int basereg = up ? DP_SIDEBAND_MSG_UP_REQ_BASE : 
DP_SIDEBAND_MSG_DOWN_REP_BASE;
@@ -3710,7 +3710,6 @@ static bool drm_dp_get_one_sb_msg(struct 
drm_dp_mst_topology_mgr *mgr, bool up)
}
replylen = msg->curchunk_len + msg->curchunk_hdrlen;
 
-   origlen = replylen;
replylen -= len;
curreply = len;
while (replylen > 0) {
-- 
2.11.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] drm/amdgpu: Error handling issues about CHECKED_RETURN

2019-02-14 Thread Bo YU via dri-devel
Ok, drop it.

On Thu, Feb 14, 2019 at 1:09 PM Zhou, David(ChunMing) 
wrote:

>
>
> > -Original Message-
> > From: Bo YU 
> > Sent: Thursday, February 14, 2019 12:46 PM
> > To: Deucher, Alexander ; Koenig, Christian
> > ; Zhou, David(ChunMing)
> > ; airl...@linux.ie; dan...@ffwll.ch; Zhu, Rex
> > ; Grodzovsky, Andrey
> > ; dri-devel@lists.freedesktop.org; linux-
> > ker...@vger.kernel.org
> > Cc: Bo Yu ; amd-...@lists.freedesktop.org
> > Subject: [PATCH] drm/amdgpu: Error handling issues about
> > CHECKED_RETURN
> >
> > From: Bo Yu 
> >
> > Calling "amdgpu_ring_test_helper" without checking return value
>
> We could need to continue to ring test even there is one ring test failed.
>
> -David
>
> >
> > Signed-off-by: Bo Yu 
> > ---
> >  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > index 57cb3a51bda7..48465a61516b 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> > @@ -4728,7 +4728,9 @@ static int gfx_v8_0_cp_test_all_rings(struct
> > amdgpu_device *adev)
> >
> >   for (i = 0; i < adev->gfx.num_compute_rings; i++) {
> >   ring = &adev->gfx.compute_ring[i];
> > - amdgpu_ring_test_helper(ring);
> > + r = amdgpu_ring_test_helper(ring);
> > + if (r)
> > + return r;
> >   }
> >
> >   return 0;
> > --
> > 2.11.0
>
>
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH] drm/amdgpu: Error handling issues about CHECKED_RETURN

2019-02-14 Thread Bo YU via dri-devel
From: Bo Yu 

Calling "amdgpu_ring_test_helper" without checking return value

Signed-off-by: Bo Yu 
---
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index 57cb3a51bda7..48465a61516b 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -4728,7 +4728,9 @@ static int gfx_v8_0_cp_test_all_rings(struct 
amdgpu_device *adev)
 
for (i = 0; i < adev->gfx.num_compute_rings; i++) {
ring = &adev->gfx.compute_ring[i];
-   amdgpu_ring_test_helper(ring);
+   r = amdgpu_ring_test_helper(ring);
+   if (r)
+   return r;
}
 
return 0;
-- 
2.11.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel