From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH] drm/i915: avoid leaking DMA mappings Date: Mon, 6 Jul 2015 17:50:37 +0300 Message-ID: <1436194237-850-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 4B4E96E8D6 for ; Mon, 6 Jul 2015 07:50:41 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2UgaGF2ZSAzIHR5cGVzIG9mIERNQSBtYXBwaW5ncyBmb3IgR0VNIG9iamVjdHM6CjEuIHBoeXNp Y2FsbHkgY29udGlndW91cyBmb3Igc3RvbGVuIGFuZCBmb3Igb2JqZWN0cyBuZWVkaW5nIGNvbnRp Z3VvdXMKICAgbWVtb3J5CjIuIERNQS1idWYgbWFwcGluZ3MgaW1wb3J0ZWQgdmlhIGEgRE1BLWJ1 ZiBhdHRhY2ggb3BlcmF0aW9uCjMuIFNHIERNQSBtYXBwaW5ncyBmb3Igc2htZW0gYmFja2VkIGFu ZCB1c2VycHRyIG9iamVjdHMKCkZvciAxLiBhbmQgMi4gdGhlIGxpZmV0aW1lIG9mIHRoZSBETUEg bWFwcGluZyBtYXRjaGVzIHRoZSBsaWZldGltZSBvZiB0aGUKY29ycmVzcG9uZGluZyBiYWNraW5n IHBhZ2VzIGFuZCBzbyBpbiBwcmFjdGljZSB3ZSBjcmVhdGUvcmVsZWFzZSB0aGUKbWFwcGluZyBp biB0aGUgb2JqZWN0J3MgZ2V0X3BhZ2VzL3B1dF9wYWdlcyBjYWxsYmFjay4KCkZvciAzLiB0aGUg bGlmZXRpbWUgb2YgdGhlIG1hcHBpbmcgbWF0Y2hlcyB0aGF0IG9mIGFueSBleGlzdGluZyBHUFUg YmluZGluZwpvZiB0aGUgb2JqZWN0LCBzbyB3ZSdsbCBjcmVhdGUgdGhlIG1hcHBpbmcgd2hlbiB0 aGUgb2JqZWN0IGlzIGJvdW5kIHRvCnRoZSBmaXJzdCB2bWEgYW5kIHJlbGVhc2UgdGhlIG1hcHBp bmcgd2hlbiB0aGUgb2JqZWN0IGlzIHVuYm91bmQgZnJvbSBpdHMKbGFzdCB2bWEuCgpTaW5jZSB0 aGUgb2JqZWN0IGNhbiBiZSBib3VuZCB0byBtdWx0aXBsZSB2bWFzLCB3ZSBjYW4gZW5kIHVwIGNy ZWF0aW5nIGEKbmV3IERNQSBtYXBwaW5nIGluIHRoZSAzLiBjYXNlIGV2ZW4gaWYgdGhlIG9iamVj dCBhbHJlYWR5IGhhZCBvbmUuIFRoaXMKaXMgbm90IGFsbG93ZWQgYnkgdGhlIERNQSBBUEkgYW5k IGNhbiBsZWFkIHRvIGxlYWtlZCBtYXBwaW5nIGRhdGEgYW5kCklPTU1VIG1lbW9yeSBzcGFjZSBz dGFydmF0aW9uIGluIGNlcnRhaW4gY2FzZXMuIEZvciBleGFtcGxlIEhXIElPTU1VCmRyaXZlcnMg KGludGVsX2lvbW11KSBhbGxvY2F0ZSBhIG5ldyByYW5nZSBmcm9tIHRoZWlyIG1lbW9yeSBzcGFj ZQp3aGVuZXZlciBhIG1hcHBpbmcgaXMgY3JlYXRlZCwgc2lsZW50bHkgb3ZlcnJpZGluZyBhIHBy ZS1leGlzdGluZwptYXBwaW5nLgoKRml4IHRoaXMgYnkgYWRkaW5nIG5ldyBjYWxsYmFja3MgdG8g Y3JlYXRlL3JlbGVhc2UgdGhlIERNQSBtYXBwaW5nLiBUaGlzCndheSB3ZSBjYW4gdXNlIHRoZSBo YXNfZG1hX21hcHBpbmcgZmxhZyBmb3Igb2JqZWN0cyBvZiB0aGUgMy4gY2FzZSBhbHNvCihzbyBm YXIgdGhlIGZsYWcgd2FzIG9ubHkgdXNlZCBmb3IgdGhlIDEuIGFuZCAyLiBjYXNlKSBhbmQgc2tp cCBjcmVhdGluZwphIG5ldyBtYXBwaW5nIGlmIG9uZSBleGlzdHMgYWxyZWFkeS4KCk5vdGUgdGhh dCBJIGFsc28gdGhvdWdodCBhYm91dCBzaW1wbHkgY3JlYXRpbmcvcmVsZWFzaW5nIHRoZSBtYXBw aW5nCndoZW4gZ2V0X3BhZ2VzL3B1dF9wYWdlcyBpcyBjYWxsZWQuIEhvd2V2ZXIgc2luY2UgY3Jl YXRpbmcgYSBETUEgbWFwcGluZwptYXkgaGF2ZSBhc3NvY2lhdGVkIHJlc291cmNlcyAoYXQgbGVh c3QgaW4gY2FzZSBvZiBIVyBJT01NVSkgaXQgZG9lcwptYWtlIHNlbnNlIHRvIHJlbGVhc2UgdGhl c2UgcmVzb3VyY2VzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLiBXZSBjYW4KcmVsZWFzZSB0aGUgRE1B IG1hcHBpbmcgYXMgc29vbiBhcyB0aGUgb2JqZWN0IGlzIHVuYm91bmQgZnJvbSB0aGUgbGFzdAp2 bWEsIGJlZm9yZSB3ZSBkcm9wIHRoZSBiYWNraW5nIHBhZ2VzLCBoZW5jZSBpdCdzIHdvcnRoIGtl ZXBpbmcgdGhlIHR3bwpvcGVyYXRpb25zIHNlcGFyYXRlLgoKSSBub3RpY2VkIHRoaXMgaXNzdWUg YnkgZW5hYmxpbmcgRE1BIGRlYnVnZ2luZywgd2hpY2ggZ290IGRpc2FibGVkIGFmdGVyCmEgd2hp bGUgZHVlIHRvIGl0cyBpbnRlcm5hbCBtYXBwaW5nIHRhYmxlcyBnZXR0aW5nIGZ1bGwuIEl0IGFs c28gcmVwb3J0ZWQKZXJyb3JzIGluIGNvbm5lY3Rpb24gdG8gcmFuZG9tIG90aGVyIGRyaXZlcnMg dGhhdCBkaWQgYSBETUEgbWFwcGluZyBmb3IKYW4gYWRkcmVzcyB0aGF0IHdhcyBwcmV2aW91c2x5 IG1hcHBlZCBieSBpOTE1IGJ1dCB3YXMgbmV2ZXIgcmVsZWFzZWQuCkJlc2lkZXMgdGhlc2UgZGlh Z25vc3RpYyBtZXNzYWdlcyBhbmQgdGhlIG1lbW9yeSBzcGFjZSBzdGFydmF0aW9uCnByb2JsZW0g Zm9yIElPTU1VcywgSSdtIG5vdCBhd2FyZSBvZiB0aGlzIGNhdXNpbmcgYSByZWFsIGlzc3VlLgoK U2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHwgMTUgKysrKy0tLS0tLS0tLS0tCiAzIGZp bGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCmluZGV4IDFkYmQ5NTcuLjY0ZmQzZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaApAQCAtMTk2MSw2ICsxOTYxLDggQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3Bz IHsKIAkgKi8KIAlpbnQgKCpnZXRfcGFnZXMpKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICop OwogCXZvaWQgKCpwdXRfcGFnZXMpKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICopOworCWlu dCAoKmdldF9kbWFfbWFwcGluZykoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKik7CisJdm9p ZCAoKnB1dF9kbWFfbWFwcGluZykoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKik7CiAJaW50 ICgqZG1hYnVmX2V4cG9ydCkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKik7CiAJdm9pZCAo KnJlbGVhc2UpKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICopOwogfTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCmluZGV4IGU0ZDMxZmMuLmZlNzAyMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YwpAQCAtMjM0OSw2ICsyMzQ5LDMwIEBAIGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBp OTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9tYXBwaW5nX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqKQoreworCWlmIChvYmotPmhhc19kbWFfbWFwcGluZykKKwkJcmV0dXJuIDA7CisK KwlpZiAoIWRtYV9tYXBfc2coJm9iai0+YmFzZS5kZXYtPnBkZXYtPmRldiwgb2JqLT5wYWdlcy0+ c2dsLAorCQkJIG9iai0+cGFnZXMtPm5lbnRzLCBQQ0lfRE1BX0JJRElSRUNUSU9OQUwpKQorCQly ZXR1cm4gLUVOT1NQQzsKKworCW9iai0+aGFzX2RtYV9tYXBwaW5nID0gdHJ1ZTsKKworCXJldHVy biAwOworfQorCitzdGF0aWMgdm9pZCBpOTE1X2dlbV9vYmplY3RfcHV0X2RtYV9tYXBwaW5nX2d0 dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCVdBUk5fT05fT05DRSghb2Jq LT5oYXNfZG1hX21hcHBpbmcpOworCisJZG1hX3VubWFwX3NnKCZvYmotPmJhc2UuZGV2LT5wZGV2 LT5kZXYsIG9iai0+cGFnZXMtPnNnbCwKKwkJICAgICBvYmotPnBhZ2VzLT5uZW50cywgUENJX0RN QV9CSURJUkVDVElPTkFMKTsKKworCW9iai0+aGFzX2RtYV9tYXBwaW5nID0gZmFsc2U7Cit9CisK IHZvaWQgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJCQkg ICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewpAQCAtNDYzNSw2ICs0NjU5 LDggQEAgdm9pZCBpOTE1X2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1 X2dlbV9vYmplY3Rfb3BzID0gewogCS5nZXRfcGFnZXMgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3Bh Z2VzX2d0dCwKIAkucHV0X3BhZ2VzID0gaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19ndHQsCisJ LmdldF9kbWFfbWFwcGluZyA9IGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX21hcHBpbmdfZ3R0LAor CS5wdXRfZG1hX21hcHBpbmcgPSBpOTE1X2dlbV9vYmplY3RfcHV0X2RtYV9tYXBwaW5nX2d0dCwK IH07CiAKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICppOTE1X2dlbV9hbGxvY19vYmplY3Qo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5k ZXggYjI5YjczZi4uNTZiYzYxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAg LTE4MDIsMTMgKzE4MDIsOCBAQCB2b2lkIGk5MTVfZ2VtX3N1c3BlbmRfZ3R0X21hcHBpbmdzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIGludCBpOTE1X2dlbV9ndHRfcHJlcGFyZV9vYmplY3Qo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKLQlpZiAob2JqLT5oYXNfZG1hX21h cHBpbmcpCi0JCXJldHVybiAwOwotCi0JaWYgKCFkbWFfbWFwX3NnKCZvYmotPmJhc2UuZGV2LT5w ZGV2LT5kZXYsCi0JCQlvYmotPnBhZ2VzLT5zZ2wsIG9iai0+cGFnZXMtPm5lbnRzLAotCQkJUENJ X0RNQV9CSURJUkVDVElPTkFMKSkKLQkJcmV0dXJuIC1FTk9TUEM7CisJaWYgKG9iai0+b3BzLT5n ZXRfZG1hX21hcHBpbmcpCisJCXJldHVybiBvYmotPm9wcy0+Z2V0X2RtYV9tYXBwaW5nKG9iaik7 CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIwNTIsMTAgKzIwNDcsOCBAQCB2b2lkIGk5MTVfZ2VtX2d0 dF9maW5pc2hfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAKIAlpbnRl cnJ1cHRpYmxlID0gZG9faWRsaW5nKGRldl9wcml2KTsKIAotCWlmICghb2JqLT5oYXNfZG1hX21h cHBpbmcpCi0JCWRtYV91bm1hcF9zZygmZGV2LT5wZGV2LT5kZXYsCi0JCQkgICAgIG9iai0+cGFn ZXMtPnNnbCwgb2JqLT5wYWdlcy0+bmVudHMsCi0JCQkgICAgIFBDSV9ETUFfQklESVJFQ1RJT05B TCk7CisJaWYgKG9iai0+b3BzLT5wdXRfZG1hX21hcHBpbmcpCisJCW9iai0+b3BzLT5wdXRfZG1h X21hcHBpbmcob2JqKTsKIAogCXVuZG9faWRsaW5nKGRldl9wcml2LCBpbnRlcnJ1cHRpYmxlKTsK IH0KLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=