From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tiago Vignatti Subject: [PATCH v7 2/5] dma-buf: Remove range-based flush Date: Tue, 22 Dec 2015 19:36:45 -0200 Message-ID: <1450820214-12509-3-git-send-email-tiago.vignatti@intel.com> References: <1450820214-12509-1-git-send-email-tiago.vignatti@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 022F86E2D2 for ; Tue, 22 Dec 2015 13:37:08 -0800 (PST) In-Reply-To: <1450820214-12509-1-git-send-email-tiago.vignatti@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: daniel.thompson@linaro.org, marcheu@google.com, daniel.vetter@ffwll.ch, thellstrom@vmware.com, jglisse@redhat.com, reveman@google.com, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCByZW1vdmVzIHJhbmdlLWJhc2VkIGluZm9ybWF0aW9uIHVzZWQgZm9yIG9wdGlt aXphdGlvbnMgaW4KYmVnaW5fY3B1X2FjY2VzcyBhbmQgZW5kX2NwdV9hY2Nlc3MuCgpXZSBkb24n dCBoYXZlIGFueSB1c2VyIG5vciBpbXBsZW1lbnRhdGlvbiB1c2luZyByYW5nZS1iYXNlZCBmbHVz aC4gSXQgc2VlbXMgYQpjb25zZW5zdXMgdGhhdCBpZiB3ZSBldmVyIHdhbnQgc29tZXRoaW5nIGxp a2UgdGhhdCBhZ2FpbiAob3IgZXZlbiBtb3JlIHJvYnVzdAp1c2luZyAyRCwgM0Qgc3ViLXJhbmdl IHJlZ2lvbnMpIHdlIGNhbiB1c2UgdGhlIHVwY29taW5nIGRtYS1idWYgc3luYyBpb2N0bCBmb3IK c3VjaC4KCkNjOiBTdW1pdCBTZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgpDYzogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFRpYWdv IFZpZ25hdHRpIDx0aWFnby52aWduYXR0aUBpbnRlbC5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi9k bWEtYnVmLXNoYXJpbmcudHh0ICAgICAgICAgfCAxOSArKysrKysrKy0tLS0tLS0tLS0tCiBkcml2 ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jICAgICAgICAgICAgICAgICB8IDEzICsrKystLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtX2RtYWJ1Zi5jIHwgIDQgKystLQogZHJpdmVycy9n cHUvZHJtL3VkbC91ZGxfZmIuYyAgICAgICAgICAgICAgfCAgMiAtLQogZHJpdmVycy9zdGFnaW5n L2FuZHJvaWQvaW9uL2lvbi5jICAgICAgICAgfCAgNiArKy0tLS0KIGRyaXZlcnMvc3RhZ2luZy9h bmRyb2lkL2lvbi9pb25fdGVzdC5jICAgIHwgIDQgKystLQogaW5jbHVkZS9saW51eC9kbWEtYnVm LmggICAgICAgICAgICAgICAgICAgfCAxMiArKysrKy0tLS0tLS0KIDggZmlsZXMgY2hhbmdlZCwg MjQgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRh dGlvbi9kbWEtYnVmLXNoYXJpbmcudHh0IGIvRG9jdW1lbnRhdGlvbi9kbWEtYnVmLXNoYXJpbmcu dHh0CmluZGV4IDQ4MGM4ZGUuLjRmNGE4NGIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZG1h LWJ1Zi1zaGFyaW5nLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RtYS1idWYtc2hhcmluZy50eHQK QEAgLTI1NywxNyArMjU3LDE1IEBAIEFjY2VzcyB0byBhIGRtYV9idWYgZnJvbSB0aGUga2VybmVs IGNvbnRleHQgaW52b2x2ZXMgdGhyZWUgc3RlcHM6CiAKICAgIEludGVyZmFjZToKICAgICAgIGlu dCBkbWFfYnVmX2JlZ2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwKLQkJCQkg ICBzaXplX3Qgc3RhcnQsIHNpemVfdCBsZW4sCiAJCQkJICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rp b24gZGlyZWN0aW9uKQogCiAgICBUaGlzIGFsbG93cyB0aGUgZXhwb3J0ZXIgdG8gZW5zdXJlIHRo YXQgdGhlIG1lbW9yeSBpcyBhY3R1YWxseSBhdmFpbGFibGUgZm9yCiAgICBjcHUgYWNjZXNzIC0g dGhlIGV4cG9ydGVyIG1pZ2h0IG5lZWQgdG8gYWxsb2NhdGUgb3Igc3dhcC1pbiBhbmQgcGluIHRo ZQogICAgYmFja2luZyBzdG9yYWdlLiBUaGUgZXhwb3J0ZXIgYWxzbyBuZWVkcyB0byBlbnN1cmUg dGhhdCBjcHUgYWNjZXNzIGlzCi0gICBjb2hlcmVudCBmb3IgdGhlIGdpdmVuIHJhbmdlIGFuZCBh Y2Nlc3MgZGlyZWN0aW9uLiBUaGUgcmFuZ2UgYW5kIGFjY2VzcwotICAgZGlyZWN0aW9uIGNhbiBi ZSB1c2VkIGJ5IHRoZSBleHBvcnRlciB0byBvcHRpbWl6ZSB0aGUgY2FjaGUgZmx1c2hpbmcsIGku ZS4KLSAgIGFjY2VzcyBvdXRzaWRlIG9mIHRoZSByYW5nZSBvciB3aXRoIGEgZGlmZmVyZW50IGRp cmVjdGlvbiAocmVhZCBpbnN0ZWFkIG9mCi0gICB3cml0ZSkgbWlnaHQgcmV0dXJuIHN0YWxlIG9y IGV2ZW4gYm9ndXMgZGF0YSAoZS5nLiB3aGVuIHRoZSBleHBvcnRlciBuZWVkcyB0bwotICAgY29w eSB0aGUgZGF0YSB0byB0ZW1wb3Jhcnkgc3RvcmFnZSkuCisgICBjb2hlcmVudCBmb3IgdGhlIGFj Y2VzcyBkaXJlY3Rpb24uIFRoZSBkaXJlY3Rpb24gY2FuIGJlIHVzZWQgYnkgdGhlIGV4cG9ydGVy CisgICB0byBvcHRpbWl6ZSB0aGUgY2FjaGUgZmx1c2hpbmcsIGkuZS4gYWNjZXNzIHdpdGggYSBk aWZmZXJlbnQgZGlyZWN0aW9uIChyZWFkCisgICBpbnN0ZWFkIG9mIHdyaXRlKSBtaWdodCByZXR1 cm4gc3RhbGUgb3IgZXZlbiBib2d1cyBkYXRhIChlLmcuIHdoZW4gdGhlCisgICBleHBvcnRlciBu ZWVkcyB0byBjb3B5IHRoZSBkYXRhIHRvIHRlbXBvcmFyeSBzdG9yYWdlKS4KIAogICAgVGhpcyBz dGVwIG1pZ2h0IGZhaWwsIGUuZy4gaW4gb29tIGNvbmRpdGlvbnMuCiAKQEAgLTMyMiwxNCArMzIw LDEzIEBAIEFjY2VzcyB0byBhIGRtYV9idWYgZnJvbSB0aGUga2VybmVsIGNvbnRleHQgaW52b2x2 ZXMgdGhyZWUgc3RlcHM6CiAKIDMuIEZpbmlzaCBhY2Nlc3MKIAotICAgV2hlbiB0aGUgaW1wb3J0 ZXIgaXMgZG9uZSBhY2Nlc3NpbmcgdGhlIHJhbmdlIHNwZWNpZmllZCBpbiBiZWdpbl9jcHVfYWNj ZXNzLAotICAgaXQgbmVlZHMgdG8gYW5ub3VuY2UgdGhpcyB0byB0aGUgZXhwb3J0ZXIgKHRvIGZh Y2lsaXRhdGUgY2FjaGUgZmx1c2hpbmcgYW5kCi0gICB1bnBpbm5pbmcgb2YgYW55IHBpbm5lZCBy ZXNvdXJjZXMpLiBUaGUgcmVzdWx0IG9mIGFueSBkbWFfYnVmIGttYXAgY2FsbHMKLSAgIGFmdGVy IGVuZF9jcHVfYWNjZXNzIGlzIHVuZGVmaW5lZC4KKyAgIFdoZW4gdGhlIGltcG9ydGVyIGlzIGRv bmUgYWNjZXNzaW5nIHRoZSBDUFUsIGl0IG5lZWRzIHRvIGFubm91bmNlIHRoaXMgdG8KKyAgIHRo ZSBleHBvcnRlciAodG8gZmFjaWxpdGF0ZSBjYWNoZSBmbHVzaGluZyBhbmQgdW5waW5uaW5nIG9m IGFueSBwaW5uZWQKKyAgIHJlc291cmNlcykuIFRoZSByZXN1bHQgb2YgYW55IGRtYV9idWYga21h cCBjYWxscyBhZnRlciBlbmRfY3B1X2FjY2VzcyBpcworICAgdW5kZWZpbmVkLgogCiAgICBJbnRl cmZhY2U6CiAgICAgICB2b2lkIGRtYV9idWZfZW5kX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYg KmRtYV9idWYsCi0JCQkJICBzaXplX3Qgc3RhcnQsIHNpemVfdCBsZW4sCiAJCQkJICBlbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXIpOwogCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9k bWEtYnVmLmMgYi9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCmluZGV4IDE1NWMxNDYuLmIyYWMx M2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMKKysrIGIvZHJpdmVycy9k bWEtYnVmL2RtYS1idWYuYwpAQCAtNTM5LDEzICs1MzksMTEgQEAgRVhQT1JUX1NZTUJPTF9HUEwo ZG1hX2J1Zl91bm1hcF9hdHRhY2htZW50KTsKICAqIHByZXBhcmF0aW9ucy4gQ29oZXJlbmN5IGlz IG9ubHkgZ3VhcmFudGVlZCBpbiB0aGUgc3BlY2lmaWVkIHJhbmdlIGZvciB0aGUKICAqIHNwZWNp ZmllZCBhY2Nlc3MgZGlyZWN0aW9uLgogICogQGRtYWJ1ZjoJW2luXQlidWZmZXIgdG8gcHJlcGFy ZSBjcHUgYWNjZXNzIGZvci4KLSAqIEBzdGFydDoJW2luXQlzdGFydCBvZiByYW5nZSBmb3IgY3B1 IGFjY2Vzcy4KLSAqIEBsZW46CVtpbl0JbGVuZ3RoIG9mIHJhbmdlIGZvciBjcHUgYWNjZXNzLgog ICogQGRpcmVjdGlvbjoJW2luXQlsZW5ndGggb2YgcmFuZ2UgZm9yIGNwdSBhY2Nlc3MuCiAgKgog ICogQ2FuIHJldHVybiBuZWdhdGl2ZSBlcnJvciB2YWx1ZXMsIHJldHVybnMgMCBvbiBzdWNjZXNz LgogICovCi1pbnQgZG1hX2J1Zl9iZWdpbl9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFi dWYsIHNpemVfdCBzdGFydCwgc2l6ZV90IGxlbiwKK2ludCBkbWFfYnVmX2JlZ2luX2NwdV9hY2Nl c3Moc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwKIAkJCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rp b24gZGlyZWN0aW9uKQogewogCWludCByZXQgPSAwOwpAQCAtNTU0LDggKzU1Miw3IEBAIGludCBk bWFfYnVmX2JlZ2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmRtYWJ1Ziwgc2l6ZV90IHN0 YXJ0LCBzaXplX3QgbGVuLAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWlmIChkbWFidWYtPm9wcy0+ YmVnaW5fY3B1X2FjY2VzcykKLQkJcmV0ID0gZG1hYnVmLT5vcHMtPmJlZ2luX2NwdV9hY2Nlc3Mo ZG1hYnVmLCBzdGFydCwKLQkJCQkJCQlsZW4sIGRpcmVjdGlvbik7CisJCXJldCA9IGRtYWJ1Zi0+ b3BzLT5iZWdpbl9jcHVfYWNjZXNzKGRtYWJ1ZiwgZGlyZWN0aW9uKTsKIAogCXJldHVybiByZXQ7 CiB9CkBAIC01NjcsMTkgKzU2NCwxNyBAQCBFWFBPUlRfU1lNQk9MX0dQTChkbWFfYnVmX2JlZ2lu X2NwdV9hY2Nlc3MpOwogICogYWN0aW9ucy4gQ29oZXJlbmN5IGlzIG9ubHkgZ3VhcmFudGVlZCBp biB0aGUgc3BlY2lmaWVkIHJhbmdlIGZvciB0aGUKICAqIHNwZWNpZmllZCBhY2Nlc3MgZGlyZWN0 aW9uLgogICogQGRtYWJ1ZjoJW2luXQlidWZmZXIgdG8gY29tcGxldGUgY3B1IGFjY2VzcyBmb3Iu Ci0gKiBAc3RhcnQ6CVtpbl0Jc3RhcnQgb2YgcmFuZ2UgZm9yIGNwdSBhY2Nlc3MuCi0gKiBAbGVu OglbaW5dCWxlbmd0aCBvZiByYW5nZSBmb3IgY3B1IGFjY2Vzcy4KICAqIEBkaXJlY3Rpb246CVtp bl0JbGVuZ3RoIG9mIHJhbmdlIGZvciBjcHUgYWNjZXNzLgogICoKICAqIFRoaXMgY2FsbCBtdXN0 IGFsd2F5cyBzdWNjZWVkLgogICovCi12b2lkIGRtYV9idWZfZW5kX2NwdV9hY2Nlc3Moc3RydWN0 IGRtYV9idWYgKmRtYWJ1Ziwgc2l6ZV90IHN0YXJ0LCBzaXplX3QgbGVuLAordm9pZCBkbWFfYnVm X2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCiAJCQkgICAgZW51bSBkbWFf ZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQogewogCVdBUk5fT04oIWRtYWJ1Zik7CiAKIAlpZiAo ZG1hYnVmLT5vcHMtPmVuZF9jcHVfYWNjZXNzKQotCQlkbWFidWYtPm9wcy0+ZW5kX2NwdV9hY2Nl c3MoZG1hYnVmLCBzdGFydCwgbGVuLCBkaXJlY3Rpb24pOworCQlkbWFidWYtPm9wcy0+ZW5kX2Nw dV9hY2Nlc3MoZG1hYnVmLCBkaXJlY3Rpb24pOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1 Zl9lbmRfY3B1X2FjY2Vzcyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMK aW5kZXggZTljMmJmZC4uNjVhYjJiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1h YnVmLmMKQEAgLTE5Niw3ICsxOTYsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX2RtYWJ1Zl9tbWFw KHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKgogCXJldHVy biAtRUlOVkFMOwogfQogCi1zdGF0aWMgaW50IGk5MTVfZ2VtX2JlZ2luX2NwdV9hY2Nlc3Moc3Ry dWN0IGRtYV9idWYgKmRtYV9idWYsIHNpemVfdCBzdGFydCwgc2l6ZV90IGxlbmd0aCwgZW51bSBk bWFfZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQorc3RhdGljIGludCBpOTE1X2dlbV9iZWdpbl9j cHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlv biBkaXJlY3Rpb24pCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGRtYV9i dWZfdG9fb2JqKGRtYV9idWYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2Uu ZGV2OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVm LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYwppbmRleCAyN2My OTc2Li5hZWJhZTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dl bV9kbWFidWYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYu YwpAQCAtNzksNyArNzksNyBAQCBzdGF0aWMgdm9pZCBvbWFwX2dlbV9kbWFidWZfcmVsZWFzZShz dHJ1Y3QgZG1hX2J1ZiAqYnVmZmVyKQogCiAKIHN0YXRpYyBpbnQgb21hcF9nZW1fZG1hYnVmX2Jl Z2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmJ1ZmZlciwKLQkJc2l6ZV90IHN0YXJ0LCBz aXplX3QgbGVuLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCisJCWVudW0gZG1hX2RhdGFf ZGlyZWN0aW9uIGRpcikKIHsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiA9IGJ1ZmZlci0+ cHJpdjsKIAlzdHJ1Y3QgcGFnZSAqKnBhZ2VzOwpAQCAtOTQsNyArOTQsNyBAQCBzdGF0aWMgaW50 IG9tYXBfZ2VtX2RtYWJ1Zl9iZWdpbl9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpidWZmZXIs CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZ2VtX2RtYWJ1Zl9lbmRfY3B1X2FjY2VzcyhzdHJ1Y3Qg ZG1hX2J1ZiAqYnVmZmVyLAotCQlzaXplX3Qgc3RhcnQsIHNpemVfdCBsZW4sIGVudW0gZG1hX2Rh dGFfZGlyZWN0aW9uIGRpcikKKwkJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQogewogCXN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gYnVmZmVyLT5wcml2OwogCW9tYXBfZ2VtX3B1dF9w YWdlcyhvYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYyBiL2Ry aXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMKaW5kZXggMjAwNDE5ZC4uYzQyNzQ5OSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v dWRsL3VkbF9mYi5jCkBAIC00MDksNyArNDA5LDYgQEAgc3RhdGljIGludCB1ZGxfdXNlcl9mcmFt ZWJ1ZmZlcl9kaXJ0eShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAogCWlmICh1ZmItPm9i ai0+YmFzZS5pbXBvcnRfYXR0YWNoKSB7CiAJCXJldCA9IGRtYV9idWZfYmVnaW5fY3B1X2FjY2Vz cyh1ZmItPm9iai0+YmFzZS5pbXBvcnRfYXR0YWNoLT5kbWFidWYsCi0JCQkJCSAgICAgICAwLCB1 ZmItPm9iai0+YmFzZS5zaXplLAogCQkJCQkgICAgICAgRE1BX0ZST01fREVWSUNFKTsKIAkJaWYg KHJldCkKIAkJCWdvdG8gdW5sb2NrOwpAQCAtNDI1LDcgKzQyNCw2IEBAIHN0YXRpYyBpbnQgdWRs X3VzZXJfZnJhbWVidWZmZXJfZGlydHkoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAKIAlp ZiAodWZiLT5vYmotPmJhc2UuaW1wb3J0X2F0dGFjaCkgewogCQlkbWFfYnVmX2VuZF9jcHVfYWNj ZXNzKHVmYi0+b2JqLT5iYXNlLmltcG9ydF9hdHRhY2gtPmRtYWJ1ZiwKLQkJCQkgICAgICAgMCwg dWZiLT5vYmotPmJhc2Uuc2l6ZSwKIAkJCQkgICAgICAgRE1BX0ZST01fREVWSUNFKTsKIAl9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL2lvbi9pb24uYyBiL2RyaXZlcnMv c3RhZ2luZy9hbmRyb2lkL2lvbi9pb24uYwppbmRleCBlMjM3ZTlmLi4wNzU0YTM3IDEwMDY0NAot LS0gYS9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMKKysrIGIvZHJpdmVycy9zdGFn aW5nL2FuZHJvaWQvaW9uL2lvbi5jCkBAIC0xMDU3LDggKzEwNTcsNyBAQCBzdGF0aWMgdm9pZCBp b25fZG1hX2J1Zl9rdW5tYXAoc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwgdW5zaWduZWQgbG9uZyBv ZmZzZXQsCiB7CiB9CiAKLXN0YXRpYyBpbnQgaW9uX2RtYV9idWZfYmVnaW5fY3B1X2FjY2Vzcyhz dHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBzaXplX3Qgc3RhcnQsCi0JCQkJCXNpemVfdCBsZW4sCitz dGF0aWMgaW50IGlvbl9kbWFfYnVmX2JlZ2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmRt YWJ1ZiwKIAkJCQkJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQogewogCXN0cnVj dCBpb25fYnVmZmVyICpidWZmZXIgPSBkbWFidWYtPnByaXY7CkBAIC0xMDc2LDggKzEwNzUsNyBA QCBzdGF0aWMgaW50IGlvbl9kbWFfYnVmX2JlZ2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYg KmRtYWJ1Ziwgc2l6ZV90IHN0YXJ0LAogCXJldHVybiBQVFJfRVJSX09SX1pFUk8odmFkZHIpOwog fQogCi1zdGF0aWMgdm9pZCBpb25fZG1hX2J1Zl9lbmRfY3B1X2FjY2VzcyhzdHJ1Y3QgZG1hX2J1 ZiAqZG1hYnVmLCBzaXplX3Qgc3RhcnQsCi0JCQkJICAgICAgIHNpemVfdCBsZW4sCitzdGF0aWMg dm9pZCBpb25fZG1hX2J1Zl9lbmRfY3B1X2FjY2VzcyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAog CQkJCSAgICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAJc3RydWN0 IGlvbl9idWZmZXIgKmJ1ZmZlciA9IGRtYWJ1Zi0+cHJpdjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv c3RhZ2luZy9hbmRyb2lkL2lvbi9pb25fdGVzdC5jIGIvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQv aW9uL2lvbl90ZXN0LmMKaW5kZXggYjhkY2Y1YS4uZGEzNGJjMTIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvc3RhZ2luZy9hbmRyb2lkL2lvbi9pb25fdGVzdC5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9h bmRyb2lkL2lvbi9pb25fdGVzdC5jCkBAIC0xMDksNyArMTA5LDcgQEAgc3RhdGljIGludCBpb25f aGFuZGxlX3Rlc3Rfa2VybmVsKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCB2b2lkIF9fdXNlciAq cHRyLAogCWlmIChvZmZzZXQgPiBkbWFfYnVmLT5zaXplIHx8IHNpemUgPiBkbWFfYnVmLT5zaXpl IC0gb2Zmc2V0KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXJldCA9IGRtYV9idWZfYmVnaW5fY3B1 X2FjY2VzcyhkbWFfYnVmLCBvZmZzZXQsIHNpemUsIGRpcik7CisJcmV0ID0gZG1hX2J1Zl9iZWdp bl9jcHVfYWNjZXNzKGRtYV9idWYsIGRpcik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApA QCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgaW9uX2hhbmRsZV90ZXN0X2tlcm5lbChzdHJ1 Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgdm9pZCBfX3VzZXIgKnB0ciwKIAkJY29weV9vZmZzZXQgPSAw OwogCX0KIGVycjoKLQlkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKGRtYV9idWYsIG9mZnNldCwgc2l6 ZSwgZGlyKTsKKwlkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKGRtYV9idWYsIGRpcik7CiAJcmV0dXJu IHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kbWEtYnVmLmggYi9pbmNsdWRl L2xpbnV4L2RtYS1idWYuaAppbmRleCBmOThiZDcwLi41MzIxMDhlIDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L2RtYS1idWYuaAorKysgYi9pbmNsdWRlL2xpbnV4L2RtYS1idWYuaApAQCAtNTQs NyArNTQsNyBAQCBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50OwogICogQHJlbGVhc2U6IHJlbGVh c2UgdGhpcyBidWZmZXI7IHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbGFzdCBkbWFfYnVmX3B1dC4K ICAqIEBiZWdpbl9jcHVfYWNjZXNzOiBbb3B0aW9uYWxdIGNhbGxlZCBiZWZvcmUgY3B1IGFjY2Vz cyB0byBpbnZhbGlkYXRlIGNwdQogICogCQkgICAgICBjYWNoZXMgYW5kIGFsbG9jYXRlIGJhY2tp bmcgc3RvcmFnZSAoaWYgbm90IHlldCBkb25lKQotICogCQkgICAgICByZXNwZWN0aXZlbHkgcGlu IHRoZSBvYmpldCBpbnRvIG1lbW9yeS4KKyAqIAkJICAgICAgcmVzcGVjdGl2ZWx5IHBpbiB0aGUg b2JqZWN0IGludG8gbWVtb3J5LgogICogQGVuZF9jcHVfYWNjZXNzOiBbb3B0aW9uYWxdIGNhbGxl ZCBhZnRlciBjcHUgYWNjZXNzIHRvIGZsdXNoIGNhY2hlcy4KICAqIEBrbWFwX2F0b21pYzogbWFw cyBhIHBhZ2UgZnJvbSB0aGUgYnVmZmVyIGludG8ga2VybmVsIGFkZHJlc3MKICAqIAkJIHNwYWNl LCB1c2VycyBtYXkgbm90IGJsb2NrIHVudGlsIHRoZSBzdWJzZXF1ZW50IHVubWFwIGNhbGwuCkBA IC05MywxMCArOTMsOCBAQCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgewogCS8qIGFmdGVyIGZpbmFsIGRt YV9idWZfcHV0KCkgKi8KIAl2b2lkICgqcmVsZWFzZSkoc3RydWN0IGRtYV9idWYgKik7CiAKLQlp bnQgKCpiZWdpbl9jcHVfYWNjZXNzKShzdHJ1Y3QgZG1hX2J1ZiAqLCBzaXplX3QsIHNpemVfdCwK LQkJCQllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbik7Ci0Jdm9pZCAoKmVuZF9jcHVfYWNjZXNzKShz dHJ1Y3QgZG1hX2J1ZiAqLCBzaXplX3QsIHNpemVfdCwKLQkJCSAgICAgICBlbnVtIGRtYV9kYXRh X2RpcmVjdGlvbik7CisJaW50ICgqYmVnaW5fY3B1X2FjY2Vzcykoc3RydWN0IGRtYV9idWYgKiwg ZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24pOworCXZvaWQgKCplbmRfY3B1X2FjY2Vzcykoc3RydWN0 IGRtYV9idWYgKiwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24pOwogCXZvaWQgKigqa21hcF9hdG9t aWMpKHN0cnVjdCBkbWFfYnVmICosIHVuc2lnbmVkIGxvbmcpOwogCXZvaWQgKCprdW5tYXBfYXRv bWljKShzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOwogCXZvaWQgKigq a21hcCkoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9uZyk7CkBAIC0yMjQsOSArMjIyLDkg QEAgc3RydWN0IHNnX3RhYmxlICpkbWFfYnVmX21hcF9hdHRhY2htZW50KHN0cnVjdCBkbWFfYnVm X2F0dGFjaG1lbnQgKiwKIAkJCQkJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24pOwogdm9pZCBkbWFf YnVmX3VubWFwX2F0dGFjaG1lbnQoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqLCBzdHJ1Y3Qg c2dfdGFibGUgKiwKIAkJCQllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbik7Ci1pbnQgZG1hX2J1Zl9i ZWdpbl9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBzaXplX3Qgc3RhcnQsIHNp emVfdCBsZW4sCitpbnQgZG1hX2J1Zl9iZWdpbl9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpk bWFfYnVmLAogCQkJICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpOwotdm9pZCBkbWFf YnVmX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBzaXplX3Qgc3RhcnQs IHNpemVfdCBsZW4sCit2b2lkIGRtYV9idWZfZW5kX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYg KmRtYV9idWYsCiAJCQkgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKIHZvaWQgKmRt YV9idWZfa21hcF9hdG9taWMoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9uZyk7CiB2b2lk IGRtYV9idWZfa3VubWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25lZCBsb25nLCB2 b2lkICopOwotLSAKMi4xLjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==