From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongwon Kim Subject: [RFC PATCH 26/60] hyper_dmabuf: add mutexes to prevent several race conditions Date: Tue, 19 Dec 2017 11:29:42 -0800 Message-ID: <1513711816-2618-26-git-send-email-dongwon.kim@intel.com> References: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org, mateuszx.potrola@intel.com, dri-devel@lists.freedesktop.org, dongwon.kim@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWF0ZXVzeiBQb2xyb2xhIDxtYXRldXN6eC5wb3Ryb2xhQGludGVsLmNvbT4KCkFkZGVk IG11dGV4IHRvIGV4cG9ydF9mZCBpb2N0bCB0byBwcmV2ZW50IGRvdWJsZSBwYWdlcyBtYXBwaW5n IG9mIHRoZQpzYW1lIGJ1ZmZlciB0byBwcmV2ZW50IHJhY2UgY29uZGl0aW9uIHdoZW4gdHdvIGNv bnN1bWVycyBhcmUgdHJ5aW5nIHRvCm1hcCB0aGUgc2FtZSBidWZmZXIgb24gaW1wb3J0ZXIgVk0u CgpBbHNvIGxvY2tlZCBtdXRleCBiZWZvcmUgc2VuZGluZyByZXF1ZXN0IHZpYSB4ZW4gY29tbXVu aWNhdGlvbiBjaGFubmVsCnRvIHByZXZlbnQgcmVxX3BlbmRpbmcgb3ZlcnJpZGUgYnkgYW5vdGhl ciBjYWxsZXIuCgpTaWduZWQtb2ZmLWJ5OiBEb25nd29uIEtpbSA8ZG9uZ3dvbi5raW1AaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2LmMgICAg ICAgICAgfCAgMiArKwogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9kcnYu aCAgICAgICAgICB8ICAxICsKIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZf aW9jdGwuYyAgICAgICAgfCAgNiArKysrKysKIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi94ZW4v aHlwZXJfZG1hYnVmX3hlbl9jb21tLmMgfCAxMCArKysrKysrKysrCiBkcml2ZXJzL3hlbi9oeXBl cl9kbWFidWYveGVuL2h5cGVyX2RtYWJ1Zl94ZW5fY29tbS5oIHwgIDEgKwogNSBmaWxlcyBjaGFu Z2VkLCAyMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1h YnVmL2h5cGVyX2RtYWJ1Zl9kcnYuYyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9k bWFidWZfZHJ2LmMKaW5kZXggNTY5Yjk1ZS4uNTg0ZDU1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy94 ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9kcnYuYworKysgYi9kcml2ZXJzL3hlbi9oeXBl cl9kbWFidWYvaHlwZXJfZG1hYnVmX2Rydi5jCkBAIC01Niw2ICs1Niw4IEBAIHN0YXRpYyBpbnQg X19pbml0IGh5cGVyX2RtYWJ1Zl9kcnZfaW5pdCh2b2lkKQogCiAJcHJpbnRrKCBLRVJOX05PVElD RSAiaHlwZXJfZG1hYnVmX3N0YXJ0aW5nOiBJbml0aWFsaXphdGlvbiBzdGFydGVkIiApOwogCisJ bXV0ZXhfaW5pdCgmaHlwZXJfZG1hYnVmX3ByaXZhdGUubG9jayk7CisKIAlyZXQgPSByZWdpc3Rl cl9kZXZpY2UoKTsKIAlpZiAocmV0IDwgMCkgewogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdp dCBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2LmggYi9kcml2ZXJz L3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2Rydi5oCmluZGV4IDBiMTQ0MWUuLjg0NDU0 MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2 LmgKKysrIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9kcnYuaApAQCAt NzYsNiArNzYsNyBAQCBzdHJ1Y3QgaHlwZXJfZG1hYnVmX3ByaXZhdGUgewogCiAJLyogYmFja2Vu ZCBvcHMgLSBoeXBlcnZpc29yIHNwZWNpZmljICovCiAJc3RydWN0IGh5cGVyX2RtYWJ1Zl9iYWNr ZW5kX29wcyAqYmFja2VuZF9vcHM7CisJc3RydWN0IG11dGV4IGxvY2s7CiB9OwogCiAjZW5kaWYg LyogX19MSU5VWF9QVUJMSUNfSFlQRVJfRE1BQlVGX0RSVl9IX18gKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfaW9jdGwuYyBiL2RyaXZlcnMveGVu L2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfaW9jdGwuYwppbmRleCAwMThkZThjLi44ODUxYTlj IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3Rs LmMKKysrIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9pb2N0bC5jCkBA IC0yNjAsNiArMjYwLDggQEAgc3RhdGljIGludCBoeXBlcl9kbWFidWZfZXhwb3J0X2ZkX2lvY3Rs KHZvaWQgKmRhdGEpCiAJaWYgKHNndF9pbmZvID09IE5VTEwgfHwgIXNndF9pbmZvLT52YWxpZCkg LyogY2FuJ3QgZmluZCBzZ3QgZnJvbSB0aGUgdGFibGUgKi8KIAkJcmV0dXJuIC0xOwogCisJbXV0 ZXhfbG9jaygmaHlwZXJfZG1hYnVmX3ByaXZhdGUubG9jayk7CisKIAlzZ3RfaW5mby0+bnVtX2lt cG9ydGVycysrOwogCiAJLyogc2VuZCBub3RpZmljYXRpb24gZm9yIGV4cG9ydF9mZCB0byBleHBv cnRlciAqLwpAQCAtMjc0LDYgKzI3Niw3IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX2V4cG9y dF9mZF9pb2N0bCh2b2lkICpkYXRhKQogCQlrZnJlZShyZXEpOwogCQlkZXZfZXJyKGh5cGVyX2Rt YWJ1Zl9wcml2YXRlLmRldmljZSwgIkZhaWxlZCB0byBjcmVhdGUgc2d0IG9yIG5vdGlmeSBleHBv cnRlclxuIik7CiAJCXNndF9pbmZvLT5udW1faW1wb3J0ZXJzLS07CisJCW11dGV4X3VubG9jaygm aHlwZXJfZG1hYnVmX3ByaXZhdGUubG9jayk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlrZnJl ZShyZXEpOwpAQCAtMjgyLDYgKzI4NSw3IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX2V4cG9y dF9mZF9pb2N0bCh2b2lkICpkYXRhKQogCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRl dmljZSwKIAkJCSJCdWZmZXIgaW52YWxpZFxuIik7CiAJCXNndF9pbmZvLT5udW1faW1wb3J0ZXJz LS07CisJCW11dGV4X3VubG9jaygmaHlwZXJfZG1hYnVmX3ByaXZhdGUubG9jayk7CiAJCXJldHVy biAtMTsKIAl9IGVsc2UgewogCQlkZXZfZGJnKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwg IkNhbiBpbXBvcnQgYnVmZmVyXG4iKTsKQEAgLTMwMyw2ICszMDcsNyBAQCBzdGF0aWMgaW50IGh5 cGVyX2RtYWJ1Zl9leHBvcnRfZmRfaW9jdGwodm9pZCAqZGF0YSkKIAogCQlpZiAoIWRhdGFfcGFn ZXMpIHsKIAkJCXNndF9pbmZvLT5udW1faW1wb3J0ZXJzLS07CisJCQltdXRleF91bmxvY2soJmh5 cGVyX2RtYWJ1Zl9wcml2YXRlLmxvY2spOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIApAQCAt MzE4LDYgKzMyMyw3IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX2V4cG9ydF9mZF9pb2N0bCh2 b2lkICpkYXRhKQogCQlyZXQgPSBleHBvcnRfZmRfYXR0ci0+ZmQ7CiAJfQogCisJbXV0ZXhfdW5s b2NrKCZoeXBlcl9kbWFidWZfcHJpdmF0ZS5sb2NrKTsKIAlkZXZfZGJnKGh5cGVyX2RtYWJ1Zl9w cml2YXRlLmRldmljZSwgIiVzIGV4aXRcbiIsIF9fZnVuY19fKTsKIAlyZXR1cm4gMDsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi94ZW4vaHlwZXJfZG1hYnVmX3hlbl9j b21tLmMgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYveGVuL2h5cGVyX2RtYWJ1Zl94ZW5fY29t bS5jCmluZGV4IGE4Y2NlMjYuLjlkNjdiNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2h5cGVy X2RtYWJ1Zi94ZW4vaHlwZXJfZG1hYnVmX3hlbl9jb21tLmMKKysrIGIvZHJpdmVycy94ZW4vaHlw ZXJfZG1hYnVmL3hlbi9oeXBlcl9kbWFidWZfeGVuX2NvbW0uYwpAQCAtMjc4LDYgKzI3OCw4IEBA IGludCBoeXBlcl9kbWFidWZfeGVuX2luaXRfdHhfcmJ1ZihpbnQgZG9taWQpCiAJcmluZ19pbmZv LT5pcnEgPSByZXQ7CiAJcmluZ19pbmZvLT5wb3J0ID0gYWxsb2NfdW5ib3VuZC5wb3J0OwogCisJ bXV0ZXhfaW5pdCgmcmluZ19pbmZvLT5sb2NrKTsKKwogCWRldl9kYmcoaHlwZXJfZG1hYnVmX3By aXZhdGUuZGV2aWNlLAogCQkiJXM6IGFsbG9jYXRlZCBldmVudGNoYW5uZWwgZ3JlZiAlZCAgcG9y dDogJWQgIGlycTogJWRcbiIsCiAJCV9fZnVuY19fLApAQCAtNTEyLDYgKzUxNCw5IEBAIGludCBo eXBlcl9kbWFidWZfeGVuX3NlbmRfcmVxKGludCBkb21pZCwgc3RydWN0IGh5cGVyX2RtYWJ1Zl9y ZXEgKnJlcSwgaW50IHdhaXQpCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCisJbXV0ZXhfbG9j aygmcmluZ19pbmZvLT5sb2NrKTsKKwogCXJpbmcgPSAmcmluZ19pbmZvLT5yaW5nX2Zyb250Owog CiAJaWYgKFJJTkdfRlVMTChyaW5nKSkKQEAgLTUxOSw2ICs1MjQsNyBAQCBpbnQgaHlwZXJfZG1h YnVmX3hlbl9zZW5kX3JlcShpbnQgZG9taWQsIHN0cnVjdCBoeXBlcl9kbWFidWZfcmVxICpyZXEs IGludCB3YWl0KQogCiAJbmV3X3JlcSA9IFJJTkdfR0VUX1JFUVVFU1QocmluZywgcmluZy0+cmVx X3Byb2RfcHZ0KTsKIAlpZiAoIW5ld19yZXEpIHsKKwkJbXV0ZXhfdW5sb2NrKCZyaW5nX2luZm8t PmxvY2spOwogCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwKIAkJCSJOVUxM IFJFUVVFU1RcbiIpOwogCQlyZXR1cm4gLUVJTzsKQEAgLTU0OCwxMyArNTU0LDE3IEBAIGludCBo eXBlcl9kbWFidWZfeGVuX3NlbmRfcmVxKGludCBkb21pZCwgc3RydWN0IGh5cGVyX2RtYWJ1Zl9y ZXEgKnJlcSwgaW50IHdhaXQpCiAJCX0KIAogCQlpZiAodGltZW91dCA8IDApIHsKKwkJCW11dGV4 X3VubG9jaygmcmluZ19pbmZvLT5sb2NrKTsKIAkJCWRldl9lcnIoaHlwZXJfZG1hYnVmX3ByaXZh dGUuZGV2aWNlLCAicmVxdWVzdCB0aW1lZC1vdXRcbiIpOwogCQkJcmV0dXJuIC1FQlVTWTsKIAkJ fQogCisJCW11dGV4X3VubG9jaygmcmluZ19pbmZvLT5sb2NrKTsKIAkJcmV0dXJuIHJlcV9wZW5k aW5nLnN0YXR1czsKIAl9CiAKKwltdXRleF91bmxvY2soJnJpbmdfaW5mby0+bG9jayk7CisKIAly ZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL3hlbi9o eXBlcl9kbWFidWZfeGVuX2NvbW0uaCBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi94ZW4vaHlw ZXJfZG1hYnVmX3hlbl9jb21tLmgKaW5kZXggOWM5MzE2NS4uMDUzM2U0ZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL3hlbi9oeXBlcl9kbWFidWZfeGVuX2NvbW0uaAorKysg Yi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYveGVuL2h5cGVyX2RtYWJ1Zl94ZW5fY29tbS5oCkBA IC0zOSw2ICszOSw3IEBAIHN0cnVjdCB4ZW5fY29tbV90eF9yaW5nX2luZm8gewogICAgICAgICBp bnQgZ3JlZl9yaW5nOwogICAgICAgICBpbnQgaXJxOwogICAgICAgICBpbnQgcG9ydDsKKwlzdHJ1 Y3QgbXV0ZXggbG9jazsKIAlzdHJ1Y3QgeGVuYnVzX3dhdGNoIHdhdGNoOwogfTsKIAotLSAKMi43 LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs