From mboxrd@z Thu Jan 1 00:00:00 1970 From: 'Max Staudt Subject: [PATCH 3/3] Add fb_open_adj_file() to bochsdrmfb to avoid use-after-free Date: Mon, 23 May 2016 12:48:53 +0200 Message-ID: <1464000533-13140-4-git-send-email-mstaudt@suse.de> References: <1464000533-13140-1-git-send-email-mstaudt@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BD636E05C for ; Mon, 23 May 2016 10:53:36 +0000 (UTC) In-Reply-To: <1464000533-13140-1-git-send-email-mstaudt@suse.de> 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, linux-kernel@vger.kernel.org Cc: eich@suse.de, thellstrom@vmware.com, tomi.valkeinen@ti.com, mstaudt@suse.de List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWF4IFN0YXVkdCA8bXN0YXVkdEBzdXNlLmRlPgoKQ3VycmVudGx5LCB3aGVuIHVzaW5n IGJvY2hzZHJtKGZiKSwgb3BlbmluZyAvZGV2L2RybS9jYXJkMCB3aWxsIGFkanVzdApmaWxlLT5m X21hcHBpbmcsIGJ1dCBvcGVuaW5nIC9kZXYvZmIwIHdpbGwgbm90LgpUaGlzIG1heSByZXN1bHQg aW4gZGFuZ2xpbmcgcG9pbnRlcnMgZnJvbSB1c2VyIHNwYWNlIHdoZW4gbWVtb3J5IGlzCmV2aWN0 ZWQsIGFuZCB0aGVyZWZvcmUgaW4gdXNlLWFmdGVyLWZyZWUgY3Jhc2hlcyB3aGVuIHVzaW5nIHRo ZSBlbXVsYXRlZApmcmFtZWJ1ZmZlciBkZXZpY2UuCgpCb2NocyBpcyB0aGUgb25seSBkcml2ZXIg dG8gdXNlIHRoZSBUVE0gZmJkZXYgaW50ZWdyYXRpb24KKHR0bV9mYmRldl9tbWFwKCkpLCBhbmQg dGh1cyB0aGUgb25seSBvbmUgYWJsZSB0byB0cmlnZ2VyIHRoaXMgY2FzZS4KSXQgaXMgaGlnaGxp Z2h0ZWQgYnkgdGhlIFdBUk5fT04oKSBpbiB0dG1fYm9fdm1fb3BlbigpIGluCmRyaXZlcnMvZ3B1 L2RybS90dG0vdHRtX2JvX3ZtLmMgd2hpY2ggaXMgcHJpbnRlZCB1cG9uIHNwbGl0dGluZwphIFZN QSAoc2VlIHJlcHJvZHVjZXIgY29kZSBiZWxvdyk6CgpXQVJOX09OKGJvLT5iZGV2LT5kZXZfbWFw cGluZyAhPSB2bWEtPnZtX2ZpbGUtPmZfbWFwcGluZyk7CgpUaGlzIGhhcHBlbnMgYmVjYXVzZSB0 dG1fZmJkZXZfbW1hcCgpIHNldHMgdGhlIFZNQSdzIHZtX29wcyBwb2ludGVyCnRvIHBvaW50IHRv IHRoZSBUVE0gbWVtb3J5IGhhbmRsaW5nIGZ1bmN0aW9ucywgd2l0aG91dCB0aGUgZmlsZSdzCmZf bWFwcGluZyBoYXZpbmcgYmVlbiBhZGp1c3RlZC4gVGhpcyBtZWFucyB0aGF0IGZpbGUtPmZfbWFw cGluZyB3b3VsZApzdGlsbCBwb2ludCB0byB0aGUgYWRkcmVzc19zcGFjZSBmb3IgdGhlIGlub2Rl IGluIHRoZSBmaWxlIHN5c3RlbS4KClRoaXMgcGF0Y2ggYXZvaWRzIGRhbmdsaW5nL3VzZS1hZnRl ci1mcmVlIHBvaW50ZXJzIHRoYXQgcmVtYWluIGFmdGVyClRUTSBkZWNpZGVzIHRvIGV2aWN0IHRo ZSBtZW1vcnkgcmVmZXJlbmNlZCBieSBiby0+YmRldi0+ZGV2X21hcHBpbmcsCmFzIHRoZSBWTUFz IG9mIGEgbW1hcCgpZWQgL2Rldi9mYjAgYmVsb25nIHRvIC9kZXYvZmIwIGluc3RlYWQgb2YgdGhl CmFub255bW91cyBpbm9kZSBkZXYtPmFub25faW5vZGUgdXNlZCBieSBEUk0uCkl0IGJhc2ljYWxs eSBtaW1pY3MgdGhlIGFkanVzdG1lbnQgb2YgZmlsZS0+Zl9tYXBwaW5nIHRoYXQgaXMgYWxzbwpw ZXJmb3JtZWQgaW4gZHJtX29wZW4oKSBpbiBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYy4KCkZv ciB0aGUgb3JpZ2luYWwgcmVwb3J0LCBzZWU6Cmh0dHBzOi8vbGttbC5rZXJuZWwub3JnL2cvczVo eTQ5dWU0eTAud2wtdGl3YWlAc3VzZS5kZQoKVGhlIHJlcHJvZHVjZXIgY29kZSBpcyBhcyBmb2xs b3dzOgoKLS0tLQoKaW50IG1haW4odm9pZCkKewogICAgICAgIHZvaWQgKmFkZHI7CgogICAgICAg IGludCBmZCA9IG9wZW4oIi9kZXYvZmIwIiwgT19SRE9OTFkpOwogICAgICAgIGlmIChmZCA8IDAp CiAgICAgICAgICAgICAgICBlcnIoMSwgIm9wZW4iKTsKCiAgICAgICAgYWRkciA9IG1tYXAoMCwg ODE5MiwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBmZCwgMCk7CiAgICAgICAgaWYgKGFkZHIgPT0g TUFQX0ZBSUxFRCkKICAgICAgICAgICAgICAgIGVycigxLCAiMXN0IG1tYXAiKTsKCiAgICAgICAg aWYgKG1tYXAoYWRkciwgNDA5NiwgUFJPVF9SRUFELCBNQVBfU0hBUkVEIHwgTUFQX0ZJWEVEIHwg TUFQX0FOT05ZTU9VUywgLTEsIDApID09IE1BUF9GQUlMRUQpCiAgICAgICAgICAgICAgICBlcnIo MSwgIjJuZCBtbWFwIik7CgogICAgICAgIHJldHVybiAwOwp9CgotLS0tCgpTaWduZWQtb2ZmLWJ5 OiBNYXggU3RhdWR0IDxtc3RhdWR0QHN1c2UuZGU+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2JvY2hz L2JvY2hzLmggICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZmJkZXYu YyB8IDE5ICsrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Nocy5oIGIvZHJpdmVy cy9ncHUvZHJtL2JvY2hzL2JvY2hzLmgKaW5kZXggMTliNWFkYS4uYzM3ZDMwYSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jv Y2hzL2JvY2hzLmgKQEAgLTEsNSArMSw2IEBACiAjaW5jbHVkZSA8bGludXgvaW8uaD4KICNpbmNs dWRlIDxsaW51eC9mYi5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgv Y29uc29sZS5oPgogCiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9ib2Nocy9ib2Noc19mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hz X2ZiZGV2LmMKaW5kZXggNzUyMGJmOC4uZmQ3MDQ0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2JvY2hzL2JvY2hzX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hz X2ZiZGV2LmMKQEAgLTIwLDYgKzIwLDI0IEBAIHN0YXRpYyBpbnQgYm9jaHNmYl9tbWFwKHN0cnVj dCBmYl9pbmZvICppbmZvLAogCXJldHVybiB0dG1fZmJkZXZfbW1hcCh2bWEsICZiby0+Ym8pOwog fQogCitzdGF0aWMgaW50IGJvY2hzZmJfb3Blbl9hZGpfZmlsZShzdHJ1Y3QgZmJfaW5mbyAqaW5m bywgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciA9 IChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqKWluZm8tPnBhcjsKKwlzdHJ1Y3QgYm9jaHNfZGV2aWNl ICpib2NocyA9CisJCWNvbnRhaW5lcl9vZihoZWxwZXIsIHN0cnVjdCBib2Noc19kZXZpY2UsIGZi LmhlbHBlcik7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGJvY2hzLT5kZXY7CisKKwkvKiBD b3JyZWN0IGZfbWFwcGluZyBoZXJlIHNvIGl0J3MgY29uc2lzdGVudCBhY3Jvc3MgdGhlCisJICog ZmQncyBsaWZldGltZS4KKwkgKiBJZiB0aGlzIGlzbid0IGRvbmUsIHRoZSBXQVJOX09OKCkgaW4g dHRtX2JvX3ZtX29wZW4oKQorCSAqIHdpbGwgdHJpcCB1cG9uIHZtYV9zcGxpdCgpLCBoaW50aW5n IHRoYXQgb3RoZXIgbWVtb3J5CisJICogbWFuYWdlbWVudCBuYXN0aW5lc3MgbWF5IG9jY3VyIHdo ZW4gVFRNIGV2aWN0cy4KKwkgKi8KKwlmaWxlLT5mX21hcHBpbmcgPSBkZXYtPmFub25faW5vZGUt PmlfbWFwcGluZzsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgc3RydWN0IGZiX29wcyBib2No c2ZiX29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkuZmJfY2hlY2tfdmFyID0gZHJt X2ZiX2hlbHBlcl9jaGVja192YXIsCkBAIC0zMSw2ICs0OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZmJf b3BzIGJvY2hzZmJfb3BzID0gewogCS5mYl9ibGFuayA9IGRybV9mYl9oZWxwZXJfYmxhbmssCiAJ LmZiX3NldGNtYXAgPSBkcm1fZmJfaGVscGVyX3NldGNtYXAsCiAJLmZiX21tYXAgPSBib2Noc2Zi X21tYXAsCisJLmZiX29wZW5fYWRqX2ZpbGUgPSBib2Noc2ZiX29wZW5fYWRqX2ZpbGUsCiB9Owog CiBzdGF0aWMgaW50IGJvY2hzZmJfY3JlYXRlX29iamVjdChzdHJ1Y3QgYm9jaHNfZGV2aWNlICpi b2NocywKLS0gCjIuNi42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK