From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932293AbeEWKAw (ORCPT ); Wed, 23 May 2018 06:00:52 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:35123 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932180AbeEWKAv (ORCPT ); Wed, 23 May 2018 06:00:51 -0400 X-Google-Smtp-Source: AB8JxZqzn1RNsOGj0cK5wtnsSUEWxE/gVQHXro36kXX03+a3zXp3N3VaoUrmFB+ga0WTF3o96D74Og== Subject: Re: [PATCH] drm/xen-front: fix pointer casts To: Juergen Gross , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com, boris.ostrovsky@oracle.com Cc: Oleksandr Andrushchenko References: <20180521073912.13510-1-andr2000@gmail.com> From: Oleksandr Andrushchenko Message-ID: Date: Wed, 23 May 2018 13:00:48 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/23/2018 12:19 PM, Juergen Gross wrote: > On 21/05/18 09:39, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> 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 >> --- >> 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..8e15dbebc4ba 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 (u64)(uintptr_t)fb; > Do you really still need the cast to u64? Indeed, I can remove (u64) now, thank you > >> } >> >> static inline u64 xen_drm_front_dbuf_to_cookie(struct drm_gem_object *gem_obj) >> { >> - return (u64)gem_obj; >> + return (u64)(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..47fc93847765 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))) >> + ((phys_addr_t)(uintptr_t)pfn_to_kaddr(page_to_xen_pfn(page))) > phys_addr_t for a virtual address? This is because the resulting value is then passed to gnttab_set_map_op/ gnttab_set_unmap_op which expects host address to be passed as phys_addr_t addr :( Please see [1], [2]: regardless of the fact that xen_page_to_vaddr does produce host address I have to convert it to phys_addr_t then to pass to [1] and [2]. Please also see [3], [4], [5] which either cast to phys_addr_t or unsigned long or u64. > > Juergen [1] https://elixir.bootlin.com/linux/v4.17-rc6/source/include/xen/grant_table.h#L147 [2] https://elixir.bootlin.com/linux/v4.17-rc6/source/include/xen/grant_table.h#L163 [3] https://elixir.bootlin.com/linux/v4.17-rc6/source/drivers/block/xen-blkback/blkback.c#L845 [4] https://elixir.bootlin.com/linux/v4.17-rc6/source/drivers/net/xen-netback/netback.c#L334 [5] https://elixir.bootlin.com/linux/v4.17-rc6/source/drivers/xen/xenbus/xenbus_client.c#L478 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH] drm/xen-front: fix pointer casts Date: Wed, 23 May 2018 13:00:48 +0300 Message-ID: References: <20180521073912.13510-1-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id CAF196E441 for ; Wed, 23 May 2018 10:00:51 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id a8-v6so7280895wmg.5 for ; Wed, 23 May 2018 03:00:51 -0700 (PDT) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Juergen Gross , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com, boris.ostrovsky@oracle.com Cc: Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org T24gMDUvMjMvMjAxOCAxMjoxOSBQTSwgSnVlcmdlbiBHcm9zcyB3cm90ZToKPiBPbiAyMS8wNS8x OCAwOTozOSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4+IEZyb206IE9sZWtzYW5k ciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KPj4KPj4g QnVpbGRpbmcgZm9yIGEgMzItYml0IHRhcmdldCByZXN1bHRzIGluIHdhcm5pbmdzIGZyb20gY2Fz dGluZwo+PiBiZXR3ZWVuIGEgMzItYml0IHBvaW50ZXIgYW5kIGEgNjQtYml0IGludGVnZXIuIEZp eCB0aGUgd2FybmluZ3MKPj4gYnkgY2FzdGluZyB0aG9zZSBwb2ludGVycyB0byB1aW50cHRyX3Qg Zmlyc3QuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVr c2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJt L3hlbi94ZW5fZHJtX2Zyb250LmggICAgICAgfCA0ICsrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v eGVuL3hlbl9kcm1fZnJvbnRfc2hidWYuYyB8IDIgKy0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS94ZW4veGVuX2RybV9mcm9udC5oIGIvZHJpdmVycy9ncHUvZHJtL3hlbi94ZW5fZHJt X2Zyb250LmgKPj4gaW5kZXggMmMyNDc5YjU3MWFlLi44ZTE1ZGJlYmM0YmEgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS94ZW4veGVuX2RybV9mcm9udC5oCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS94ZW4veGVuX2RybV9mcm9udC5oCj4+IEBAIC0xMjYsMTIgKzEyNiwxMiBAQCBzdHJ1 Y3QgeGVuX2RybV9mcm9udF9kcm1faW5mbyB7Cj4+ICAgCj4+ICAgc3RhdGljIGlubGluZSB1NjQg eGVuX2RybV9mcm9udF9mYl90b19jb29raWUoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4+ ICAgewo+PiAtCXJldHVybiAodTY0KWZiOwo+PiArCXJldHVybiAodTY0KSh1aW50cHRyX3QpZmI7 Cj4gRG8geW91IHJlYWxseSBzdGlsbCBuZWVkIHRoZSBjYXN0IHRvIHU2ND8KSW5kZWVkLCBJIGNh biByZW1vdmUgKHU2NCkgbm93LCB0aGFuayB5b3UKPgo+PiAgIH0KPj4gICAKPj4gICBzdGF0aWMg aW5saW5lIHU2NCB4ZW5fZHJtX2Zyb250X2RidWZfdG9fY29va2llKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqZ2VtX29iaikKPj4gICB7Cj4+IC0JcmV0dXJuICh1NjQpZ2VtX29iajsKPj4gKwlyZXR1 cm4gKHU2NCkodWludHB0cl90KWdlbV9vYmo7Cj4+ICAgfQo+PiAgIAo+PiAgIGludCB4ZW5fZHJt X2Zyb250X21vZGVfc2V0KHN0cnVjdCB4ZW5fZHJtX2Zyb250X2RybV9waXBlbGluZSAqcGlwZWxp bmUsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGVuL3hlbl9kcm1fZnJvbnRfc2hi dWYuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZW4veGVuX2RybV9mcm9udF9zaGJ1Zi5jCj4+IGluZGV4 IDgwOTljYjM0M2FlMy4uNDdmYzkzODQ3NzY1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0veGVuL3hlbl9kcm1fZnJvbnRfc2hidWYuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGVu L3hlbl9kcm1fZnJvbnRfc2hidWYuYwo+PiBAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRpYyB2b2lk IGd1ZXN0X2NhbGNfbnVtX2dyZWZzKHN0cnVjdCB4ZW5fZHJtX2Zyb250X3NoYnVmICpidWYpCj4+ ICAgfQo+PiAgIAo+PiAgICNkZWZpbmUgeGVuX3BhZ2VfdG9fdmFkZHIocGFnZSkgXAo+PiAtCQko KHBoeXNfYWRkcl90KXBmbl90b19rYWRkcihwYWdlX3RvX3hlbl9wZm4ocGFnZSkpKQo+PiArCQko KHBoeXNfYWRkcl90KSh1aW50cHRyX3QpcGZuX3RvX2thZGRyKHBhZ2VfdG9feGVuX3BmbihwYWdl KSkpCj4gcGh5c19hZGRyX3QgZm9yIGEgdmlydHVhbCBhZGRyZXNzPwpUaGlzIGlzIGJlY2F1c2Ug dGhlIHJlc3VsdGluZyB2YWx1ZSBpcyB0aGVuIHBhc3NlZCB0byBnbnR0YWJfc2V0X21hcF9vcC8K Z250dGFiX3NldF91bm1hcF9vcCB3aGljaCBleHBlY3RzIGhvc3QgYWRkcmVzcyB0byBiZSBwYXNz ZWQgYXMKcGh5c19hZGRyX3QgYWRkciA6KApQbGVhc2Ugc2VlIFsxXSwgWzJdOiByZWdhcmRsZXNz IG9mIHRoZSBmYWN0IHRoYXQgeGVuX3BhZ2VfdG9fdmFkZHIgZG9lcwpwcm9kdWNlIGhvc3QgYWRk cmVzcyBJIGhhdmUgdG8gY29udmVydCBpdCB0byBwaHlzX2FkZHJfdCB0aGVuIHRvIHBhc3MgdG8g ClsxXSBhbmQgWzJdLgpQbGVhc2UgYWxzbyBzZWUgWzNdLCBbNF0sIFs1XSB3aGljaCBlaXRoZXIg Y2FzdCB0byBwaHlzX2FkZHJfdCBvcgp1bnNpZ25lZCBsb25nIG9yIHU2NC4KPgo+IEp1ZXJnZW4K ClsxXSAKaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjQuMTctcmM2L3NvdXJjZS9p bmNsdWRlL3hlbi9ncmFudF90YWJsZS5oI0wxNDcKWzJdIApodHRwczovL2VsaXhpci5ib290bGlu LmNvbS9saW51eC92NC4xNy1yYzYvc291cmNlL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgjTDE2 MwpbM10gCmh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y0LjE3LXJjNi9zb3VyY2Uv ZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay9ibGtiYWNrLmMjTDg0NQpbNF0gCmh0dHBzOi8vZWxp eGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y0LjE3LXJjNi9zb3VyY2UvZHJpdmVycy9uZXQveGVuLW5l dGJhY2svbmV0YmFjay5jI0wzMzQKWzVdIApodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC92NC4xNy1yYzYvc291cmNlL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMjTDQ3 OApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK