From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhenyu Wang Subject: [PATCH v2] drm/i915/gvt: Fix crash after request->hw_context change Date: Mon, 21 May 2018 16:17:52 +0800 Message-ID: <20180521081752.31056-1-zhenyuw@linux.intel.com> References: <20180518101305.8840-1-zhenyuw@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180518101305.8840-1-zhenyuw@linux.intel.com> 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 Cc: intel-gvt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2hlbiB3ZSBkbyBzaGFkb3dpbmcsIHdvcmtsb2FkJ3MgcmVxdWVzdCBtaWdodCBub3QgYmUgYWxs b2NhdGVkIHlldCwKc28gd2Ugc3RpbGwgcmVxdWlyZSBzaGFkb3cgY29udGV4dCdzIG9iamVjdC4g QW5kIHdoZW4gY29tcGxldGUgd29ya2xvYWQsCmRlbGF5IHRvIHplcm8gd29ya2xvYWQncyByZXF1 ZXN0IHBvaW50ZXIgYWZ0ZXIgdXNlZCBmb3IgdXBkYXRlIGd1ZXN0IGNvbnRleHQuCgp2MjogTW92 ZSByZXF1ZXN0IGFsbG9jIGVhcmxpZXIgYXMgYWxyZWFkeSB0cnkgdG8gdHJhY2sgc2hhZG93IHN0 YXR1cwpkZXBlbmRpbmcgb24gcmVxdWVzdCBzdGF0ZSwgd2hpY2ggYWxzbyBmYWNpbGl0YXRlIHRv IHVzZSByZXF1ZXN0LT5od19jb250ZXh0CmZvciB0YXJnZXQgZW5naW5lIGNvbnRleHQgcmVmZXJl bmNlLgoKRml4ZXM6IDFmYzQ0ZDliMWFmYiAoImRybS9pOTE1OiBTdG9yZSBhIHBvaW50ZXIgdG8g aW50ZWxfY29udGV4dCBpbiBpOTE1X3JlcXVlc3QiKQpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50 ZWwuY29tPgpDYzogWmhpIFdhbmcgPHpoaS5hLndhbmdAaW50ZWwuY29tPgpDYzogV2VpbmFuIExp IDx3ZWluYW4uei5saUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFpoZW55dSBXYW5nIDx6aGVu eXV3QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1 bGVyLmMgfCA1MiArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MTYgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3Nj aGVkdWxlci5jCmluZGV4IGUxNzYwMDMwZGRhMS4uN2Y1ZTAxZGY5NWVlIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L3NjaGVkdWxlci5jCkBAIC0zNDgsNiArMzQ4LDcgQEAgaW50IGludGVsX2d2dF9z Y2FuX2FuZF9zaGFkb3dfd29ya2xvYWQoc3RydWN0IGludGVsX3ZncHVfd29ya2xvYWQgKndvcmts b2FkKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHZncHUtPmd2dC0+ZGV2 X3ByaXY7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gZGV2X3ByaXYtPmVuZ2lu ZVt3b3JrbG9hZC0+cmluZ19pZF07CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmNlOworCXN0cnVj dCBpOTE1X3JlcXVlc3QgKnJxOwogCWludCByZXQ7CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZk ZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CkBAIC0zODYsNDYgKzM4NywyNiBAQCBpbnQgaW50 ZWxfZ3Z0X3NjYW5fYW5kX3NoYWRvd193b3JrbG9hZChzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9h ZCAqd29ya2xvYWQpCiAJCQlnb3RvIGVycl9zaGFkb3c7CiAJfQogCi0JcmV0ID0gcG9wdWxhdGVf c2hhZG93X2NvbnRleHQod29ya2xvYWQpOwotCWlmIChyZXQpCi0JCWdvdG8gZXJyX3NoYWRvdzsK LQotCXJldHVybiAwOwotCi1lcnJfc2hhZG93OgotCXJlbGVhc2Vfc2hhZG93X3dhX2N0eCgmd29y a2xvYWQtPndhX2N0eCk7Ci1lcnJfdW5waW46Ci0JaW50ZWxfY29udGV4dF91bnBpbihjZSk7Ci0J cmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBpbnRlbF9ndnRfZ2VuZXJhdGVfcmVxdWVzdChz dHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9hZCAqd29ya2xvYWQpCi17Ci0JaW50IHJpbmdfaWQgPSB3 b3JrbG9hZC0+cmluZ19pZDsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB3 b3JrbG9hZC0+dmdwdS0+Z3Z0LT5kZXZfcHJpdjsKLQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsK LQlzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSA9IHdvcmtsb2FkLT52Z3B1OwotCXN0cnVjdCBpbnRl bF92Z3B1X3N1Ym1pc3Npb24gKnMgPSAmdmdwdS0+c3VibWlzc2lvbjsKLQlzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqc2hhZG93X2N0eCA9IHMtPnNoYWRvd19jdHg7Ci0JaW50IHJldDsKLQotCXJx ID0gaTkxNV9yZXF1ZXN0X2FsbG9jKGRldl9wcml2LT5lbmdpbmVbcmluZ19pZF0sIHNoYWRvd19j dHgpOworCXJxID0gaTkxNV9yZXF1ZXN0X2FsbG9jKGVuZ2luZSwgc2hhZG93X2N0eCk7CiAJaWYg KElTX0VSUihycSkpIHsKIAkJZ3Z0X3ZncHVfZXJyKCJmYWlsIHRvIGFsbG9jYXRlIGdlbSByZXF1 ZXN0XG4iKTsKIAkJcmV0ID0gUFRSX0VSUihycSk7Ci0JCWdvdG8gZXJyX3VucGluOworCQlnb3Rv IGVycl9zaGFkb3c7CiAJfQotCi0JZ3Z0X2RiZ19zY2hlZCgicmluZyBpZCAlZCBnZXQgaTkxNSBn ZW0gcmVxdWVzdCAlcFxuIiwgcmluZ19pZCwgcnEpOwotCiAJd29ya2xvYWQtPnJlcSA9IGk5MTVf cmVxdWVzdF9nZXQocnEpOwotCXJldCA9IGNvcHlfd29ya2xvYWRfdG9fcmluZ19idWZmZXIod29y a2xvYWQpOworCisJcmV0ID0gcG9wdWxhdGVfc2hhZG93X2NvbnRleHQod29ya2xvYWQpOwogCWlm IChyZXQpCi0JCWdvdG8gZXJyX3VucGluOwotCXJldHVybiAwOworCQlnb3RvIGVycl9yZXE7CiAK LWVycl91bnBpbjoKKwlyZXR1cm4gMDsKK2Vycl9yZXE6CisJcnEgPSBmZXRjaF9hbmRfemVybygm d29ya2xvYWQtPnJlcSk7CisJaTkxNV9yZXF1ZXN0X3B1dChycSk7CitlcnJfc2hhZG93OgogCXJl bGVhc2Vfc2hhZG93X3dhX2N0eCgmd29ya2xvYWQtPndhX2N0eCk7CitlcnJfdW5waW46CisJaW50 ZWxfY29udGV4dF91bnBpbihjZSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNjA5LDcgKzU5MCw3 IEBAIHN0YXRpYyBpbnQgcHJlcGFyZV93b3JrbG9hZChzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9h ZCAqd29ya2xvYWQpCiAJCWdvdG8gZXJyX3VucGluX21tOwogCX0KIAotCXJldCA9IGludGVsX2d2 dF9nZW5lcmF0ZV9yZXF1ZXN0KHdvcmtsb2FkKTsKKwlyZXQgPSBjb3B5X3dvcmtsb2FkX3RvX3Jp bmdfYnVmZmVyKHdvcmtsb2FkKTsKIAlpZiAocmV0KSB7CiAJCWd2dF92Z3B1X2VycigiZmFpbCB0 byBnZW5lcmF0ZSByZXF1ZXN0XG4iKTsKIAkJZ290byBlcnJfdW5waW5fbW07CkBAIC04MjMsNyAr ODA0LDcgQEAgc3RhdGljIHZvaWQgY29tcGxldGVfY3VycmVudF93b3JrbG9hZChzdHJ1Y3QgaW50 ZWxfZ3Z0ICpndnQsIGludCByaW5nX2lkKQogCQlzY2hlZHVsZXItPmN1cnJlbnRfd29ya2xvYWRb cmluZ19pZF07CiAJc3RydWN0IGludGVsX3ZncHUgKnZncHUgPSB3b3JrbG9hZC0+dmdwdTsKIAlz dHJ1Y3QgaW50ZWxfdmdwdV9zdWJtaXNzaW9uICpzID0gJnZncHUtPnN1Ym1pc3Npb247Ci0Jc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnE7CisJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEgPSB3b3JrbG9h ZC0+cmVxOwogCWludCBldmVudDsKIAogCW11dGV4X2xvY2soJmd2dC0+bG9jayk7CkBAIC04MzIs NyArODEzLDYgQEAgc3RhdGljIHZvaWQgY29tcGxldGVfY3VycmVudF93b3JrbG9hZChzdHJ1Y3Qg aW50ZWxfZ3Z0ICpndnQsIGludCByaW5nX2lkKQogCSAqIHN3aXRjaCB0byBtYWtlIHN1cmUgcmVx dWVzdCBpcyBjb21wbGV0ZWQuCiAJICogRm9yIHRoZSB3b3JrbG9hZCB3L28gcmVxdWVzdCwgZGly ZWN0bHkgY29tcGxldGUgdGhlIHdvcmtsb2FkLgogCSAqLwotCXJxID0gZmV0Y2hfYW5kX3plcm8o Jndvcmtsb2FkLT5yZXEpOwogCWlmIChycSkgewogCQl3YWl0X2V2ZW50KHdvcmtsb2FkLT5zaGFk b3dfY3R4X3N0YXR1c193cSwKIAkJCSAgICFhdG9taWNfcmVhZCgmd29ya2xvYWQtPnNoYWRvd19j dHhfYWN0aXZlKSk7CkBAIC04NjMsNyArODQzLDcgQEAgc3RhdGljIHZvaWQgY29tcGxldGVfY3Vy cmVudF93b3JrbG9hZChzdHJ1Y3QgaW50ZWxfZ3Z0ICpndnQsIGludCByaW5nX2lkKQogCQlpbnRl bF9jb250ZXh0X3VucGluKHJxLT5od19jb250ZXh0KTsKIAkJbXV0ZXhfdW5sb2NrKCZycS0+aTkx NS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKLQkJaTkxNV9yZXF1ZXN0X3B1dChycSk7CisJCWk5MTVf cmVxdWVzdF9wdXQoZmV0Y2hfYW5kX3plcm8oJndvcmtsb2FkLT5yZXEpKTsKIAl9CiAKIAlndnRf ZGJnX3NjaGVkKCJyaW5nIGlkICVkIGNvbXBsZXRlIHdvcmtsb2FkICVwIHN0YXR1cyAlZFxuIiwK LS0gCjIuMTcuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==