diff mbox

drm: Make drm.h uapi header safe for C++

Message ID 1459345654-30786-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter March 30, 2016, 1:47 p.m. UTC
virtual is a protected keyword in C++ and can't be used at all. Ugh.

This aligns the kernel versions of the drm headers with the ones in
libdrm.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Ilia Mirkin March 30, 2016, 1:53 p.m. UTC | #1
On Wed, Mar 30, 2016 at 9:47 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> virtual is a protected keyword in C++ and can't be used at all. Ugh.
>
> This aligns the kernel versions of the drm headers with the ones in
> libdrm.
>
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  include/uapi/drm/drm.h | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> index a0ebfe7c9a28..d299c7749091 100644
> --- a/include/uapi/drm/drm.h
> +++ b/include/uapi/drm/drm.h
> @@ -373,7 +373,11 @@ struct drm_buf_pub {
>   */
>  struct drm_buf_map {
>         int count;              /**< Length of the buffer list */
> +#ifdef __cplusplus
> +       void *virt;

Shouldn't this also be __user for consistency? (I realize it'll never
play since the kernel doesn't get built with C++...)

> +#else
>         void __user *virtual;           /**< Mmap'd area in user-virtual */
> +#endif
>         struct drm_buf_pub __user *list;        /**< Buffer information */
>  };
>
> --
> 2.8.0.rc3
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Emil Velikov March 30, 2016, 2:45 p.m. UTC | #2
On 30 March 2016 at 14:53, Ilia Mirkin <imirkin@alum.mit.edu> wrote:
> On Wed, Mar 30, 2016 at 9:47 AM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>> virtual is a protected keyword in C++ and can't be used at all. Ugh.
>>
>> This aligns the kernel versions of the drm headers with the ones in
>> libdrm.
>>
>> Cc: Emil Velikov <emil.l.velikov@gmail.com>
>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>> ---
>>  include/uapi/drm/drm.h | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
>> index a0ebfe7c9a28..d299c7749091 100644
>> --- a/include/uapi/drm/drm.h
>> +++ b/include/uapi/drm/drm.h
>> @@ -373,7 +373,11 @@ struct drm_buf_pub {
>>   */
>>  struct drm_buf_map {
>>         int count;              /**< Length of the buffer list */
>> +#ifdef __cplusplus
>> +       void *virt;
>
> Shouldn't this also be __user for consistency? (I realize it'll never
> play since the kernel doesn't get built with C++...)
>
Yes please. There is also a bunch of extern C guards that could be
nice, but that's a whole another thing.

-Emil
diff mbox

Patch

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index a0ebfe7c9a28..d299c7749091 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -373,7 +373,11 @@  struct drm_buf_pub {
  */
 struct drm_buf_map {
 	int count;		/**< Length of the buffer list */
+#ifdef __cplusplus
+	void *virt;
+#else
 	void __user *virtual;		/**< Mmap'd area in user-virtual */
+#endif
 	struct drm_buf_pub __user *list;	/**< Buffer information */
 };