2018-05-23 11:37:08

by Oleksandr Andrushchenko

[permalink] [raw]
Subject: [PATCH v2] drm/xen-front: fix pointer casts

From: Oleksandr Andrushchenko <[email protected]>

Building for a 32-bit target results in warnings from casting
between a 32-bit pointer and a 64-bit integer. Fix the warnings
by casting those pointers to uintptr_t first.

Signed-off-by: Oleksandr Andrushchenko <[email protected]>
---
Changes since v1:
- remove unneeded u64 and phys_addr_t casts (Juergen)

drivers/gpu/drm/xen/xen_drm_front.h | 4 ++--
drivers/gpu/drm/xen/xen_drm_front_shbuf.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xen/xen_drm_front.h b/drivers/gpu/drm/xen/xen_drm_front.h
index 2c2479b571ae..5693b4a4b02b 100644
--- a/drivers/gpu/drm/xen/xen_drm_front.h
+++ b/drivers/gpu/drm/xen/xen_drm_front.h
@@ -126,12 +126,12 @@ struct xen_drm_front_drm_info {

static inline u64 xen_drm_front_fb_to_cookie(struct drm_framebuffer *fb)
{
- return (u64)fb;
+ return (uintptr_t)fb;
}

static inline u64 xen_drm_front_dbuf_to_cookie(struct drm_gem_object *gem_obj)
{
- return (u64)gem_obj;
+ return (uintptr_t)gem_obj;
}

int xen_drm_front_mode_set(struct xen_drm_front_drm_pipeline *pipeline,
diff --git a/drivers/gpu/drm/xen/xen_drm_front_shbuf.c b/drivers/gpu/drm/xen/xen_drm_front_shbuf.c
index 8099cb343ae3..d333b67cc1a0 100644
--- a/drivers/gpu/drm/xen/xen_drm_front_shbuf.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_shbuf.c
@@ -122,7 +122,7 @@ static void guest_calc_num_grefs(struct xen_drm_front_shbuf *buf)
}

#define xen_page_to_vaddr(page) \
- ((phys_addr_t)pfn_to_kaddr(page_to_xen_pfn(page)))
+ ((uintptr_t)pfn_to_kaddr(page_to_xen_pfn(page)))

static int backend_unmap(struct xen_drm_front_shbuf *buf)
{
--
2.17.0



2018-05-23 11:47:23

by Jürgen Groß

[permalink] [raw]
Subject: Re: [PATCH v2] drm/xen-front: fix pointer casts

On 23/05/18 13:36, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <[email protected]>
>
> Building for a 32-bit target results in warnings from casting
> between a 32-bit pointer and a 64-bit integer. Fix the warnings
> by casting those pointers to uintptr_t first.
>
> Signed-off-by: Oleksandr Andrushchenko <[email protected]>

Reviewed-by: Juergen Gross <[email protected]>


Juergen

2018-05-25 05:33:07

by Oleksandr Andrushchenko

[permalink] [raw]
Subject: Re: [PATCH v2] drm/xen-front: fix pointer casts

On 05/23/2018 02:46 PM, Juergen Gross wrote:
> On 23/05/18 13:36, Oleksandr Andrushchenko wrote:
>> From: Oleksandr Andrushchenko <[email protected]>
>>
>> Building for a 32-bit target results in warnings from casting
>> between a 32-bit pointer and a 64-bit integer. Fix the warnings
>> by casting those pointers to uintptr_t first.
>>
>> Signed-off-by: Oleksandr Andrushchenko <[email protected]>
> Reviewed-by: Juergen Gross <[email protected]>
Thank you, applied to drm-misc-next
>
> Juergen


2018-06-18 10:54:31

by Andre Przywara

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v2] drm/xen-front: fix pointer casts

Hi,

On 25/05/18 06:32, Oleksandr Andrushchenko wrote:
> On 05/23/2018 02:46 PM, Juergen Gross wrote:
>> On 23/05/18 13:36, Oleksandr Andrushchenko wrote:
>>> From: Oleksandr Andrushchenko <[email protected]>
>>>
>>> Building for a 32-bit target results in warnings from casting
>>> between a 32-bit pointer and a 64-bit integer. Fix the warnings
>>> by casting those pointers to uintptr_t first.
>>>
>>> Signed-off-by: Oleksandr Andrushchenko
>>> <[email protected]>
>> Reviewed-by: Juergen Gross <[email protected]>

> Thank you, applied to drm-misc-next

Is this the right branch? Shouldn't this go to drm-misc-fixes instead,
so it reaches the tree before the 4.18 release?
Just stumbled over the issue when compiling 4.18-rc1 for arm32, so it
definitely needs fixing in this cycle.

Cheers,
Andre.

2018-06-18 11:21:38

by Oleksandr Andrushchenko

[permalink] [raw]
Subject: Re: [Xen-devel] [PATCH v2] drm/xen-front: fix pointer casts

On 06/18/2018 01:06 PM, Andre Przywara wrote:
> Hi,
>
> On 25/05/18 06:32, Oleksandr Andrushchenko wrote:
>> On 05/23/2018 02:46 PM, Juergen Gross wrote:
>>> On 23/05/18 13:36, Oleksandr Andrushchenko wrote:
>>>> From: Oleksandr Andrushchenko <[email protected]>
>>>>
>>>> Building for a 32-bit target results in warnings from casting
>>>> between a 32-bit pointer and a 64-bit integer. Fix the warnings
>>>> by casting those pointers to uintptr_t first.
>>>>
>>>> Signed-off-by: Oleksandr Andrushchenko
>>>> <[email protected]>
>>> Reviewed-by: Juergen Gross <[email protected]>
>> Thank you, applied to drm-misc-next
> Is this the right branch? Shouldn't this go to drm-misc-fixes instead,
> so it reaches the tree before the 4.18 release?
> Just stumbled over the issue when compiling 4.18-rc1 for arm32, so it
> definitely needs fixing in this cycle.
Maarten, can this be done please?
> Cheers,
> Andre.
Thank you,
Oleksandr