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: USB: core: only clean up what we allocated From: Alan Stern Message-Id: Date: Tue, 12 Dec 2017 11:12:18 -0500 (EST) To: Andrey Konovalov Cc: Greg KH , USB list List-ID: T24gVHVlLCAxMiBEZWMgMjAxNywgQW5kcmV5IEtvbm92YWxvdiB3cm90ZToKCj4gT24gVHVlLCBE ZWMgMTIsIDIwMTcgYXQgNDo0MSBQTSwgQWxhbiBTdGVybiA8c3Rlcm5Acm93bGFuZC5oYXJ2YXJk LmVkdT4gd3JvdGU6Cj4gPiBPbiBNb24sIDExIERlYyAyMDE3LCBHcmVnIEtIIHdyb3RlOgo+ID4K PiA+PiBGcm9tOiBBbmRyZXkgS29ub3ZhbG92IDxhbmRyZXlrbnZsQGdvb2dsZS5jb20+Cj4gPj4K PiA+PiBXaGVuIGNsZWFuaW5nIHVwIHRoZSBjb25maWd1cmF0aW9ucywgbWFrZSBzdXJlIHdlIG9u bHkgZnJlZSB0aGUgbnVtYmVyCj4gPj4gb2YgY29uZmlndXJhdGlvbnMgYW5kIGludGVyZmFjZXMg dGhhdCB3ZSBjb3VsZCBoYXZlIGFsbG9jYXRlZC4KPiA+Pgo+ID4+IFJlcG9ydGVkLWJ5OiBBbmRy ZXkgS29ub3ZhbG92IDxhbmRyZXlrbnZsQGdvb2dsZS5jb20+Cj4gPj4gQ2M6IHN0YWJsZSA8c3Rh YmxlQHZnZXIua2VybmVsLm9yZz4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRt YW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL2NvcmUvY29uZmlnLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2NvbmZpZy5jCj4gPj4g aW5kZXggNTViMTk4YmE2MjliLi45M2IzODQ3MTc1NGUgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy91c2IvY29yZS9jb25maWcuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvY29uZmlnLmMK PiA+PiBAQCAtNzY0LDE4ICs3NjQsMjEgQEAgdm9pZCB1c2JfZGVzdHJveV9jb25maWd1cmF0aW9u KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpCj4gPj4gICAgICAgICAgICAgICByZXR1cm47Cj4gPj4K PiA+PiAgICAgICBpZiAoZGV2LT5yYXdkZXNjcmlwdG9ycykgewo+ID4+IC0gICAgICAgICAgICAg Zm9yIChpID0gMDsgaSA8IGRldi0+ZGVzY3JpcHRvci5iTnVtQ29uZmlndXJhdGlvbnM7IGkrKykK PiA+PiArICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkZXYtPmRlc2NyaXB0b3IuYk51bUNv bmZpZ3VyYXRpb25zICYmCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA8IFVT Ql9NQVhDT05GSUc7IGkrKykKPiA+PiAgICAgICAgICAgICAgICAgICAgICAga2ZyZWUoZGV2LT5y YXdkZXNjcmlwdG9yc1tpXSk7Cj4gPj4KPiA+PiAgICAgICAgICAgICAgIGtmcmVlKGRldi0+cmF3 ZGVzY3JpcHRvcnMpOwo+ID4+ICAgICAgICAgICAgICAgZGV2LT5yYXdkZXNjcmlwdG9ycyA9IE5V TEw7Cj4gPj4gICAgICAgfQo+ID4+Cj4gPj4gLSAgICAgZm9yIChjID0gMDsgYyA8IGRldi0+ZGVz Y3JpcHRvci5iTnVtQ29uZmlndXJhdGlvbnM7IGMrKykgewo+ID4+ICsgICAgIGZvciAoYyA9IDA7 IGMgPCBkZXYtPmRlc2NyaXB0b3IuYk51bUNvbmZpZ3VyYXRpb25zICYmCj4gPj4gKyAgICAgICAg ICAgICAgICAgICAgIGMgPCBVU0JfTUFYQ09ORklHOyBjKyspIHsKPiA+PiAgICAgICAgICAgICAg IHN0cnVjdCB1c2JfaG9zdF9jb25maWcgKmNmID0gJmRldi0+Y29uZmlnW2NdOwo+ID4+Cj4gPj4g ICAgICAgICAgICAgICBrZnJlZShjZi0+c3RyaW5nKTsKPiA+PiAtICAgICAgICAgICAgIGZvciAo aSA9IDA7IGkgPCBjZi0+ZGVzYy5iTnVtSW50ZXJmYWNlczsgaSsrKSB7Cj4gPj4gKyAgICAgICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgY2YtPmRlc2MuYk51bUludGVyZmFjZXMgJiYKPiA+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpIDwgVVNCX01BWElOVEVSRkFDRVM7IGkrKykgewo+ ID4+ICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2YtPmludGZfY2FjaGVbaV0pCj4gPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga3JlZl9wdXQoJmNmLT5pbnRmX2NhY2hlW2ldLT5y ZWYsCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9yZWxl YXNlX2ludGVyZmFjZV9jYWNoZSk7Cj4gPgo+ID4gTm9uZSBvZiB0aGVzZSBjaGFuZ2VzIGFyZSBu ZWNlc3NhcnkuICBUaGUgY29kZSBpcyBjYXJlZnVsIHRvIHJlZHVjZQo+ID4gZGV2LT5kZXNjcmlw dG9yLmJOdW1Db25maWd1cmF0aW9ucyBhbmQgY29uZmlnLT5kZXNjLmJOdW1JbnRlcmZhY2VzIHdo ZW4KPiA+IG5lY2Vzc2FyeS4KPiA+Cj4gPiBJbiB1c2JfZ2V0X2NvbmZpZ3VyYXRpb24oKSAobGlu ZSA4MDYgb24gbXkgc3lzdGVtKToKPiA+Cj4gPiAgICAgICAgIGlmIChuY2ZnID4gVVNCX01BWENP TkZJRykgewo+ID4gICAgICAgICAgICAgICAgIGRldl93YXJuKGRkZXYsICJ0b28gbWFueSBjb25m aWd1cmF0aW9uczogJWQsICIKPiA+ICAgICAgICAgICAgICAgICAgICAgInVzaW5nIG1heGltdW0g YWxsb3dlZDogJWRcbiIsIG5jZmcsIFVTQl9NQVhDT05GSUcpOwo+ID4gICAgICAgICAgICAgICAg IGRldi0+ZGVzY3JpcHRvci5iTnVtQ29uZmlndXJhdGlvbnMgPSBuY2ZnID0gVVNCX01BWENPTkZJ RzsKPiA+ICAgICAgICAgfQo+ID4KPiA+IEluIHVzYl9wYXJzZV9jb25maWd1cmF0aW9uKCkgKGxp bmUgNjc2IG9uIG15IHN5c3RlbSk6Cj4gPgo+ID4gICAgICAgICBpZiAobiAhPSBuaW50ZikKPiA+ ICAgICAgICAgICAgICAgICBkZXZfd2FybihkZGV2LCAiY29uZmlnICVkIGhhcyAlZCBpbnRlcmZh Y2UlcywgZGlmZmVyZW50IGZyb20gIgo+ID4gICAgICAgICAgICAgICAgICAgICAidGhlIGRlc2Ny aXB0b3IncyB2YWx1ZTogJWRcbiIsCj4gPiAgICAgICAgICAgICAgICAgICAgIGNmZ25vLCBuLCBw bHVyYWwobiksIG5pbnRmX29yaWcpOwo+ID4gICAgICAgICBlbHNlIGlmIChuID09IDApCj4gPiAg ICAgICAgICAgICAgICAgZGV2X3dhcm4oZGRldiwgImNvbmZpZyAlZCBoYXMgbm8gaW50ZXJmYWNl cz9cbiIsIGNmZ25vKTsKPiA+ICAgICAgICAgY29uZmlnLT5kZXNjLmJOdW1JbnRlcmZhY2VzID0g bmludGYgPSBuOwo+IAo+IHVzYl9wYXJzZV9jb25maWd1cmF0aW9uKCkgbWlnaHQgcmV0dXJuIGJl Zm9yZSByZWR1Y2luZwo+IGNvbmZpZy0+ZGVzYy5iTnVtSW50ZXJmYWNlcywgYW5kIHVzYl9kZXN0 cm95X2NvbmZpZ3VyYXRpb24oKSBpcyBzdGlsbAo+IGNhbGxlZCBpbiB0aGlzIGNhc2UuCgpUcnVl LiAgT2theSwgaG93IGFib3V0IHRoaXMgcGF0Y2ggaW5zdGVhZD8KCgpBbGFuIFN0ZXJuCi0tLQpU byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUg bGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2Vy bmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21h am9yZG9tby1pbmZvLmh0bWwKCkluZGV4OiB1c2ItNC54L2RyaXZlcnMvdXNiL2NvcmUvY29uZmln LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gdXNiLTQueC5vcmlnL2RyaXZlcnMvdXNiL2NvcmUvY29uZmlnLmMK KysrIHVzYi00LngvZHJpdmVycy91c2IvY29yZS9jb25maWcuYwpAQCAtNTU1LDYgKzU1NSw5IEBA IHN0YXRpYyBpbnQgdXNiX3BhcnNlX2NvbmZpZ3VyYXRpb24oc3RydWMKIAl1bnNpZ25lZCBpYWRf bnVtID0gMDsKIAogCW1lbWNweSgmY29uZmlnLT5kZXNjLCBidWZmZXIsIFVTQl9EVF9DT05GSUdf U0laRSk7CisJbmludGYgPSBuaW50Zl9vcmlnID0gY29uZmlnLT5kZXNjLmJOdW1JbnRlcmZhY2Vz OworCWNvbmZpZy0+ZGVzYy5iTnVtSW50ZXJmYWNlcyA9IDA7CS8vIEFkanVzdGVkIGxhdGVyCisK IAlpZiAoY29uZmlnLT5kZXNjLmJEZXNjcmlwdG9yVHlwZSAhPSBVU0JfRFRfQ09ORklHIHx8CiAJ ICAgIGNvbmZpZy0+ZGVzYy5iTGVuZ3RoIDwgVVNCX0RUX0NPTkZJR19TSVpFIHx8CiAJICAgIGNv bmZpZy0+ZGVzYy5iTGVuZ3RoID4gc2l6ZSkgewpAQCAtNTY4LDcgKzU3MSw2IEBAIHN0YXRpYyBp bnQgdXNiX3BhcnNlX2NvbmZpZ3VyYXRpb24oc3RydWMKIAlidWZmZXIgKz0gY29uZmlnLT5kZXNj LmJMZW5ndGg7CiAJc2l6ZSAtPSBjb25maWctPmRlc2MuYkxlbmd0aDsKIAotCW5pbnRmID0gbmlu dGZfb3JpZyA9IGNvbmZpZy0+ZGVzYy5iTnVtSW50ZXJmYWNlczsKIAlpZiAobmludGYgPiBVU0Jf TUFYSU5URVJGQUNFUykgewogCQlkZXZfd2FybihkZGV2LCAiY29uZmlnICVkIGhhcyB0b28gbWFu eSBpbnRlcmZhY2VzOiAlZCwgIgogCQkgICAgInVzaW5nIG1heGltdW0gYWxsb3dlZDogJWRcbiIs Cg==