From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [AUTOSEL,4.4,15/33] USB: omap_udc: fix crashes on probe error and module removal From: Sasha Levin Message-Id: <20181205095131.7685-15-sashal@kernel.org> Date: Wed, 5 Dec 2018 04:51:13 -0500 To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Aaro Koskinen , Felipe Balbi , Sasha Levin , linux-usb@vger.kernel.org List-ID: RnJvbTogQWFybyBLb3NraW5lbiA8YWFyby5rb3NraW5lbkBpa2kuZmk+CgpbIFVwc3RyZWFtIGNv bW1pdCA5OWY3MDAzNjZmY2VhMWFhMmZhM2M0OWM5OWYzNzE2NzBjM2M2MmY4IF0KCldlIGN1cnJl bnRseSBjcmFzaCBpZiB1c2JfYWRkX2dhZGdldF91ZGNfcmVsZWFzZSgpIGZhaWxzLCBzaW5jZSB0 aGUKdWRjLT5kb25lIGlzIG5vdCBpbml0aWFsaXplZCB1bnRpbCBpbiB0aGUgcmVtb3ZlIGZ1bmN0 aW9uLgpGdXJ0aGVybW9yZSwgb24gbW9kdWxlIHJlbW92YWwgdGhlIHVkYyBkYXRhIGlzIGFjY2Vz c2VkIGFsdGhvdWdoCnRoZSByZWxlYXNlIGZ1bmN0aW9uIGlzIGFscmVhZHkgdHJpZ2dlcmVkIGJ5 IHVzYl9kZWxfZ2FkZ2V0X3VkYygpCmVhcmx5IGluIHRoZSBmdW5jdGlvbi4KCkZpeCBieSByZXdy aXRpbmcgdGhlIHJlbGVhc2UgYW5kIHJlbW92ZSBmdW5jdGlvbnMsIGJhc2ljYWxseSBtb3ZpbmcK YWxsIHRoZSBjbGVhbnVwIGludG8gdGhlIHJlbGVhc2UgZnVuY3Rpb24sIGFuZCBkb2luZyB0aGUg Y29tcGxldGlvbgpvbmx5IGluIHRoZSBtb2R1bGUgcmVtb3ZhbCBjYXNlLgoKVGhlIHBhdGNoIGZp eGVzIG9tYXBfdWRjIG1vZHVsZSBwcm9iZSB3aXRoIGEgZmFpbGluZyBnYWRnZWQsIGFuZCBhbHNv CmFsbG93cyB0aGUgcmVtb3ZhbCBvZiBvbWFwX3VkYy4gVGVzdGVkIGJ5IHJ1bm5pbmcgIm1vZHBy b2JlIG9tYXBfdWRjOwptb2Rwcm9iZSAtciBvbWFwX3VkYyIgaW4gYSBsb29wLgoKU2lnbmVkLW9m Zi1ieTogQWFybyBLb3NraW5lbiA8YWFyby5rb3NraW5lbkBpa2kuZmk+ClNpZ25lZC1vZmYtYnk6 IEZlbGlwZSBCYWxiaSA8ZmVsaXBlLmJhbGJpQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogU2FzaGEgTGV2aW4gPHNhc2hhbEBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvdXNiL2dhZGdl dC91ZGMvb21hcF91ZGMuYyB8IDUwICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvdWRjL29tYXBfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRn ZXQvdWRjL29tYXBfdWRjLmMKaW5kZXggYjI1ZWFjMmRjYWY4Li5kYTEwMzBmNjkxNDUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvb21hcF91ZGMuYworKysgYi9kcml2ZXJzL3Vz Yi9nYWRnZXQvdWRjL29tYXBfdWRjLmMKQEAgLTI2MTIsOSArMjYxMiwyMiBAQCBvbWFwX2VwX3Nl dHVwKGNoYXIgKm5hbWUsIHU4IGFkZHIsIHU4IHR5cGUsCiAKIHN0YXRpYyB2b2lkIG9tYXBfdWRj X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KQogewotCWNvbXBsZXRlKHVkYy0+ZG9uZSk7CisJ cHVsbHVwX2Rpc2FibGUodWRjKTsKKwlpZiAoIUlTX0VSUl9PUl9OVUxMKHVkYy0+dHJhbnNjZWl2 ZXIpKSB7CisJCXVzYl9wdXRfcGh5KHVkYy0+dHJhbnNjZWl2ZXIpOworCQl1ZGMtPnRyYW5zY2Vp dmVyID0gTlVMTDsKKwl9CisJb21hcF93cml0ZXcoMCwgVURDX1NZU0NPTjEpOworCXJlbW92ZV9w cm9jX2ZpbGUoKTsKKwlpZiAodWRjLT5kY19jbGspIHsKKwkJaWYgKHVkYy0+Y2xrX3JlcXVlc3Rl ZCkKKwkJCW9tYXBfdWRjX2VuYWJsZV9jbG9jaygwKTsKKwkJY2xrX3B1dCh1ZGMtPmhoY19jbGsp OworCQljbGtfcHV0KHVkYy0+ZGNfY2xrKTsKKwl9CisJaWYgKHVkYy0+ZG9uZSkKKwkJY29tcGxl dGUodWRjLT5kb25lKTsKIAlrZnJlZSh1ZGMpOwotCXVkYyA9IE5VTEw7CiB9CiAKIHN0YXRpYyBp bnQKQEAgLTI5MTksMTIgKzI5MzIsOCBAQCBzdGF0aWMgaW50IG9tYXBfdWRjX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJfQogCiAJY3JlYXRlX3Byb2NfZmlsZSgpOwotCXN0 YXR1cyA9IHVzYl9hZGRfZ2FkZ2V0X3VkY19yZWxlYXNlKCZwZGV2LT5kZXYsICZ1ZGMtPmdhZGdl dCwKLQkJCW9tYXBfdWRjX3JlbGVhc2UpOwotCWlmICghc3RhdHVzKQotCQlyZXR1cm4gMDsKLQot CXJlbW92ZV9wcm9jX2ZpbGUoKTsKKwlyZXR1cm4gdXNiX2FkZF9nYWRnZXRfdWRjX3JlbGVhc2Uo JnBkZXYtPmRldiwgJnVkYy0+Z2FkZ2V0LAorCQkJCQkgIG9tYXBfdWRjX3JlbGVhc2UpOwogCiBj bGVhbnVwMToKIAlrZnJlZSh1ZGMpOwpAQCAtMjk1MSwzNiArMjk2MCwxNSBAQCBzdGF0aWMgaW50 IG9tYXBfdWRjX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCURFQ0xB UkVfQ09NUExFVElPTl9PTlNUQUNLKGRvbmUpOwogCi0JaWYgKCF1ZGMpCi0JCXJldHVybiAtRU5P REVWOwotCi0JdXNiX2RlbF9nYWRnZXRfdWRjKCZ1ZGMtPmdhZGdldCk7Ci0JaWYgKHVkYy0+ZHJp dmVyKQotCQlyZXR1cm4gLUVCVVNZOwotCiAJdWRjLT5kb25lID0gJmRvbmU7CiAKLQlwdWxsdXBf ZGlzYWJsZSh1ZGMpOwotCWlmICghSVNfRVJSX09SX05VTEwodWRjLT50cmFuc2NlaXZlcikpIHsK LQkJdXNiX3B1dF9waHkodWRjLT50cmFuc2NlaXZlcik7Ci0JCXVkYy0+dHJhbnNjZWl2ZXIgPSBO VUxMOwotCX0KLQlvbWFwX3dyaXRldygwLCBVRENfU1lTQ09OMSk7Ci0KLQlyZW1vdmVfcHJvY19m aWxlKCk7CisJdXNiX2RlbF9nYWRnZXRfdWRjKCZ1ZGMtPmdhZGdldCk7CiAKLQlpZiAodWRjLT5k Y19jbGspIHsKLQkJaWYgKHVkYy0+Y2xrX3JlcXVlc3RlZCkKLQkJCW9tYXBfdWRjX2VuYWJsZV9j bG9jaygwKTsKLQkJY2xrX3B1dCh1ZGMtPmhoY19jbGspOwotCQljbGtfcHV0KHVkYy0+ZGNfY2xr KTsKLQl9CisJd2FpdF9mb3JfY29tcGxldGlvbigmZG9uZSk7CiAKIAlyZWxlYXNlX21lbV9yZWdp b24ocGRldi0+cmVzb3VyY2VbMF0uc3RhcnQsCiAJCQlwZGV2LT5yZXNvdXJjZVswXS5lbmQgLSBw ZGV2LT5yZXNvdXJjZVswXS5zdGFydCArIDEpOwogCi0Jd2FpdF9mb3JfY29tcGxldGlvbigmZG9u ZSk7Ci0KIAlyZXR1cm4gMDsKIH0KIAo=