From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH] drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock Date: Thu, 25 Oct 2018 23:08:31 +0800 Message-ID: <20181025150831.19318-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: intel-gfx@lists.freedesktop.org, =?UTF-8?q?Christian=20K=C3=B6nig?= , Julia Lawall List-Id: dri-devel@lists.freedesktop.org ZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmM6MjAyOjQtMTQ6IEVSUk9SOiBmdW5jdGlvbiBk cm1fc3luY29ial9maW5kX3NpZ25hbF9wdF9mb3JfcG9pbnQgY2FsbGVkIG9uIGxpbmUgMzkwIGlu c2lkZSBsb2NrIG9uIGxpbmUgMzg5IGJ1dCB1c2VzIEdGUF9LRVJORUwKCiAgRmluZCBmdW5jdGlv bnMgdGhhdCByZWZlciB0byBHRlBfS0VSTkVMIGJ1dCBhcmUgY2FsbGVkIHdpdGggbG9ja3MgaGVs ZC4KCkdlbmVyYXRlZCBieTogc2NyaXB0cy9jb2NjaW5lbGxlL2xvY2tzL2NhbGxfa2Vybi5jb2Nj aQoKdjI6CnN5bmNvYmotPnRpbWVsaW5lIHN0aWxsIG5lZWRzIHByb3RlY3QuCgp2MzoKdXNlIGEg Z2xvYmFsIHNpZ25hbGVkIGZlbmNlIGluc3RlYWQgb2YgcmUtYWxsb2NhdGlvbi4KCnY0OgpEb24n dCBuZWVkIG1vdmluZyBsb2NrLgpEb24ndCBleHBvc2UgZnVuYy4KClRlc3RlZCBieTogc3luY29i al93YWl0IGFuZCAuL2RlcXAtdmsgLW4gZEVRUC1WSy4qc2VtYXBob3JlKiB3aXRoCmxvY2sgZGVi dWcga2VybmVsIG9wdGlvbnMgZW5hYmxlZC4KClNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3Ug PGRhdmlkMS56aG91QGFtZC5jb20+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5r aG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpDYzogQ2hyaXN0aWFuIEvDtm5pZyA8ZWFzeTJyZW1lbWJlci5jaGtAZ29vZ2xlbWFpbC5jb20+ CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ0M6IEp1bGlhIExh d2FsbCA8anVsaWEubGF3YWxsQGxpcDYuZnI+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9zeW5j b2JqLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2Jq LmMKaW5kZXggYjdlYWE2MDNmMzY4Li5mYWIwYTJjZjY3MmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fc3luY29iai5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5j CkBAIC04MCw2ICs4MCwyMyBAQCBzdHJ1Y3QgZHJtX3N5bmNvYmpfc2lnbmFsX3B0IHsKIAlzdHJ1 Y3QgbGlzdF9oZWFkIGxpc3Q7CiB9OwogCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHNpZ25hbGVk X2ZlbmNlX2xvY2spOworc3RhdGljIHN0cnVjdCBkbWFfZmVuY2Ugc2lnbmFsZWRfZmVuY2U7CisK K3N0YXRpYyBzdHJ1Y3QgZG1hX2ZlbmNlICpkcm1fc3luY29ial9zaWduYWxlZF9mZW5jZV9nZXQo dm9pZCkKK3sKKwlzcGluX2xvY2soJnNpZ25hbGVkX2ZlbmNlX2xvY2spOworCWlmICghc2lnbmFs ZWRfZmVuY2Uub3BzKSB7CisJCWRtYV9mZW5jZV9pbml0KCZzaWduYWxlZF9mZW5jZSwKKwkJCSAg ICAgICAmZHJtX3N5bmNvYmpfc3R1Yl9mZW5jZV9vcHMsCisJCQkgICAgICAgJnNpZ25hbGVkX2Zl bmNlX2xvY2ssCisJCQkgICAgICAgMCwgMCk7CisJCWRtYV9mZW5jZV9zaWduYWxfbG9ja2VkKCZz aWduYWxlZF9mZW5jZSk7CisJfQorCXNwaW5fdW5sb2NrKCZzaWduYWxlZF9mZW5jZV9sb2NrKTsK KworCXJldHVybiBkbWFfZmVuY2VfZ2V0KCZzaWduYWxlZF9mZW5jZSk7Cit9CiAvKioKICAqIGRy bV9zeW5jb2JqX2ZpbmQgLSBsb29rdXAgYW5kIHJlZmVyZW5jZSBhIHN5bmMgb2JqZWN0LgogICog QGZpbGVfcHJpdmF0ZTogZHJtIGZpbGUgcHJpdmF0ZSBwb2ludGVyCkBAIC0xMTEsMjQgKzEyOCwx MiBAQCBzdGF0aWMgc3RydWN0IGRtYV9mZW5jZQogCQkJCSAgICAgIHVpbnQ2NF90IHBvaW50KQog ewogCXN0cnVjdCBkcm1fc3luY29ial9zaWduYWxfcHQgKnNpZ25hbF9wdDsKKwlzdHJ1Y3QgZG1h X2ZlbmNlICpmID0gTlVMTDsKIAogCWlmICgoc3luY29iai0+dHlwZSA9PSBEUk1fU1lOQ09CSl9U WVBFX1RJTUVMSU5FKSAmJgogCSAgICAocG9pbnQgPD0gc3luY29iai0+dGltZWxpbmUpKSB7Ci0J CXN0cnVjdCBkcm1fc3luY29ial9zdHViX2ZlbmNlICpmZW5jZSA9Ci0JCQlremFsbG9jKHNpemVv ZihzdHJ1Y3QgZHJtX3N5bmNvYmpfc3R1Yl9mZW5jZSksCi0JCQkJR0ZQX0tFUk5FTCk7Ci0KLQkJ aWYgKCFmZW5jZSkKLQkJCXJldHVybiBOVUxMOwotCQlzcGluX2xvY2tfaW5pdCgmZmVuY2UtPmxv Y2spOwotCQlkbWFfZmVuY2VfaW5pdCgmZmVuY2UtPmJhc2UsCi0JCQkgICAgICAgJmRybV9zeW5j b2JqX3N0dWJfZmVuY2Vfb3BzLAotCQkJICAgICAgICZmZW5jZS0+bG9jaywKLQkJCSAgICAgICBz eW5jb2JqLT50aW1lbGluZV9jb250ZXh0LAotCQkJICAgICAgIHBvaW50KTsKLQotCQlkbWFfZmVu Y2Vfc2lnbmFsKCZmZW5jZS0+YmFzZSk7Ci0JCXJldHVybiAmZmVuY2UtPmJhc2U7CisJCWYgPSBk cm1fc3luY29ial9zaWduYWxlZF9mZW5jZV9nZXQoKTsKKwkJZ290byBvdXQ7CiAJfQogCiAJbGlz dF9mb3JfZWFjaF9lbnRyeShzaWduYWxfcHQsICZzeW5jb2JqLT5zaWduYWxfcHRfbGlzdCwgbGlz dCkgewpAQCAtMTM3LDkgKzE0MiwxMSBAQCBzdGF0aWMgc3RydWN0IGRtYV9mZW5jZQogCQlpZiAo KHN5bmNvYmotPnR5cGUgPT0gRFJNX1NZTkNPQkpfVFlQRV9CSU5BUlkpICYmCiAJCSAgICAocG9p bnQgIT0gc2lnbmFsX3B0LT52YWx1ZSkpCiAJCQljb250aW51ZTsKLQkJcmV0dXJuIGRtYV9mZW5j ZV9nZXQoJnNpZ25hbF9wdC0+ZmVuY2VfYXJyYXktPmJhc2UpOworCQlmID0gZG1hX2ZlbmNlX2dl dCgmc2lnbmFsX3B0LT5mZW5jZV9hcnJheS0+YmFzZSk7CisJCWdvdG8gb3V0OwogCX0KLQlyZXR1 cm4gTlVMTDsKK291dDoKKwlyZXR1cm4gZjsKIH0KIAogc3RhdGljIHZvaWQgZHJtX3N5bmNvYmpf YWRkX2NhbGxiYWNrX2xvY2tlZChzdHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmosCi0tIAoyLjE3 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=