From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/i915: Prevent oops on req->engine in rcu-protected peeking Date: Fri, 5 Aug 2016 18:37:00 +0200 Message-ID: <1470415020-1769-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id EED376E169 for ; Fri, 5 Aug 2016 16:37:07 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id o80so4489531wme.0 for ; Fri, 05 Aug 2016 09:37:07 -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 Graphics Development Cc: Daniel Vetter , "Goel, Akash" List-Id: intel-gfx@lists.freedesktop.org V2hlbiBvbmx5IHJjdS1wcm90ZWN0ZWQgd2UgbWlnaHQgcGVlayBhdCBhIHJlaW5pdGlhbGl6aW5n IHJlcXVlc3QuClByZXZlbnQgY2FybmFnZSBieSBtYWtpbmcgc3VyZSB3ZSBkb24ndCBhY2NpZGVu dGFsbHkgY2hhc2UgYSBOVUxMCnBvaW50ZXIuCgpUaGUgcHJvcGVyIGZpeCBmb3IgdGhpcyBpcyB0 byBkcm9wIHRoZSBtZW1zZXQgKHdpdGgga3phbGxvYykgaW4gdGhlCnJlcXVlc3QgYWxsb2NhdGlv biBmdW5jdGlvbiwgc2luY2UgdGhhdCBhdm9pZHMgYm90aCB0aGUgTlVMTCBjaGVjayBpbgp0aGVz ZSBmYXN0cGF0aHMgYW5kIG1ha2VzIHJlcXVlc3QgYWxsb2NhdGlvbiBhIG5vdGNoIGxpZ2h0ZXIu IEJ1dCBpdAphbHNvIG1lYW5zIHdlIG5lZWQgdG8gY2FyZWZ1bCBhdWRpdCBhbGwgdGhlIHBhdGhz IHRvIG1ha2Ugc3VyZSBub3RoaW5nCmdldHMgdXBzZXQgYW5kIHJ1bnMgaW50byBnYXJiYWdlLiBB bmQgdGhhdCdzIGEgYml0IG11Y2ggb24gYSBsYXRlIEZyaWRheQp3aXRoIEpvb25hcyBhbHJlYWR5 IG9uIHcvZS4gQWxzbywgdG9kYXkgaXMgZHJtLWludGVsLW5leHQgdGFnIGRheSwgYW5kCnRoaXMg d2lsbCBiZSB0aGUgdGFnIGZvciB0aGUgZmlyc3QgNC45IHB1bGwgcmVxdWVzdC4KCkhlbmNlIHRo aXMgZWFzaWVyIHRvIHJldmlldyBpbnRlcmltIGZpeCwgd2hpY2ggd2lsbCBiZSByZXBsYWNlZCBl YXJseSBuZXh0CndlZWsgYnkgdGhlIHByb3BlciBmaXggQ2hyaXMgaXMgd29ya2luZyBvbi4KCkZp eGVzOiAwZWFmZWM2ZDMyNDQgKCJkcm0vaTkxNTogRW5hYmxlIGxvY2tsZXNzIGxvb2t1cCBvZiBy ZXF1ZXN0Li4uIikKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpD YzogIkdvZWwsIEFrYXNoIiA8YWthc2guZ29lbEBpbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFo dGluZW5AbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuaCB8IDI0ICsrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDIy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVxdWVzdC5oCmluZGV4IDYwMDJhZGM0MzUyMy4uZTU1NDkyYmEyMGVjIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCkBAIC0yNDQsNiArMjQ0LDI2IEBAIGk5MTVf Z2VtX3JlcXVlc3Rfc3RhcnRlZChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSkKIH0KIAogc3RhdGljIGlubGluZSBib29sCitpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZF9y Y3UoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lID0gUkVBRF9PTkNFKHJlcS0+ZW5naW5lKTsKKworCS8qIFdo ZW4gd2UgcGVlayBhdCBhIHJlcXVlc3Qgc29sZWx5IHVuZGVyIHJjdSBwcm90ZWN0aW9uLCB3aXRo b3V0CisJICogaG9kbGluZyBhIGZ1bGwgcmVmZXJlbmNlLCB0aGUgcmVxdWVzdCBtaWdodCBiZSBp biB0aGUgcHJvY2VzcyBvZgorCSAqIGdldHRpbmcgZnJlZWQgYW5kIHJlYWxsb2NhdGVkLiBNYWtl IHN1cmUgd2UgZG9uJ3Qgc3R1bWJsZSBvdmVyIGEgTlVMTAorCSAqIGVuZ2luZSBpbiB0aGF0IGNh c2UuCisJICoKKwkgKiBJZiB3ZSBhcmUgaGl0dGluZyB0aGlzIHJhY2UgaXQgbWVhbnMgdGhhdCB0 aGUgb2xkIHJlcXVlc3QgaGFzIGJlZW4KKwkgKiByZWxlYXNlZCwgd2hpY2ggb25seSBoYXBwZW5z IG9uY2UgaXQgaGFzIGNvbXBsZXRlZC4KKwkgKi8KKwlpZiAoIWVuZ2luZSkKKwkJcmV0dXJuIHRy dWU7CisKKwlyZXR1cm4gaTkxNV9zZXFub19wYXNzZWQoaW50ZWxfZW5naW5lX2dldF9zZXFubyhl bmdpbmUpLAorCQkJCSByZXEtPmZlbmNlLnNlcW5vKTsKK30KKworc3RhdGljIGlubGluZSBib29s CiBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSkKIHsKIAlyZXR1cm4gaTkxNV9zZXFub19wYXNzZWQoaW50ZWxfZW5naW5lX2dl dF9zZXFubyhyZXEtPmVuZ2luZSksCkBAIC0zODQsNyArNDA0LDcgQEAgaTkxNV9nZW1fYWN0aXZl X3BlZWtfcmN1KGNvbnN0IHN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgKmFjdGl2ZSkKIAlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Q7CiAKIAlyZXF1ZXN0ID0gcmN1X2RlcmVmZXJl bmNlKGFjdGl2ZS0+cmVxdWVzdCk7Ci0JaWYgKCFyZXF1ZXN0IHx8IGk5MTVfZ2VtX3JlcXVlc3Rf Y29tcGxldGVkKHJlcXVlc3QpKQorCWlmICghcmVxdWVzdCB8fCBpOTE1X2dlbV9yZXF1ZXN0X2Nv bXBsZXRlZF9yY3UocmVxdWVzdCkpCiAJCXJldHVybiBOVUxMOwogCiAJcmV0dXJuIHJlcXVlc3Q7 CkBAIC00NTksNyArNDc5LDcgQEAgX19pOTE1X2dlbV9hY3RpdmVfZ2V0X3JjdShjb25zdCBzdHJ1 Y3QgaTkxNV9nZW1fYWN0aXZlICphY3RpdmUpCiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxdWVzdDsKIAogCQlyZXF1ZXN0ID0gcmN1X2RlcmVmZXJlbmNlKGFjdGl2ZS0+cmVxdWVz dCk7Ci0JCWlmICghcmVxdWVzdCB8fCBpOTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXF1ZXN0 KSkKKwkJaWYgKCFyZXF1ZXN0IHx8IGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkX3JjdShyZXF1 ZXN0KSkKIAkJCXJldHVybiBOVUxMOwogCiAJCXJlcXVlc3QgPSBpOTE1X2dlbV9yZXF1ZXN0X2dl dF9yY3UocmVxdWVzdCk7Ci0tIAoyLjguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==