2020-03-04 05:35:24

by xiaolong he

[permalink] [raw]
Subject: [PATCH] dma-buf: heaps: bugfix for selftest failure

If the 'name' array in check_vgem() was not initialized to null, the
value of name[4] may be random. Which will cause strcmp(name, "vgem")
failed.

Signed-off-by: Leon He <[email protected]>
---
tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c b/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
index cd5e1f6..21f3d19 100644
--- a/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
+++ b/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
@@ -22,7 +22,7 @@
static int check_vgem(int fd)
{
drm_version_t version = { 0 };
- char name[5];
+ char name[5] = { 0 };
int ret;

version.name_len = 4;
--
2.7.4


2020-03-13 16:13:13

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: heaps: bugfix for selftest failure

On 3/3/20 10:34 PM, Leon He wrote:
> If the 'name' array in check_vgem() was not initialized to null, the
> value of name[4] may be random. Which will cause strcmp(name, "vgem")
> failed.

Nit: "to fail" instead of "failed"


>
> Signed-off-by: Leon He <[email protected]>
> ---
> tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c b/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
> index cd5e1f6..21f3d19 100644
> --- a/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
> +++ b/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
> @@ -22,7 +22,7 @@
> static int check_vgem(int fd)
> {
> drm_version_t version = { 0 };
> - char name[5];
> + char name[5] = { 0 };
> int ret;
>
> version.name_len = 4;
>

return !strcmp(name, "vgem");

While you are at it, why not change strcmp() to strncmp()?

thanks,
-- Shuah


2020-03-18 02:20:45

by xiaolong he

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: heaps: bugfix for selftest failure

>
> On 3/3/20 10:34 PM, Leon He wrote:
> > If the 'name' array in check_vgem() was not initialized to null, the
> > value of name[4] may be random. Which will cause strcmp(name, "vgem")
> > failed.
>
> Nit: "to fail" instead of "failed"

OK, thanks!

>
>
> >
> > Signed-off-by: Leon He <[email protected]>
> > ---
> > tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c b/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
> > index cd5e1f6..21f3d19 100644
> > --- a/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
> > +++ b/tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
> > @@ -22,7 +22,7 @@
> > static int check_vgem(int fd)
> > {
> > drm_version_t version = { 0 };
> > - char name[5];
> > + char name[5] = { 0 };
> > int ret;
> >
> > version.name_len = 4;
> >
>
> return !strcmp(name, "vgem");
>
> While you are at it, why not change strcmp() to strncmp()?
>

OK, I'll change it in patch v3.

thanks,
-- Leon