From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v2 05/16] drm/dp_mst: Fix payload deallocation on hotplugs using malloc refs Date: Wed, 19 Dec 2018 19:19:49 -0500 Message-ID: <20181220001959.12486-6-lyude@redhat.com> References: <20181220001959.12486-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181220001959.12486-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: David Airlie , Jerry Zuo , Juston Li , Harry Wentland List-Id: intel-gfx@lists.freedesktop.org VXAgdW50aWwgbm93LCBmcmVlaW5nIHBheWxvYWRzIG9uIHJlbW90ZSBNU1QgaHVicyB0aGF0IGp1 c3QgaGFkIHBvcnRzCnJlbW92ZWQgaGFzIGFsbW9zdCBuZXZlciB3b3JrZWQgYmVjYXVzZSB3ZSd2 ZSBiZWVuIHJlbHlpbmcgb24gcG9ydAp2YWxpZGF0aW9uIGluIG9yZGVyIHRvIHN0b3AgdXMgZnJv bSBhY2Nlc3NpbmcgcG9ydHMgdGhhdCBoYXZlIGFscmVhZHkKYmVlbiBmcmVlZCBmcm9tIG1lbW9y eSwgYnV0IHBvcnRzIHdoaWNoIG5lZWQgdGhlaXIgcGF5bG9hZHMgcmVsZWFzZWQgZHVlCnRvIGJl aW5nIHJlbW92ZWQgd2lsbCBuZXZlciBiZSBhIHZhbGlkIHBhcnQgb2YgdGhlIHRvcG9sb2d5IGFm dGVyCnRoZXkndmUgYmVlbiByZW1vdmVkLgoKU2luY2Ugd2UndmUgaW50cm9kdWNlZCBtYWxsb2Mg cmVmcywgd2UgY2FuIHJlcGxhY2UgYWxsIG9mIHRoZSB2YWxpZGF0aW9uCmxvZ2ljIGluIHBheWxv YWQgaGVscGVycyB3aGljaCBhcmUgdXNlZCBmb3IgZGVhbGxvY2F0aW9uIHdpdGggc29tZQp3ZWxs LXBsYWNlZCBtYWxsb2Mga3JlZnMuIFRoaXMgZW5zdXJlcyB0aGF0IHJlZ2FyZGxlc3Mgb2Ygd2hl dGhlciBvciBub3QKdGhlIHBvcnRzIGFyZSBzdGlsbCB2YWxpZCBhbmQgaW4gdGhlIHRvcG9sb2d5 LCBhbnkgcG9ydCB3aGljaCBoYXMgYW4KYWxsb2NhdGVkIHBheWxvYWQgd2lsbCByZW1haW4gYWxs b2NhdGVkIGluIG1lbW9yeSB1bnRpbCBpdCdzIHBheWxvYWRzCmhhdmUgYmVlbiByZW1vdmVkIC0g ZmluYWxseSBhbGxvd2luZyB1cyB0byBhY3R1YWxseSByZWxlYXNlIHNhaWQKcGF5bG9hZHMgY29y cmVjdGx5LgoKU2lnbmVkLW9mZi1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KUmV2 aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBEYXZp ZCBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KQ2M6IEplcnJ5IFp1byA8SmVycnkuWnVvQGFt ZC5jb20+CkNjOiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KQ2M6IEp1 c3RvbiBMaSA8anVzdG9uLmxpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X21zdF90b3BvbG9neS5jIHwgNTQgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHBfbXN0X3RvcG9sb2d5LmMKaW5kZXggZWY4NjM3ZjM3NTY0Li4xMWRkM2VkZTdiN2QgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwpAQCAtMjEwMCwxMCArMjEwMCw2IEBA IHN0YXRpYyBpbnQgZHJtX2RwX3BheWxvYWRfc2VuZF9tc2coc3RydWN0IGRybV9kcF9tc3RfdG9w b2xvZ3lfbWdyICptZ3IsCiAJdTggc2lua3NbRFJNX0RQX01BWF9TRFBfU1RSRUFNU107CiAJaW50 IGk7CiAKLQlwb3J0ID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdy LCBwb3J0KTsKLQlpZiAoIXBvcnQpCi0JCXJldHVybiAtRUlOVkFMOwotCiAJcG9ydF9udW0gPSBw b3J0LT5wb3J0X251bTsKIAltc3RiID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfbXN0Yl92YWxp ZGF0ZWQobWdyLCBwb3J0LT5wYXJlbnQpOwogCWlmICghbXN0YikgewpAQCAtMjExMSwxMCArMjEw Nyw4IEBAIHN0YXRpYyBpbnQgZHJtX2RwX3BheWxvYWRfc2VuZF9tc2coc3RydWN0IGRybV9kcF9t c3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJCQkJCQkJICAgICAgIHBvcnQtPnBhcmVudCwKIAkJCQkJ CQkgICAgICAgJnBvcnRfbnVtKTsKIAotCQlpZiAoIW1zdGIpIHsKLQkJCWRybV9kcF9tc3RfdG9w b2xvZ3lfcHV0X3BvcnQocG9ydCk7CisJCWlmICghbXN0YikKIAkJCXJldHVybiAtRUlOVkFMOwot CQl9CiAJfQogCiAJdHhtc2cgPSBremFsbG9jKHNpemVvZigqdHhtc2cpLCBHRlBfS0VSTkVMKTsK QEAgLTIxNTEsNyArMjE0NSw2IEBAIHN0YXRpYyBpbnQgZHJtX2RwX3BheWxvYWRfc2VuZF9tc2co c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJa2ZyZWUodHhtc2cpOwogZmFp bF9wdXQ6CiAJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfbXN0Yihtc3RiKTsKLQlkcm1fZHBfbXN0 X3RvcG9sb2d5X3B1dF9wb3J0KHBvcnQpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTIyNTYsMTUg KzIyNDksMTYgQEAgc3RhdGljIGludCBkcm1fZHBfZGVzdHJveV9wYXlsb2FkX3N0ZXAyKHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogICovCiBpbnQgZHJtX2RwX3VwZGF0ZV9w YXlsb2FkX3BhcnQxKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKQogewotCWlu dCBpLCBqOwotCWludCBjdXJfc2xvdHMgPSAxOwogCXN0cnVjdCBkcm1fZHBfcGF5bG9hZCByZXFf cGF5bG9hZDsKIAlzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0OworCWludCBpLCBqOworCWlu dCBjdXJfc2xvdHMgPSAxOwogCiAJbXV0ZXhfbG9jaygmbWdyLT5wYXlsb2FkX2xvY2spOwogCWZv ciAoaSA9IDA7IGkgPCBtZ3ItPm1heF9wYXlsb2FkczsgaSsrKSB7CiAJCXN0cnVjdCBkcm1fZHBf dmNwaSAqdmNwaSA9IG1nci0+cHJvcG9zZWRfdmNwaXNbaV07CiAJCXN0cnVjdCBkcm1fZHBfcGF5 bG9hZCAqcGF5bG9hZCA9ICZtZ3ItPnBheWxvYWRzW2ldOworCQlib29sIHB1dF9wb3J0ID0gZmFs c2U7CiAKIAkJLyogc29sdmUgdGhlIGN1cnJlbnQgcGF5bG9hZHMgLSBjb21wYXJlIHRvIHRoZSBo dyBvbmVzCiAJCSAgIC0gdXBkYXRlIHRoZSBodyB2aWV3ICovCkBAIC0yMjcyLDEyICsyMjY2LDIw IEBAIGludCBkcm1fZHBfdXBkYXRlX3BheWxvYWRfcGFydDEoc3RydWN0IGRybV9kcF9tc3RfdG9w b2xvZ3lfbWdyICptZ3IpCiAJCWlmICh2Y3BpKSB7CiAJCQlwb3J0ID0gY29udGFpbmVyX29mKHZj cGksIHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQsCiAJCQkJCSAgICB2Y3BpKTsKLQkJCXBvcnQgPSBk cm1fZHBfbXN0X3RvcG9sb2d5X2dldF9wb3J0X3ZhbGlkYXRlZChtZ3IsCi0JCQkJCQkJCSAgICAg IHBvcnQpOwotCQkJaWYgKCFwb3J0KSB7Ci0JCQkJbXV0ZXhfdW5sb2NrKCZtZ3ItPnBheWxvYWRf bG9jayk7Ci0JCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJCS8qIFZhbGlkYXRlZCBwb3J0cyBkb24n dCBtYXR0ZXIgaWYgd2UncmUgcmVsZWFzaW5nCisJCQkgKiBWQ1BJCisJCQkgKi8KKwkJCWlmICh2 Y3BpLT5udW1fc2xvdHMpIHsKKwkJCQlwb3J0ID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9y dF92YWxpZGF0ZWQoCisJCQkJICAgIG1nciwgcG9ydCk7CisJCQkJaWYgKCFwb3J0KSB7CisJCQkJ CW11dGV4X3VubG9jaygmbWdyLT5wYXlsb2FkX2xvY2spOworCQkJCQlyZXR1cm4gLUVJTlZBTDsK KwkJCQl9CisJCQkJcHV0X3BvcnQgPSB0cnVlOwogCQkJfQorCiAJCQlyZXFfcGF5bG9hZC5udW1f c2xvdHMgPSB2Y3BpLT5udW1fc2xvdHM7CiAJCQlyZXFfcGF5bG9hZC52Y3BpID0gdmNwaS0+dmNw aTsKIAkJfSBlbHNlIHsKQEAgLTIzMDksNyArMjMxMSw3IEBAIGludCBkcm1fZHBfdXBkYXRlX3Bh eWxvYWRfcGFydDEoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpCiAJCX0KIAkJ Y3VyX3Nsb3RzICs9IHJlcV9wYXlsb2FkLm51bV9zbG90czsKIAotCQlpZiAocG9ydCkKKwkJaWYg KHB1dF9wb3J0KQogCQkJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydChwb3J0KTsKIAl9CiAK QEAgLTMxMjQsNiArMzEyNiw4IEBAIGJvb2wgZHJtX2RwX21zdF9hbGxvY2F0ZV92Y3BpKHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogCURSTV9ERUJVR19LTVMoImluaXRpbmcg dmNwaSBmb3IgcGJuPSVkIHNsb3RzPSVkXG4iLAogCQkgICAgICBwYm4sIHBvcnQtPnZjcGkubnVt X3Nsb3RzKTsKIAorCS8qIEtlZXAgcG9ydCBhbGxvY2F0ZWQgdW50aWwgaXQncyBwYXlsb2FkIGhh cyBiZWVuIHJlbW92ZWQgKi8KKwlkcm1fZHBfbXN0X2dldF9wb3J0X21hbGxvYyhwb3J0KTsKIAlk cm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9wb3J0KHBvcnQpOwogCXJldHVybiB0cnVlOwogb3V0OgpA QCAtMzE1MywxMSArMzE1NywxMiBAQCBFWFBPUlRfU1lNQk9MKGRybV9kcF9tc3RfZ2V0X3ZjcGlf c2xvdHMpOwogICovCiB2b2lkIGRybV9kcF9tc3RfcmVzZXRfdmNwaV9zbG90cyhzdHJ1Y3QgZHJt X2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwgc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCkK IHsKLQlwb3J0ID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdyLCBw b3J0KTsKLQlpZiAoIXBvcnQpCi0JCXJldHVybjsKKwkvKgorCSAqIEEgcG9ydCB3aXRoIFZDUEkg d2lsbCByZW1haW4gYWxsb2NhdGVkIHVudGlsIGl0J3MgVkNQSSBpcworCSAqIHJlbGVhc2VkLCBu byB2ZXJpZmllZCByZWYgbmVlZGVkCisJICovCisKIAlwb3J0LT52Y3BpLm51bV9zbG90cyA9IDA7 Ci0JZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydChwb3J0KTsKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX2RwX21zdF9yZXNldF92Y3BpX3Nsb3RzKTsKIApAQCAtMzE2OSwxNiArMzE3NCwxNyBAQCBF WFBPUlRfU1lNQk9MKGRybV9kcF9tc3RfcmVzZXRfdmNwaV9zbG90cyk7CiB2b2lkIGRybV9kcF9t c3RfZGVhbGxvY2F0ZV92Y3BpKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAog CQkJCXN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpCiB7Ci0JcG9ydCA9IGRybV9kcF9tc3Rf dG9wb2xvZ3lfZ2V0X3BvcnRfdmFsaWRhdGVkKG1nciwgcG9ydCk7Ci0JaWYgKCFwb3J0KQotCQly ZXR1cm47CisJLyoKKwkgKiBBIHBvcnQgd2l0aCBWQ1BJIHdpbGwgcmVtYWluIGFsbG9jYXRlZCB1 bnRpbCBpdCdzIFZDUEkgaXMKKwkgKiByZWxlYXNlZCwgbm8gdmVyaWZpZWQgcmVmIG5lZWRlZAor CSAqLwogCiAJZHJtX2RwX21zdF9wdXRfcGF5bG9hZF9pZChtZ3IsIHBvcnQtPnZjcGkudmNwaSk7 CiAJcG9ydC0+dmNwaS5udW1fc2xvdHMgPSAwOwogCXBvcnQtPnZjcGkucGJuID0gMDsKIAlwb3J0 LT52Y3BpLmFsaWduZWRfcGJuID0gMDsKIAlwb3J0LT52Y3BpLnZjcGkgPSAwOwotCWRybV9kcF9t c3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CisJZHJtX2RwX21zdF9wdXRfcG9ydF9tYWxsb2Mo cG9ydCk7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9kcF9tc3RfZGVhbGxvY2F0ZV92Y3BpKTsKIAot LSAKMi4xOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK