2022-05-17 11:09:22

by Jérôme Pouiller

[permalink] [raw]
Subject: [PATCH] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace

From: Jérôme Pouiller <[email protected]>

The typedefs u32 and u64 are not available in userspace. Thus user get
an error he try to use DMA_BUF_SET_NAME_A or DMA_BUF_SET_NAME_B:

$ gcc -Wall -c -MMD -c -o ioctls_list.o ioctls_list.c
In file included from /usr/include/x86_64-linux-gnu/asm/ioctl.h:1,
from /usr/include/linux/ioctl.h:5,
from /usr/include/asm-generic/ioctls.h:5,
from ioctls_list.c:11:
ioctls_list.c:463:29: error: ‘u32’ undeclared here (not in a function)
463 | { "DMA_BUF_SET_NAME_A", DMA_BUF_SET_NAME_A, -1, -1 }, // linux/dma-buf.h
| ^~~~~~~~~~~~~~~~~~
ioctls_list.c:464:29: error: ‘u64’ undeclared here (not in a function)
464 | { "DMA_BUF_SET_NAME_B", DMA_BUF_SET_NAME_B, -1, -1 }, // linux/dma-buf.h
| ^~~~~~~~~~~~~~~~~~

The issue was initially reported here[1].

[1]: https://github.com/jerome-pouiller/ioctl/pull/14

Signed-off-by: Jérôme Pouiller <[email protected]>
---
include/uapi/linux/dma-buf.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/uapi/linux/dma-buf.h b/include/uapi/linux/dma-buf.h
index 8e4a2ca0bcbf..b1523cb8ab30 100644
--- a/include/uapi/linux/dma-buf.h
+++ b/include/uapi/linux/dma-buf.h
@@ -92,7 +92,7 @@ struct dma_buf_sync {
* between them in actual uapi, they're just different numbers.
*/
#define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *)
-#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32)
-#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64)
+#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, __u32)
+#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, __u64)

#endif
--
2.35.1


2022-05-17 14:52:29

by Christian König

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace

Am 17.05.22 um 09:27 schrieb Jerome Pouiller:
> From: Jérôme Pouiller <[email protected]>
>
> The typedefs u32 and u64 are not available in userspace. Thus user get
> an error he try to use DMA_BUF_SET_NAME_A or DMA_BUF_SET_NAME_B:
>
> $ gcc -Wall -c -MMD -c -o ioctls_list.o ioctls_list.c
> In file included from /usr/include/x86_64-linux-gnu/asm/ioctl.h:1,
> from /usr/include/linux/ioctl.h:5,
> from /usr/include/asm-generic/ioctls.h:5,
> from ioctls_list.c:11:
> ioctls_list.c:463:29: error: ‘u32’ undeclared here (not in a function)
> 463 | { "DMA_BUF_SET_NAME_A", DMA_BUF_SET_NAME_A, -1, -1 }, // linux/dma-buf.h
> | ^~~~~~~~~~~~~~~~~~
> ioctls_list.c:464:29: error: ‘u64’ undeclared here (not in a function)
> 464 | { "DMA_BUF_SET_NAME_B", DMA_BUF_SET_NAME_B, -1, -1 }, // linux/dma-buf.h
> | ^~~~~~~~~~~~~~~~~~
>
> The issue was initially reported here[1].
>
> [1]: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjerome-pouiller%2Fioctl%2Fpull%2F14&amp;data=05%7C01%7Cchristian.koenig%40amd.com%7C4b665e3c2222463014ec08da37d6b3f4%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637883692533547283%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=prj%2BSOuf%2B1IWK1XKGD381LhDuL9qOoj7lYy8xMoV%2B6o%3D&amp;reserved=0
>
> Signed-off-by: Jérôme Pouiller <[email protected]>

Good catch, Reviewed-by: Christian König <[email protected]>

CC: stable?
Fixes: ?

> ---
> include/uapi/linux/dma-buf.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/uapi/linux/dma-buf.h b/include/uapi/linux/dma-buf.h
> index 8e4a2ca0bcbf..b1523cb8ab30 100644
> --- a/include/uapi/linux/dma-buf.h
> +++ b/include/uapi/linux/dma-buf.h
> @@ -92,7 +92,7 @@ struct dma_buf_sync {
> * between them in actual uapi, they're just different numbers.
> */
> #define DMA_BUF_SET_NAME _IOW(DMA_BUF_BASE, 1, const char *)
> -#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, u32)
> -#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, u64)
> +#define DMA_BUF_SET_NAME_A _IOW(DMA_BUF_BASE, 1, __u32)
> +#define DMA_BUF_SET_NAME_B _IOW(DMA_BUF_BASE, 1, __u64)
>
> #endif


2022-05-17 20:36:19

by Jérôme Pouiller

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace

On Tuesday 17 May 2022 11:37:27 CEST Christian König wrote:
> Am 17.05.22 um 10:32 schrieb Jérôme Pouiller:
> > [add [email protected] to the recipients]
>
> Well, that's not what I suggested :)
>
> The question was if we should add a CC stable tag while pushing this.
>
> Greg might be complaining that you shouldn't CC the stable list manually.

He did :). I was indeed unaware of this process.


> > On Tuesday 17 May 2022 09:30:24 CEST Christian König wrote:
> >> Am 17.05.22 um 09:27 schrieb Jerome Pouiller:
> >>> From: Jérôme Pouiller <[email protected]>
> >>>
> >>> The typedefs u32 and u64 are not available in userspace. Thus user get
> >>> an error he try to use DMA_BUF_SET_NAME_A or DMA_BUF_SET_NAME_B:
> >>>
> >>> $ gcc -Wall -c -MMD -c -o ioctls_list.o ioctls_list.c
> >>> In file included from /usr/include/x86_64-linux-gnu/asm/ioctl.h:1,
> >>> from /usr/include/linux/ioctl.h:5,
> >>> from /usr/include/asm-generic/ioctls.h:5,
> >>> from ioctls_list.c:11:
> >>> ioctls_list.c:463:29: error: ‘u32’ undeclared here (not in a function)
> >>> 463 | { "DMA_BUF_SET_NAME_A", DMA_BUF_SET_NAME_A, -1, -1 }, // linux/dma-buf.h
> >>> | ^~~~~~~~~~~~~~~~~~
> >>> ioctls_list.c:464:29: error: ‘u64’ undeclared here (not in a function)
> >>> 464 | { "DMA_BUF_SET_NAME_B", DMA_BUF_SET_NAME_B, -1, -1 }, // linux/dma-buf.h
> >>> | ^~~~~~~~~~~~~~~~~~
> >>>
> >>> The issue was initially reported here[1].
> >>>
> >>>
> >>> Signed-off-by: Jérôme Pouiller <[email protected]>
> >> Good catch, Reviewed-by: Christian König <[email protected]>
> >>
> >> CC: stable?
> > Done
> >
> >> Fixes: ?
> > Fixes: a5bff92eaac4 ("dma-buf: Fix SET_NAME ioctl uapi")
>
> Going to push that to drm-misc-fixes with the Fixes: and CC: stable tag
> added.


--
Jérôme Pouiller



2022-05-17 20:47:45

by Jérôme Pouiller

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace

[add [email protected] to the recipients]

On Tuesday 17 May 2022 09:30:24 CEST Christian König wrote:
> Am 17.05.22 um 09:27 schrieb Jerome Pouiller:
> > From: Jérôme Pouiller <[email protected]>
> >
> > The typedefs u32 and u64 are not available in userspace. Thus user get
> > an error he try to use DMA_BUF_SET_NAME_A or DMA_BUF_SET_NAME_B:
> >
> > $ gcc -Wall -c -MMD -c -o ioctls_list.o ioctls_list.c
> > In file included from /usr/include/x86_64-linux-gnu/asm/ioctl.h:1,
> > from /usr/include/linux/ioctl.h:5,
> > from /usr/include/asm-generic/ioctls.h:5,
> > from ioctls_list.c:11:
> > ioctls_list.c:463:29: error: ‘u32’ undeclared here (not in a function)
> > 463 | { "DMA_BUF_SET_NAME_A", DMA_BUF_SET_NAME_A, -1, -1 }, // linux/dma-buf.h
> > | ^~~~~~~~~~~~~~~~~~
> > ioctls_list.c:464:29: error: ‘u64’ undeclared here (not in a function)
> > 464 | { "DMA_BUF_SET_NAME_B", DMA_BUF_SET_NAME_B, -1, -1 }, // linux/dma-buf.h
> > | ^~~~~~~~~~~~~~~~~~
> >
> > The issue was initially reported here[1].
> >
> > [1]: https://urldefense.com/v3/__https://nam11.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fjerome-pouiller*2Fioctl*2Fpull*2F14&amp;data=05*7C01*7Cchristian.koenig*40amd.com*7C4b665e3c2222463014ec08da37d6b3f4*7C3dd8961fe4884e608e11a82d994e183d*7C0*7C0*7C637883692533547283*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&amp;sdata=prj*2BSOuf*2B1IWK1XKGD381LhDuL9qOoj7lYy8xMoV*2B6o*3D&amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU!!N30Cs7Jr!Vp-6M6kuBq4uqEHaYTbkJbN3BTkd85DAeGS7xNYLPbNMp00kBlbD0iQPjJdQ5OVCFeCp_XVrsYIhxvLlpLQDmRhK5QXhQA$
> >
> > Signed-off-by: Jérôme Pouiller <[email protected]>
>
> Good catch, Reviewed-by: Christian König <[email protected]>
>
> CC: stable?

Done

> Fixes: ?

Fixes: a5bff92eaac4 ("dma-buf: Fix SET_NAME ioctl uapi")

--
Jérôme Pouiller



2022-05-17 21:03:27

by Christian König

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace

Am 17.05.22 um 10:32 schrieb Jérôme Pouiller:
> [add [email protected] to the recipients]

Well, that's not what I suggested :)

The question was if we should add a CC stable tag while pushing this.

Greg might be complaining that you shouldn't CC the stable list manually.

> On Tuesday 17 May 2022 09:30:24 CEST Christian König wrote:
>> Am 17.05.22 um 09:27 schrieb Jerome Pouiller:
>>> From: Jérôme Pouiller <[email protected]>
>>>
>>> The typedefs u32 and u64 are not available in userspace. Thus user get
>>> an error he try to use DMA_BUF_SET_NAME_A or DMA_BUF_SET_NAME_B:
>>>
>>> $ gcc -Wall -c -MMD -c -o ioctls_list.o ioctls_list.c
>>> In file included from /usr/include/x86_64-linux-gnu/asm/ioctl.h:1,
>>> from /usr/include/linux/ioctl.h:5,
>>> from /usr/include/asm-generic/ioctls.h:5,
>>> from ioctls_list.c:11:
>>> ioctls_list.c:463:29: error: ‘u32’ undeclared here (not in a function)
>>> 463 | { "DMA_BUF_SET_NAME_A", DMA_BUF_SET_NAME_A, -1, -1 }, // linux/dma-buf.h
>>> | ^~~~~~~~~~~~~~~~~~
>>> ioctls_list.c:464:29: error: ‘u64’ undeclared here (not in a function)
>>> 464 | { "DMA_BUF_SET_NAME_B", DMA_BUF_SET_NAME_B, -1, -1 }, // linux/dma-buf.h
>>> | ^~~~~~~~~~~~~~~~~~
>>>
>>> The issue was initially reported here[1].
>>>
>>> [1]: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.com%2Fv3%2F__https%3A%2F%2Fnam11.safelinks.protection.outlook.com%2F%3Furl%3Dhttps*3A*2F*2Fgithub.com*2Fjerome-pouiller*2Fioctl*2Fpull*2F14%26amp%3Bdata%3D05*7C01*7Cchristian.koenig*40amd.com*7C4b665e3c2222463014ec08da37d6b3f4*7C3dd8961fe4884e608e11a82d994e183d*7C0*7C0*7C637883692533547283*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C%26amp%3Bsdata%3Dprj*2BSOuf*2B1IWK1XKGD381LhDuL9qOoj7lYy8xMoV*2B6o*3D%26amp%3Breserved%3D0__%3BJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU!!N30Cs7Jr!Vp-6M6kuBq4uqEHaYTbkJbN3BTkd85DAeGS7xNYLPbNMp00kBlbD0iQPjJdQ5OVCFeCp_XVrsYIhxvLlpLQDmRhK5QXhQA%24&amp;data=05%7C01%7Cchristian.koenig%40amd.com%7Cfb9e2ca37e624de0ca6508da37dfc4cf%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637883731471453935%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=K1H3mVhehV9D1F9HleR%2FHWhN6NiQpAi5pXyF4RH4Kbw%3D&amp;reserved=0
>>>
>>> Signed-off-by: Jérôme Pouiller <[email protected]>
>> Good catch, Reviewed-by: Christian König <[email protected]>
>>
>> CC: stable?
> Done
>
>> Fixes: ?
> Fixes: a5bff92eaac4 ("dma-buf: Fix SET_NAME ioctl uapi")

Going to push that to drm-misc-fixes with the Fixes: and CC: stable tag
added.

Thanks,
Christian.


2022-05-18 04:49:42

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace

On Tue, May 17, 2022 at 10:32:15AM +0200, Jérôme Pouiller wrote:
> [add [email protected] to the recipients]
>
> On Tuesday 17 May 2022 09:30:24 CEST Christian König wrote:
> > Am 17.05.22 um 09:27 schrieb Jerome Pouiller:
> > > From: Jérôme Pouiller <[email protected]>
> > >
> > > The typedefs u32 and u64 are not available in userspace. Thus user get
> > > an error he try to use DMA_BUF_SET_NAME_A or DMA_BUF_SET_NAME_B:
> > >
> > > $ gcc -Wall -c -MMD -c -o ioctls_list.o ioctls_list.c
> > > In file included from /usr/include/x86_64-linux-gnu/asm/ioctl.h:1,
> > > from /usr/include/linux/ioctl.h:5,
> > > from /usr/include/asm-generic/ioctls.h:5,
> > > from ioctls_list.c:11:
> > > ioctls_list.c:463:29: error: ‘u32’ undeclared here (not in a function)
> > > 463 | { "DMA_BUF_SET_NAME_A", DMA_BUF_SET_NAME_A, -1, -1 }, // linux/dma-buf.h
> > > | ^~~~~~~~~~~~~~~~~~
> > > ioctls_list.c:464:29: error: ‘u64’ undeclared here (not in a function)
> > > 464 | { "DMA_BUF_SET_NAME_B", DMA_BUF_SET_NAME_B, -1, -1 }, // linux/dma-buf.h
> > > | ^~~~~~~~~~~~~~~~~~
> > >
> > > The issue was initially reported here[1].
> > >
> > > [1]: https://urldefense.com/v3/__https://nam11.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fjerome-pouiller*2Fioctl*2Fpull*2F14&amp;data=05*7C01*7Cchristian.koenig*40amd.com*7C4b665e3c2222463014ec08da37d6b3f4*7C3dd8961fe4884e608e11a82d994e183d*7C0*7C0*7C637883692533547283*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&amp;sdata=prj*2BSOuf*2B1IWK1XKGD381LhDuL9qOoj7lYy8xMoV*2B6o*3D&amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU!!N30Cs7Jr!Vp-6M6kuBq4uqEHaYTbkJbN3BTkd85DAeGS7xNYLPbNMp00kBlbD0iQPjJdQ5OVCFeCp_XVrsYIhxvLlpLQDmRhK5QXhQA$
> > >
> > > Signed-off-by: Jérôme Pouiller <[email protected]>
> >
> > Good catch, Reviewed-by: Christian König <[email protected]>
> >
> > CC: stable?
>
> Done

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>