From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Wilck Subject: Re: [PATCH v3 02/19] libmultipath: fix tur checker double locking Date: Mon, 01 Oct 2018 22:09:41 +0200 Message-ID: <3bad257069d68444b0b2743d4b38ba6b6d15501d.camel@suse.com> References: <1537571127-10143-1-git-send-email-bmarzins@redhat.com> <1537571127-10143-3-git-send-email-bmarzins@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1537571127-10143-3-git-send-email-bmarzins@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Benjamin Marzinski , device-mapper development Cc: Bart Van Assche List-Id: dm-devel.ids T24gRnJpLCAyMDE4LTA5LTIxIGF0IDE4OjA1IC0wNTAwLCBCZW5qYW1pbiBNYXJ6aW5za2kgd3Jv dGU6Cj4gdHVyX2RldnQoKSBsb2NrcyBjdC0+bG9jay4gSG93ZXZlciwgaXQgaXMgb2Nhc3Npb25h bGx5IGNhbGxlZCB3aGlsZQo+IGN0LT5sb2NrIGlzIGFscmVhZHkgbG9ja2VkLiBJbiByZWFsaXR5 LCB0aGVyZSBpcyBubyByZWFzb24gd2h5IHdlCj4gbmVlZAo+IHRvIGxvY2sgYWxsIHRoZSBhY2Nl c3NlcyB0byBjdC0+ZGV2dC4gVGhlIHR1ciBjaGVja2VyIG9ubHkgbmVlZHMgdG8KPiB3cml0ZSB0 byB0aGlzIHZhcmlhYmxlIG9uZSB0aW1lLCB3aGVuIGl0IGZpcnN0IGdldHMgdGhlIGZpbGUKPiBk ZXNjcmlwdGVyCj4gdGhhdCBpdCBpcyBjaGVja2luZy4gIEl0IGFsc28gbmV2ZXIgdXNlcyBjdC0+ ZGV2dCBkaXJlY3RseS4gSW5zdGVhZCwKPiBpdAo+IGFsd2F5cyBncmFwcyB0aGUgbWFqb3IgYW5k IG1pbm9yLCBhbmQgdHVybnMgdGhlbSBpbnRvIGEgc3RyaW5nLiBUaGlzCj4gcGF0Y2ggY2hhbmdl cyBjdC0+ZGV2dCBpbnRvIHRoYXQgc3RyaW5nLCBhbmQgc2V0cyBpdCBpbgo+IGxpYmNoZWNrX2lu aXQoKQo+IHdoZW4gaXQgaXMgZmlyc3QgaW5pdGlhbGl6aW5nIHRoZSBjaGVja2VyIGNvbnRleHQu IEFmdGVyIHRoYXQsIGN0LQo+ID5kZXZ0Cj4gaXMgb25seSBldmVyIHJlYWQuCgpJIGxpa2UgdGhl IGxvY2sgcmVtb3ZhbCBhIGxvdCwgYnV0IG5vdCBzbyBtdWNoIHRoZSBjb252ZXJzaW9uIGludG8g YQpzdHJpbmcuIFdoeSBub3Qga2VlcCB0aGUgZGV2X3Q/IAoKT3IgbWF5YmUgZXZlbiBlYXNpZXIs IHRoZSBvdGhlciB3YXkgYXJvdW5kOiB3aHkgZG9uJ3Qgd2UgbWFrZSBpdCBhCmNoYXIqIGFuZCBz aW1wbHkgc2V0IGNoZWNrZXItPmRldl90ID0gJnBwLT5kZXZfdD8KClJlZ2FyZHMsCk1hcnRpbgoK PiAKPiBDYzogQmFydCBWYW4gQXNzY2hlIDxiYXJ0LnZhbmFzc2NoZUB3ZGMuY29tPjQKPiBTaWdu ZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Cj4gLS0t Cj4gIGxpYm11bHRpcGF0aC9jaGVja2Vycy90dXIuYyB8IDU1ICsrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLQo+IC0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0 aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9j aGVja2Vycy90dXIuYwo+IGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3R1ci5jCj4gaW5kZXggMjc1 NTQxZi4uZDE3MzY0OCAxMDA2NDQKPiAtLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMK PiArKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMKPiBAQCAtMzcsMzYgKzM3LDI0IEBA Cj4gICNkZWZpbmUgTVNHX1RVUl9GQUlMRUQJInR1ciBjaGVja2VyIGZhaWxlZCB0byBpbml0aWFs aXplIgo+ICAKPiAgc3RydWN0IHR1cl9jaGVja2VyX2NvbnRleHQgewo+IC0JZGV2X3QgZGV2dDsK PiArCWNoYXIgZGV2dFszMl07Cj4gIAlpbnQgc3RhdGU7Cj4gLQlpbnQgcnVubmluZzsKPiArCWlu dCBydW5uaW5nOyAvKiB1YXRvbWljIGFjY2VzcyBvbmx5ICovCj4gIAlpbnQgZmQ7Cj4gIAl1bnNp Z25lZCBpbnQgdGltZW91dDsKPiAgCXRpbWVfdCB0aW1lOwo+ICAJcHRocmVhZF90IHRocmVhZDsK PiAgCXB0aHJlYWRfbXV0ZXhfdCBsb2NrOwo+ICAJcHRocmVhZF9jb25kX3QgYWN0aXZlOwo+IC0J aW50IGhvbGRlcnM7Cj4gKwlpbnQgaG9sZGVyczsgLyogdWF0b21pYyBhY2Nlc3Mgb25seSAqLwo+ ICAJY2hhciBtZXNzYWdlW0NIRUNLRVJfTVNHX0xFTl07Cj4gIH07Cj4gIAo+IC1zdGF0aWMgY29u c3QgY2hhciAqdHVyX2RldnQoY2hhciAqZGV2dF9idWYsIGludCBzaXplLAo+IC0JCQkgICAgc3Ry dWN0IHR1cl9jaGVja2VyX2NvbnRleHQgKmN0KQo+IC17Cj4gLQlkZXZfdCBkZXZ0Owo+IC0KPiAt CXB0aHJlYWRfbXV0ZXhfbG9jaygmY3QtPmxvY2spOwo+IC0JZGV2dCA9IGN0LT5kZXZ0Owo+IC0J cHRocmVhZF9tdXRleF91bmxvY2soJmN0LT5sb2NrKTsKPiAtCj4gLQlzbnByaW50ZihkZXZ0X2J1 Ziwgc2l6ZSwgIiVkOiVkIiwgbWFqb3IoZGV2dCksIG1pbm9yKGRldnQpKTsKPiAtCXJldHVybiBk ZXZ0X2J1ZjsKPiAtfQo+IC0KPiAgaW50IGxpYmNoZWNrX2luaXQgKHN0cnVjdCBjaGVja2VyICog YykKPiAgewo+ICAJc3RydWN0IHR1cl9jaGVja2VyX2NvbnRleHQgKmN0Owo+ICAJcHRocmVhZF9t dXRleGF0dHJfdCBhdHRyOwo+ICsJc3RydWN0IHN0YXQgc2I7Cj4gIAo+ICAJY3QgPSBtYWxsb2Mo c2l6ZW9mKHN0cnVjdCB0dXJfY2hlY2tlcl9jb250ZXh0KSk7Cj4gIAlpZiAoIWN0KQo+IEBAIC04 MSw2ICs2OSw5IEBAIGludCBsaWJjaGVja19pbml0IChzdHJ1Y3QgY2hlY2tlciAqIGMpCj4gIAlw dGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZhdHRyLCBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRSk7 Cj4gIAlwdGhyZWFkX211dGV4X2luaXQoJmN0LT5sb2NrLCAmYXR0cik7Cj4gIAlwdGhyZWFkX211 dGV4YXR0cl9kZXN0cm95KCZhdHRyKTsKPiArCWlmIChmc3RhdChjLT5mZCwgJnNiKSA9PSAwKQo+ ICsJCXNucHJpbnRmKGN0LT5kZXZ0LCBzaXplb2YoY3QtPmRldnQpLCAiJWQ6JWQiLAo+IG1ham9y KHNiLnN0X3JkZXYpLAo+ICsJCQkgbWlub3Ioc2Iuc3RfcmRldikpOwo+ICAJYy0+Y29udGV4dCA9 IGN0Owo+ICAKPiAgCXJldHVybiAwOwo+IEBAIC0yMzIsMTQgKzIyMywxMiBAQCBzdGF0aWMgdm9p ZCAqdHVyX3RocmVhZCh2b2lkICpjdHgpCj4gIHsKPiAgCXN0cnVjdCB0dXJfY2hlY2tlcl9jb250 ZXh0ICpjdCA9IGN0eDsKPiAgCWludCBzdGF0ZSwgcnVubmluZzsKPiAtCWNoYXIgZGV2dFszMl07 Cj4gIAo+ICAJLyogVGhpcyB0aHJlYWQgY2FuIGJlIGNhbmNlbGVkLCBzbyBzZXR1cCBjbGVhbiB1 cCAqLwo+ICAJdHVyX3RocmVhZF9jbGVhbnVwX3B1c2goY3QpOwo+ICAJcmN1X3JlZ2lzdGVyX3Ro cmVhZCgpOwo+ICAKPiAtCWNvbmRsb2coMywgIiVzOiB0dXIgY2hlY2tlciBzdGFydGluZyB1cCIs Cj4gLQkJdHVyX2RldnQoZGV2dCwgc2l6ZW9mKGRldnQpLCBjdCkpOwo+ICsJY29uZGxvZygzLCAi JXM6IHR1ciBjaGVja2VyIHN0YXJ0aW5nIHVwIiwgY3QtPmRldnQpOwo+ICAKPiAgCS8qIFRVUiBj aGVja2VyIHN0YXJ0IHVwICovCj4gIAlwdGhyZWFkX211dGV4X2xvY2soJmN0LT5sb2NrKTsKPiBA QCAtMjU2LDggKzI0NSw4IEBAIHN0YXRpYyB2b2lkICp0dXJfdGhyZWFkKHZvaWQgKmN0eCkKPiAg CXB0aHJlYWRfY29uZF9zaWduYWwoJmN0LT5hY3RpdmUpOwo+ICAJcHRocmVhZF9tdXRleF91bmxv Y2soJmN0LT5sb2NrKTsKPiAgCj4gLQljb25kbG9nKDMsICIlczogdHVyIGNoZWNrZXIgZmluaXNo ZWQsIHN0YXRlICVzIiwKPiAtCQl0dXJfZGV2dChkZXZ0LCBzaXplb2YoZGV2dCksIGN0KSwKPiBj aGVja2VyX3N0YXRlX25hbWUoc3RhdGUpKTsKPiArCWNvbmRsb2coMywgIiVzOiB0dXIgY2hlY2tl ciBmaW5pc2hlZCwgc3RhdGUgJXMiLCBjdC0+ZGV2dCwKPiArCQljaGVja2VyX3N0YXRlX25hbWUo c3RhdGUpKTsKPiAgCj4gIAlydW5uaW5nID0gdWF0b21pY194Y2hnKCZjdC0+cnVubmluZywgMCk7 Cj4gIAlpZiAoIXJ1bm5pbmcpCj4gQEAgLTMwNSwyMCArMjk0LDEyIEBAIGludCBsaWJjaGVja19j aGVjayhzdHJ1Y3QgY2hlY2tlciAqIGMpCj4gIHsKPiAgCXN0cnVjdCB0dXJfY2hlY2tlcl9jb250 ZXh0ICpjdCA9IGMtPmNvbnRleHQ7Cj4gIAlzdHJ1Y3QgdGltZXNwZWMgdHNwOwo+IC0Jc3RydWN0 IHN0YXQgc2I7Cj4gIAlwdGhyZWFkX2F0dHJfdCBhdHRyOwo+ICAJaW50IHR1cl9zdGF0dXMsIHI7 Cj4gLQljaGFyIGRldnRbMzJdOwo+ICAKPiAgCWlmICghY3QpCj4gIAkJcmV0dXJuIFBBVEhfVU5D SEVDS0VEOwo+ICAKPiAtCWlmIChmc3RhdChjLT5mZCwgJnNiKSA9PSAwKSB7Cj4gLQkJcHRocmVh ZF9tdXRleF9sb2NrKCZjdC0+bG9jayk7Cj4gLQkJY3QtPmRldnQgPSBzYi5zdF9yZGV2Owo+IC0J CXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Cj4gLQl9Cj4gLQo+ICAJaWYgKGMtPnN5 bmMpCj4gIAkJcmV0dXJuIHR1cl9jaGVjayhjLT5mZCwgYy0+dGltZW91dCwKPiBjb3B5X21zZ190 b19jaGVja2VyLCBjKTsKPiAgCj4gQEAgLTMyNyw4ICszMDgsNyBAQCBpbnQgbGliY2hlY2tfY2hl Y2soc3RydWN0IGNoZWNrZXIgKiBjKQo+ICAJICovCj4gIAlyID0gcHRocmVhZF9tdXRleF9sb2Nr KCZjdC0+bG9jayk7Cj4gIAlpZiAociAhPSAwKSB7Cj4gLQkJY29uZGxvZygyLCAiJXM6IHR1ciBt dXRleCBsb2NrIGZhaWxlZCB3aXRoICVkIiwKPiAtCQkJdHVyX2RldnQoZGV2dCwgc2l6ZW9mKGRl dnQpLCBjdCksIHIpOwo+ICsJCWNvbmRsb2coMiwgIiVzOiB0dXIgbXV0ZXggbG9jayBmYWlsZWQg d2l0aCAlZCIsIGN0LQo+ID5kZXZ0LCByKTsKPiAgCQlNU0coYywgTVNHX1RVUl9GQUlMRUQpOwo+ ICAJCXJldHVybiBQQVRIX1dJTEQ7Cj4gIAl9Cj4gQEAgLTMzOCwxNCArMzE4LDEyIEBAIGludCBs aWJjaGVja19jaGVjayhzdHJ1Y3QgY2hlY2tlciAqIGMpCj4gIAkJCWludCBydW5uaW5nID0gdWF0 b21pY194Y2hnKCZjdC0+cnVubmluZywgMCk7Cj4gIAkJCWlmIChydW5uaW5nKQo+ICAJCQkJcHRo cmVhZF9jYW5jZWwoY3QtPnRocmVhZCk7Cj4gLQkJCWNvbmRsb2coMywgIiVzOiB0dXIgY2hlY2tl ciB0aW1lb3V0IiwKPiAtCQkJCXR1cl9kZXZ0KGRldnQsIHNpemVvZihkZXZ0KSwgY3QpKTsKPiAr CQkJY29uZGxvZygzLCAiJXM6IHR1ciBjaGVja2VyIHRpbWVvdXQiLCBjdC0KPiA+ZGV2dCk7Cj4g IAkJCWN0LT50aHJlYWQgPSAwOwo+ICAJCQlNU0coYywgTVNHX1RVUl9USU1FT1VUKTsKPiAgCQkJ dHVyX3N0YXR1cyA9IFBBVEhfVElNRU9VVDsKPiAgCQl9IGVsc2UgaWYgKHVhdG9taWNfcmVhZCgm Y3QtPnJ1bm5pbmcpICE9IDApIHsKPiAtCQkJY29uZGxvZygzLCAiJXM6IHR1ciBjaGVja2VyIG5v dCBmaW5pc2hlZCIsCj4gLQkJCQkJdHVyX2RldnQoZGV2dCwgc2l6ZW9mKGRldnQpLAo+IGN0KSk7 Cj4gKwkJCWNvbmRsb2coMywgIiVzOiB0dXIgY2hlY2tlciBub3QgZmluaXNoZWQiLCBjdC0KPiA+ ZGV2dCk7Cj4gIAkJCXR1cl9zdGF0dXMgPSBQQVRIX1BFTkRJTkc7Cj4gIAkJfSBlbHNlIHsKPiAg CQkJLyogVFVSIGNoZWNrZXIgZG9uZSAqLwo+IEBAIC0zNjEsNyArMzM5LDcgQEAgaW50IGxpYmNo ZWNrX2NoZWNrKHN0cnVjdCBjaGVja2VyICogYykKPiAgCQkJaWYgKGN0LT5zdGF0ZSA9PSBQQVRI X1BFTkRJTkcpIHsKPiAgCQkJCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Cj4gIAkJ CQljb25kbG9nKDMsICIlczogdHVyIHRocmVhZCBub3QKPiByZXNwb25kaW5nIiwKPiAtCQkJCQl0 dXJfZGV2dChkZXZ0LCBzaXplb2YoZGV2dCksCj4gY3QpKTsKPiArCQkJCQljdC0+ZGV2dCk7Cj4g IAkJCQlyZXR1cm4gUEFUSF9USU1FT1VUOwo+ICAJCQl9Cj4gIAkJfQo+IEBAIC0zODEsNyArMzU5 LDcgQEAgaW50IGxpYmNoZWNrX2NoZWNrKHN0cnVjdCBjaGVja2VyICogYykKPiAgCQkJY3QtPnRo cmVhZCA9IDA7Cj4gIAkJCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Cj4gIAkJCWNv bmRsb2coMywgIiVzOiBmYWlsZWQgdG8gc3RhcnQgdHVyIHRocmVhZCwKPiB1c2luZyIKPiAtCQkJ CSIgc3luYyBtb2RlIiwgdHVyX2RldnQoZGV2dCwKPiBzaXplb2YoZGV2dCksIGN0KSk7Cj4gKwkJ CQkiIHN5bmMgbW9kZSIsIGN0LT5kZXZ0KTsKPiAgCQkJcmV0dXJuIHR1cl9jaGVjayhjLT5mZCwg Yy0+dGltZW91dCwKPiAgCQkJCQkgY29weV9tc2dfdG9fY2hlY2tlciwgYyk7Cj4gIAkJfQo+IEBA IC0zOTIsOCArMzcwLDcgQEAgaW50IGxpYmNoZWNrX2NoZWNrKHN0cnVjdCBjaGVja2VyICogYykK PiAgCQlwdGhyZWFkX211dGV4X3VubG9jaygmY3QtPmxvY2spOwo+ICAJCWlmICh1YXRvbWljX3Jl YWQoJmN0LT5ydW5uaW5nKSAhPSAwICYmCj4gIAkJICAgICh0dXJfc3RhdHVzID09IFBBVEhfUEVO RElORyB8fCB0dXJfc3RhdHVzID09Cj4gUEFUSF9VTkNIRUNLRUQpKSB7Cj4gLQkJCWNvbmRsb2co MywgIiVzOiB0dXIgY2hlY2tlciBzdGlsbCBydW5uaW5nIiwKPiAtCQkJCXR1cl9kZXZ0KGRldnQs IHNpemVvZihkZXZ0KSwgY3QpKTsKPiArCQkJY29uZGxvZygzLCAiJXM6IHR1ciBjaGVja2VyIHN0 aWxsIHJ1bm5pbmciLCBjdC0KPiA+ZGV2dCk7Cj4gIAkJCXR1cl9zdGF0dXMgPSBQQVRIX1BFTkRJ Tkc7Cj4gIAkJfSBlbHNlIHsKPiAgCQkJaW50IHJ1bm5pbmcgPSB1YXRvbWljX3hjaGcoJmN0LT5y dW5uaW5nLCAwKTsKCi0tIApEci4gTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+LCBUZWwu ICs0OSAoMCk5MTEgNzQwNTMgMjEwNwpTVVNFIExpbnV4IEdtYkgsIEdGOiBGZWxpeCBJbWVuZMO2 cmZmZXIsIEphbmUgU21pdGhhcmQsIEdyYWhhbSBOb3J0b24KSFJCIDIxMjg0IChBRyBOw7xybmJl cmcpCgoKLS0KZG0tZGV2ZWwgbWFpbGluZyBsaXN0CmRtLWRldmVsQHJlZGhhdC5jb20KaHR0cHM6 Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2RtLWRldmVs