From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Price Subject: Re: [PATCH] drm/cma: correctly handle non-zero offset for mmap Date: Thu, 28 Sep 2017 10:19:36 +0000 Message-ID: <1506593833.33867.6.camel@arm.com> References: <20170928082306.GI6681@e110455-lin.cambridge.arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0083.outbound.protection.outlook.com [104.47.2.83]) by gabe.freedesktop.org (Postfix) with ESMTPS id 009C96E925 for ; Thu, 28 Sep 2017 12:52:57 +0000 (UTC) In-Reply-To: Content-Language: en-US Content-ID: <7676F02BC097924B9DA69356360CE138@eurprd08.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "daniel@ffwll.ch" , Liviu Dudau Cc: Tu Vuong , "dri-devel@lists.freedesktop.org" , "daniel.vetter@intel.com" , nd List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAyMDE3LTA5LTI4IGF0IDEwOjI5ICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOg0K PiBPbiBUaHUsIFNlcCAyOCwgMjAxNyBhdCAxMDoyMyBBTSwgTGl2aXUgRHVkYXUgPExpdml1LkR1 ZGF1QGFybS5jb20+DQo+IHdyb3RlOg0KPiA+IEhpIERhbmllbCwNCj4gPiANCj4gPiBPbiBUaHUs IFNlcCAyOCwgMjAxNyBhdCAwOTo0MDozNUFNICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOg0K PiA+ID4gT24gV2VkLCBTZXAgMjcsIDIwMTcgYXQgNDowMSBQTSwgU3RldmVuIFByaWNlIDxTdGV2 ZW4uUHJpY2VAYXJtLmMNCj4gPiA+IG9tPiB3cm90ZToNCj4gPiA+ID4gRnJvbTogVHUgVnVvbmcg PHR1LnZ1b25nQGFybS5jb20+DQo+ID4gPiA+IA0KPiA+ID4gPiBXaGVuIGEgQ01BIEdFTSBvYmpl Y3QgaXMgZXhwb3J0ZWQgdmlhIERSTSBQUklNRSBpdCBzaG91bGQgYmUNCj4gPiA+ID4gcG9zc2li bGUNCj4gPiA+ID4gdG8gbW1hcCB0aGUgb2JqZWN0IHVzaW5nIGFuIG9mZnNldC4gSG93ZXZlcg0K PiA+ID4gPiBkcm1fZ2VtX2NtYV9tbWFwX29iaiBhbHdheXMNCj4gPiA+ID4gemVyb2VkIHZtX3Bn b2ZmLg0KPiA+ID4gDQo+ID4gPiBObywgYXQgbGVhc3Qgbm8gb25lIGV2ZXIgaGFkIHJ1biBpbnRv IHRoaXMuIFByZXR0eSBtdWNoIGFsbA0KPiA+ID4gZHJpdmVycw0KPiA+ID4gd29yayBsaWtlIHRo aXMuDQo+ID4gDQo+ID4gQ2FuIHlvdSBiZSBhIGJpdCBtb3JlIHNwZWNpZmljIHdpdGggIndvcmsg bGlrZSB0aGlzIj8gWW91IG1lYW4gYWxsDQo+ID4gZHJpdmVycyBleHBlY3QgbW1hcC1lZCBjYWxs ZXMgdG8gaGF2ZSB6ZXJvIG9mZnNldCBvciB0aGUgZmFjdCB0aGF0DQo+ID4gdGhleQ0KPiA+IGFs bCB6ZXJvIHZtX3Bnb2ZmIHRoZXJlZm9yZSBpZ25vcmUgdGhlIG9mZnNldD8NCj4gDQo+IElpcmMg c29tZSBkcml2ZXJzIGV2ZW4gb3V0cmlnaHQgcmVqZWN0IHRoZSBtbWFwIGlmIGl0J3Mgbm90IGFs aWduZWQNCj4gdG8NCj4gdGhlIGZ1bGwgb2JqLg0KDQpUaGUgbW1hcCBkaXJlY3RseSBvbiB0aGUg R0VNIG9iamVjdCBzaG91bGQgYmVoYXZlIGFzIHlvdSBzYXksIGhvd2V2ZXINCmlmIHVzZXIgc3Bh Y2UgaGFzIHVzZWQgdGhlIFBSSU1FIGlvY3RsIHRvIGV4cG9ydCB0aGUgb2JqZWN0IHRvIGENCmRt YV9idWYgb2JqZWN0IHRoZW4gc3VyZWx5IGl0IHNob3VsZCBiZWhhdmUgbGlrZSBhbnkgb3RoZXIg ZG1hX2J1Zg0Kb2JqZWN0Pw0KDQpUaGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgdGhlIGRtYV9idWYg b2JqZWN0IG1pZ2h0IGJlIGhhbmRlZCBvZmYgdG8NCmFub3RoZXIgcGllY2Ugb2YgY29kZSB3aGlj aCBoYXMgbm8gaWRlYSB3aGVyZSBpdCBoYXMgY29tZSBmcm9tIGFuZA0KZXhwZWN0cyB0byBiZSBh YmxlIHRvIG1hcCB3aXRoIGFuIG9mZnNldCAoYXMgaXQgd291bGQgYmUgYWJsZSB0byBpZiB0aGUN CmRtYV9idWYgaGFkIGNvbWUgZnJvbSBhbm90aGVyIGRyaXZlcikuDQoNCj4gPiA+ID4gRml4IHRo aXMgYnkgbW92aW5nIHRoZSB6ZXJvaW5nIG9mIHZtX3Bnb2ZmIHRvIGRybV9nZW1fY21hX21tYXAN Cj4gPiA+ID4gKHdoaWNoDQo+ID4gPiA+IGlzIG9ubHkgdXNlZCBmb3Igbm9uLVBSSU1FIG1tYXAp IGFuZCBjb3JyZWN0IHRoZSBzaXplIHBhcmFtZXRlcg0KPiA+ID4gPiBpbiB0aGUNCj4gPiA+ID4g Y2FsbCB0byBkbWFfbW1hcF93YyBhcyB0aGUgb2Zmc2V0IG1heSBub3QgYmUgbm9uLXplcm8uDQo+ ID4gPiANCj4gPiA+IFNpbmNlIHRoaXMgaXMgYW4gdWFiaSBjaGFuZ2Ugd2UgbmVlZCB0aGUgY29y cmVzcG9uZGluZyBwYXRjaCB0bw0KPiA+ID4gdXBzdHJlYW0gb3BlbiBzb3VyY2UgdXNlcnNwYWNl LiBSZXZpZXdlZCBhbmQgYWxsIHRoYXQgYW5kIHJlYWR5DQo+ID4gPiBmb3INCj4gPiA+IGFjY2Vw dGFuY2UuIFNlZQ0KPiA+IA0KPiA+IElmIGlnbm9yaW5nIHRoZSBvZmZzZXQgaXMgY29uc2lkZXJl ZCB1YWJpLCB0aGVuIEkgYWdyZWUuIE90aGVyd2lzZQ0KPiA+IGl0DQo+ID4gbG9va3MgdG8gbWUg bW9yZSBsaWtlIGEgZml4LCByYXRoZXIgdGhhbiBhbiB1YWJpIGNoYW5nZS4NCj4gPiANCj4gPiBN YXliZSB3ZSBzaG91bGQgaGF2ZSBmaXJzdCBhIHBhdGNoIHdhcm5pbmcgd2hlbiB2bV9wZ29mZiBp cyBub3QNCj4gPiB6ZXJvIHNvDQo+ID4gdGhhdCB3ZSBjYW4gZmluZCBvdXQgaG93IG1hbnkgaW4g dGhlIHVzZXJzcGFjZSB1c2UgdGhhdD8NCj4gDQo+IE5vdCBzdXJlIHdhcm5pbmcgaXMgYSBnb29k IGlkZWEsIGJlY2F1c2UgaXQgc3RpbGwgbWVhbnMgd2UgZ2V0IHRvDQo+IGF1ZGl0IGV2ZXJ5dGhp bmcuIE1pZ2h0IGFzIHdlbGwgZ28gYWhlYWQgYW4gcmVqZWN0IGl0IHdpdGggLUVJTlZBTCwNCj4g YW5kIG1ha2Ugc3VyZSB0aGF0J3MgY29uc2lzdGVudCBhY3Jvc3MgZHJpdmVycy4gQnV0IHRoYXQn cyBhbGwgd29yaywNCj4gc28gd2hhdCBleGFjdGx5IGlzIHRoZSB1c2UtY2FzZSB5b3UgaGF2ZSBh bmQgd2FudCB0byBkbyBzdWItbW1hcHBpbmcNCj4gZm9yPyBPbmNlIHdlIGhhdmUgdGhhdCBpdCdz IG11Y2ggZWFzaWVyIHRvIGRpc2N1c3Mgd2hhdCB0byBkbywNCj4gaW5zdGVhZA0KPiBvZiBhYnN0 cmFjdGlvbiBkaXNjdXNzaW9ucyB3aXRob3V0IHRoZSBmdWxsIHN0YWNrIGF0IGhhbmQuDQoNClRo aXMgd2FzIGluaXRpYWxseSBkaXNjb3ZlcmVkIHdpdGggdGhlIE1hbGkgTWlkZ2FyZCBkcml2ZXIu IEl0IHVzZXMNCnN1Yi1tbWFwcGluZyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSAnZnJhbWVzJyB3 aXRoaW4gb25lIGJ1ZmZlciAoZS5nLg0KdXNpbmcgYSBkaXNwbGF5IGRyaXZlciB0aGF0IG9ubHkg c3VwcG9ydHMgcGFubmluZyBhcm91bmQgYSBzaW5nbGUgcHJlLQ0KYWxsb2NhdGVkIGJ1ZmZlciku IEl0IG1heSBhbHNvIG1ha2Ugc2Vuc2UgaW4gc29tZSBjYXNlcyBmb3IgdGhlIGxpa2VzDQpvZiBn bFJlYWRQaXhlbHMgaWYgdGhlIHJlZ2lvbiBzcGVjaWZpZWQgaXMgc21hbGwgYW5kIGluIGEgc3Vi c2V0IG9mIHRoZQ0KcGFnZXMuDQoNCkN1cnJlbnRseSB0aGVyZSdzIG5vIHdheSB0aGUgY2FsbGVy IG9mIG1tYXAgY2FuIGZpbmQgb3V0IHRoYXQgdGhlDQpvZmZzZXQgaGFzIGJlZW4gaWdub3JlZC4g T25lIG9wdGlvbiB3b3VsZCBiZSB0byAiZml4IiB0aGlzIGJ5IHNpbXBseQ0KcmVqZWN0aW5nIGF0 dGVtcHRzIHRvIG1tYXAgd2l0aCBhbiBvZmZzZXQgKHJldHVybiAtRUlOVkFMKS4gSG93ZXZlciBJ DQpkbyBmZWVsIHRoaXMgaXMgYSB1c2VmdWwgZmVhdHVyZSBhcyBpdCBhdm9pZHMgdGhlIG5lZWQg dG8gbW1hcCBhIGxhcmdlDQpyZWdpb24gd2hlbiB0aGUgY2FsbGVyIGtub3dzIG9ubHkgYSBzbWFs bCBwYXJ0IG9mIGl0IHdpbGwgYmUgbmVlZGVkLg0KDQpJIGRvbid0IGJlbGlldmUgdGhpcyBpcyBh IHVhYmkgY2hhbmdlIGFzIHN1Y2ggYmVjYXVzZSB0aGUgY3VycmVudA0KZnVuY3Rpb25hbGl0eSBp cyAidXNlbGVzcyIgLSBhbHRob3VnaCBvYnZpb3VzbHkgaXQgaXMgcG9zc2libGUgdGhhdA0Kc29t ZSBkcml2ZXIgaXMgZmVlZGluZyBnYXJiYWdlIGluIHRvIHRoZSBvZmZzZXQgYW5kIGhhcHBlbnMg dG8gd29yaw0KYmVjYXVzZSBvZiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbi4gVW5sZXNzIGFu eSB1c2VyIHNwYWNlIGRyaXZlcnMNCmhhdmUgYnVncyBvZiB0aGlzIHNvcnQgdGhlcmUgd291bGRu J3QgYmUgYW55IG5lZWQgdG8gY2hhbmdlIHRoZW0gKGFuZA0KdGhleSB3b3VsZCBhbHJlYWR5IGJl IGJyb2tlbiB3aXRoIG90aGVyIGRtYV9idWYgZXhwb3J0ZXJzKS4NCg0KVGhhbmtzLA0KDQpTdGV2 ZW4NCg0KPiBUaGFua3MsIERhbmllbA0KPiANCj4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gTGl2aXUN Cj4gPiANCj4gPiA+IA0KPiA+ID4gaHR0cHM6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnL2RvY3MvZHJt L2dwdS9kcm0tdWFwaS5odG1sI29wZW4tc291cmMNCj4gPiA+IGUtdXNlcnNwYWNlLXJlcXVpcmVt ZW50cw0KPiA+ID4gDQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFR1IFZ1b25nIDx0dS52dW9uZ0Bh cm0uY29tPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBTdGV2ZW4gUHJpY2UgPHN0ZXZlbi5wcmlj ZUBhcm0uY29tPg0KPiA+ID4gPiBSZXZpZXdlZC1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3Rh cmtleUBhcm0uY29tPg0KPiA+ID4gPiBDQzogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBh cm0uY29tPg0KPiA+ID4gPiBDQzogTGl2aXUgRHVkYXUgPExpdml1LkR1ZGF1QGFybS5jb20+DQo+ ID4gPiANCj4gPiA+IFRoYW5rcywgRGFuaWVsDQo+ID4gPiANCj4gPiA+ID4gLS0tDQo+ID4gPiA+ IMKgZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIHwgMTMgKysrKysrKystLS0t LQ0KPiA+ID4gPiDCoDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z KC0pDQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9n ZW1fY21hX2hlbHBlci5jDQo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hl bHBlci5jDQo+ID4gPiA+IGluZGV4IDM3M2UzM2YyMmJlNC4uMjU4MjhiMzNjNWJlIDEwMDY0NA0K PiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMNCj4gPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jDQo+ID4gPiA+IEBA IC0yNzYsMTUgKzI3NiwxMiBAQCBzdGF0aWMgaW50IGRybV9nZW1fY21hX21tYXBfb2JqKHN0cnVj dA0KPiA+ID4gPiBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmosDQo+ID4gPiA+IMKgwqDCoMKg wqDCoMKgwqBpbnQgcmV0Ow0KPiA+ID4gPiANCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoC8qDQo+ ID4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgKiBDbGVhciB0aGUgVk1fUEZOTUFQIGZsYWcgdGhhdCB3 YXMgc2V0IGJ5DQo+ID4gPiA+IGRybV9nZW1fbW1hcCgpLCBhbmQgc2V0IHRoZQ0KPiA+ID4gPiAt wqDCoMKgwqDCoMKgwqDCoCogdm1fcGdvZmYgKHVzZWQgYXMgYSBmYWtlIGJ1ZmZlciBvZmZzZXQg YnkgRFJNKSB0byAwDQo+ID4gPiA+IGFzIHdlIHdhbnQgdG8gbWFwDQo+ID4gPiA+IC3CoMKgwqDC oMKgwqDCoMKgKiB0aGUgd2hvbGUgYnVmZmVyLg0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoCog Q2xlYXIgdGhlIFZNX1BGTk1BUCBmbGFnIHRoYXQgd2FzIHNldCBieQ0KPiA+ID4gPiBkcm1fZ2Vt X21tYXAoKQ0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqAqLw0KPiA+ID4gPiDCoMKgwqDCoMKg wqDCoMKgdm1hLT52bV9mbGFncyAmPSB+Vk1fUEZOTUFQOw0KPiA+ID4gPiAtwqDCoMKgwqDCoMKg wqB2bWEtPnZtX3Bnb2ZmID0gMDsNCj4gPiA+ID4gDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBy ZXQgPSBkbWFfbW1hcF93YyhjbWFfb2JqLT5iYXNlLmRldi0+ZGV2LCB2bWEsIGNtYV9vYmotDQo+ ID4gPiA+ID52YWRkciwNCj4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgY21hX29iai0+cGFkZHIsIHZtYS0+dm1fZW5kIC0gdm1hLQ0KPiA+ ID4gPiA+dm1fc3RhcnQpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBjbWFfb2JqLT5wYWRkciwgY21hX29iai0+YmFzZS5zaXplKTsN Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgZHJtX2dlbV92bV9jbG9zZSh2bWEpOw0KPiA+ID4gPiANCj4gPiA+ ID4gQEAgLTMyMiw2ICszMTksMTIgQEAgaW50IGRybV9nZW1fY21hX21tYXAoc3RydWN0IGZpbGUg KmZpbHAsDQo+ID4gPiA+IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgZ2VtX29iaiA9IHZtYS0+dm1fcHJpdmF0ZV9kYXRhOw0KPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgY21hX29iaiA9IHRvX2RybV9nZW1fY21hX29iaihnZW1fb2JqKTsNCj4gPiA+ ID4gDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoC8qDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg KiBTZXQgdGhlIHZtX3Bnb2ZmICh1c2VkIGFzIGEgZmFrZSBidWZmZXIgb2Zmc2V0IGJ5DQo+ID4g PiA+IERSTSkgdG8gMCBhcyB3ZQ0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoCogd2FudCB0byBt YXAgdGhlIHdob2xlIGJ1ZmZlci4NCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqAqLw0KPiA+ID4g PiArwqDCoMKgwqDCoMKgwqB2bWEtPnZtX3Bnb2ZmID0gMDsNCj4gPiA+ID4gKw0KPiA+ID4gPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIGRybV9nZW1fY21hX21tYXBfb2JqKGNtYV9vYmosIHZtYSk7 DQo+ID4gPiA+IMKgfQ0KPiA+ID4gPiDCoEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21hX21t YXApOw0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjExLjANCj4gPiA+ID4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+ID4gZHJpLWRldmVsIG1haWxp bmcgbGlzdA0KPiA+ID4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4gPiA+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiAtLQ0KPiA+ID4gRGFuaWVsIFZldHRlcg0K PiA+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uDQo+ID4gPiArNDEgKDAp IDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoDQo+ID4gDQo+ID4gLS0NCj4gPiA9 PT09PT09PT09PT09PT09PT09PQ0KPiA+ID4gSSB3b3VsZCBsaWtlIHRvIHwNCj4gPiA+IGZpeCB0 aGUgd29ybGQswqDCoHwNCj4gPiA+IGJ1dCB0aGV5J3JlIG5vdCB8DQo+ID4gPiBnaXZpbmcgbWUg dGhlwqDCoMKgfA0KPiA+IA0KPiA+IMKgXCBzb3VyY2UgY29kZSHCoMKgLw0KPiA+IMKgIC0tLS0t LS0tLS0tLS0tLQ0KPiA+IMKgwqDCoMKgwq9cXyjjg4QpXy/Crw0KPiANCj4gDQo+IApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK