From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14622 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "zhaohang (F)" Newsgroups: gmane.linux.lib.musl.general Subject: Subject: [PATCH] pthread: Fix bug that pthread_create may cause priority inversion Date: Mon, 9 Sep 2019 13:57:36 +0000 Message-ID: <59FB1E003EF3A943BD6BAD197ABD4D6A2B5D55@dggemi524-mbx.china.huawei.com> Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="17072"; mail-complaints-to="usenet@blaine.gmane.org" To: "musl@lists.openwall.com" Original-X-From: musl-return-14638-gllmg-musl=m.gmane.org@lists.openwall.com Mon Sep 09 15:58:01 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1i7KB6-0004Ji-U3 for gllmg-musl@m.gmane.org; Mon, 09 Sep 2019 15:58:01 +0200 Original-Received: (qmail 30255 invoked by uid 550); 9 Sep 2019 13:57:56 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 30193 invoked from network); 9 Sep 2019 13:57:53 -0000 Thread-Topic: Subject: [PATCH] pthread: Fix bug that pthread_create may cause priority inversion Thread-Index: AdVnFPMwB+GeN3cJS3eBewveOiuWKw== Accept-Language: en-US Content-Language: zh-CN x-originating-ip: [10.177.224.64] X-CFilter-Loop: Reflected Xref: news.gmane.org gmane.linux.lib.musl.general:14622 Archived-At: VGhhbmtzIGZvciB5b3VyIHJlcGx5LiBNYXliZSB0aGlzIHBhdGNoIG1heSB3b3JrIGJ5IHN3aXRj aGluZyB0byBoYXZpbmcgdGhlIG5ldyB0aHJlYWQganVzdCB3YWl0IGZvciB0aGUgcGFyZW50IHRv IHRlbGwgaXQgd2hldGhlciBwcmlvcml0eSBzZXR1cCBzdWNjZWVkZWQuDQoNClN1YmplY3Q6IFtQ QVRDSF0gcHRocmVhZDogRml4IGJ1ZyB0aGF0IHB0aHJlYWRfY3JlYXRlIG1heSBjYXVzZSBwcmlv cml0eQ0KIGludmVyc2lvbg0KDQotLS0tLS0tLQ0KDQpJbiBwdGhyZWFkX2NyZWF0ZSwgY2FsbGVy IHdhaXQgZm9yIG5ldyB0aHJlYWQgdG8gc2V0IGl0cyBwcmlvLCBhbmQNCnRoZW4gbmV3IHRocmVh ZCB3YWtlIGNhbGxlciB1cC4gSXQgbWF5IGNhdXNlIHByaW9yaXR5IGludmVyc2lvbiB3aGVuDQpj YWxsZXIgd2FpdHMgZm9yIG5ldyB0aHJlYWQgYW5kIHRoZSBuZXcgdGhyZWFkIHdhaXRzIGZvciBh bm90aGVyIHRocmVhZA0Kd2hvc2UgcHJpbyBpcyBsb3dlciB0aGFuIGNhbGxlci4NCg0KSnVzdCBs ZXQgY2FsbGVyIHNldCBwcmlvIGFuZCBhZmZpbml0eSBvZiBuZXcgdGhyZWFkIHRvIGZpeCBpdC4N Cg0KU2lnbmVkLW9mZi1ieTogWmhhbyBIYW5nIDx6aGFvaGFuZzE0QGh1YXdlaS5jb20+DQotLS0N CiBzcmMvdGhyZWFkL3B0aHJlYWRfY3JlYXRlLmMgfCAyMyArKysrKysrKysrLS0tLS0tLS0tLS0t LQ0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCg0K ZGlmZiAtLWdpdCBhL3NyYy90aHJlYWQvcHRocmVhZF9jcmVhdGUuYyBiL3NyYy90aHJlYWQvcHRo cmVhZF9jcmVhdGUuYw0KaW5kZXggN2Q0ZGMyZS4uYWUwOGMwZiAxMDA2NDQNCi0tLSBhL3NyYy90 aHJlYWQvcHRocmVhZF9jcmVhdGUuYw0KKysrIGIvc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5j DQpAQCAtMTgxLDE1ICsxODEsOCBAQCBzdGF0aWMgaW50IHN0YXJ0KHZvaWQgKnApDQogew0KICAg ICAgICBzdHJ1Y3Qgc3RhcnRfYXJncyAqYXJncyA9IHA7DQogICAgICAgIGlmIChhcmdzLT5hdHRy KSB7DQotICAgICAgICAgICAgICAgcHRocmVhZF90IHNlbGYgPSBfX3B0aHJlYWRfc2VsZigpOw0K LSAgICAgICAgICAgICAgIGludCByZXQgPSAtX19zeXNjYWxsKFNZU19zY2hlZF9zZXRzY2hlZHVs ZXIsIHNlbGYtPnRpZCwNCi0gICAgICAgICAgICAgICAgICAgICAgIGFyZ3MtPmF0dHItPl9hX3Bv bGljeSwgJmFyZ3MtPmF0dHItPl9hX3ByaW8pOw0KLSAgICAgICAgICAgICAgIGlmIChhX3N3YXAo YXJncy0+cGVyciwgcmV0KT09LTIpDQotICAgICAgICAgICAgICAgICAgICAgICBfX3dha2UoYXJn cy0+cGVyciwgMSwgMSk7DQotICAgICAgICAgICAgICAgaWYgKHJldCkgew0KLSAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi0+ZGV0YWNoX3N0YXRlID0gRFRfREVUQUNIRUQ7DQotICAgICAgICAg ICAgICAgICAgICAgICBfX3B0aHJlYWRfZXhpdCgwKTsNCi0gICAgICAgICAgICAgICB9DQorICAg ICAgICAgICAgICAgaWYgKGFfY2FzKGFyZ3MtPnBlcnIsIC0xLCAtMikgPT0gLTEpDQorICAgICAg ICAgICAgICAgICAgICAgICBfX3dhaXQoYXJncy0+cGVyciwgMCwgLTIsIDEpOw0KICAgICAgICB9 DQogICAgICAgIF9fc3lzY2FsbChTWVNfcnRfc2lncHJvY21hc2ssIFNJR19TRVRNQVNLLCAmYXJn cy0+c2lnX21hc2ssIDAsIF9OU0lHLzgpOw0KICAgICAgICBfX3B0aHJlYWRfZXhpdChhcmdzLT5z dGFydF9mdW5jKGFyZ3MtPnN0YXJ0X2FyZykpOw0KQEAgLTM2NywxMCArMzYwLDE0IEBAIGludCBf X3B0aHJlYWRfY3JlYXRlKHB0aHJlYWRfdCAqcmVzdHJpY3QgcmVzLCBjb25zdCBwdGhyZWFkX2F0 dHJfdCAqcmVzdHJpY3QgYXR0DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoYXR0ci5fYV9zY2hl ZCkgew0KLSAgICAgICAgICAgICAgIGlmIChhX2NhcygmZXJyLCAtMSwgLTIpPT0tMSkNCi0gICAg ICAgICAgICAgICAgICAgICAgIF9fd2FpdCgmZXJyLCAwLCAtMiwgMSk7DQotICAgICAgICAgICAg ICAgcmV0ID0gZXJyOw0KLSAgICAgICAgICAgICAgIGlmIChyZXQpIHJldHVybiByZXQ7DQorICAg ICAgICAgICAgICAgcmV0ID0gLV9fc3lzY2FsbChTWVNfc2NoZWRfc2V0c2NoZWR1bGVyLCBuZXct PnRpZCwgYXR0ci5fYV9wb2xpY3ksICZhdHRyLl9hX3ByaW8pOw0KKyAgICAgICAgICAgICAgIGlm IChyZXQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgIG5ldy0+ZGV0YWNoX3N0YXRlID0gRFRf REVUQUNIRUQ7DQorICAgICAgICAgICAgICAgICAgICAgICBwdGhyZWFkX2NhbmNlbChuZXcpOw0K KyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCisgICAgICAgICAgICAgICB9DQor ICAgICAgICAgICAgICAgaWYgKGFfc3dhcCgmZXJyLCAwKSA9PSAtMikNCisgICAgICAgICAgICAg ICAgICAgICAgIF9fd2FrZSgmZXJyLCAxLCAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgICpyZXMg PSBuZXc7DQotLQ0KMi43LjQNCg0KLS0tLS3Tyrz+1K28/i0tLS0tDQq3orz+yMs6IFJpY2ggRmVs a2VyIFttYWlsdG86ZGFsaWFzQGFlcmlmYWwuY3hdILT6se0gUmljaCBGZWxrZXINCreiy83Ksbzk OiAyMDE5xOo51MI1yNUgMjE6MzQNCsrVvP7Iyzogemhhb2hhbmcgKEYpIDx6aGFvaGFuZzE0QGh1 YXdlaS5jb20+DQqzrcvNOiBtdXNsQGxpc3RzLm9wZW53YWxsLmNvbQ0K1vfM4jogUmU6IFttdXNs XSBzcmMvdGhyZWFkL3B0aHJlYWRfY3JlYXRlOiBXaHkgcHJpbyBvZiBjaGlsZCB0aHJlYWQgaXMg c2V0IGJ5IGhpbXNlbGYNCg0KT24gVGh1LCBTZXAgMDUsIDIwMTkgYXQgMDI6MTQ6MzZBTSArMDAw MCwgemhhb2hhbmcgKEYpIHdyb3RlOg0KPiBJbiB0aGUgZnVuY3Rpb24gcHRocmVhZF9jcmVhdGUs IGZhdGhlciB0aHJlYWQgd2lsbCB3YWl0IGNoaWxkIGlmIA0KPiBhdHRyLl9hX3NjaGVkIGlzIHNl dCwgYWZ0ZXIgU1lTX2Nsb25lIGlzIGZpbmlzaGVkLkNoaWxkIHRocmVhZCB3aWxsIA0KPiBzZXQg aGlzIHByaW8gaW4gZW50cnkgJ3N0YXJ0JywgYW5kIHRoZW4gd2FrZSBmYXRoZXIgdGhyZWFkIHRv IA0KPiBjb250aW51ZS4NCj4gDQo+IEJ1dCBjb25zaWRlciB0aGlzIGtpbmQgb2Ygc2l0dWF0aW9u LCB0aGVyZSBhcmUgdGhyZWUgdGhyZWFkczogQSB3aXRoIA0KPiBwcmlvIDUxLCBCIHdpdGggcHJp byAzMCwgYW5kIEMgd2l0aCBwcmlvIDIwIGNyZWF0ZWQgYnkgQSwgYW5kIHRoZXJlIGlzIA0KPiBv bmx5IHNpbXBsZXN0IHNjaGVkIHBvbGljeSAnRklGTycuDQo+IA0KPiBXaGVuIHN5c3RlbSBzdGFy dHMsIEEgaXMgcnVubmluZyBiZWNhdXNlIEEgaXMgaGlnaGVyIHRoYW4gQiwgdGhlbiBBIA0KPiB1 c2VzIHB0aHJlYWRfY3JlYXRlIHRvIGNyZWF0ZSBDLiBBZnRlciBDIGlzIGNsb25lZCwgQSB3YWl0 IGZvciBDIHRvIA0KPiBzZXQgcHJpbyBhbmQgd2FrZSBoaW0gdXAsIGJ1dCBhZnRlciBDIHNldCBo aXMgcHJpbyB0byAyMCwgQiB3aWxsIGJlIA0KPiBzY2hlZC4gQW5kIGlmIEIgd29uJ3QgZXhpdCwg QSBhbmQgQyB3aWxsIG5ldmVyIGdldCBzY2hlZCwgZXZlbiBpZiBBIGlzIA0KPiBoaWdoZXIgdGhh biBCLiBNYXliZSB0aGlzIGlzIGEga2luZCBvZiBwcmlvcml0eSBpbnZlcnNpb24uDQo+IA0KPiBT byB3aHkgcHJpbyBvZiBjaGlsZCBpcyBzZXQgYnkgaGltc2VsZiByYXRoZXIgdGhhbiBmYXRoZXI/ IElmIHByaW8gb2YgDQo+IGNoaWxkIGlzIHNldCBieSBmYXRoZXIsIHNvbWV0aGluZyB3aWxsIGdv IHdyb25nPyBPciBvdGhlciANCj4gY29uc2lkZXJhdGlvbnM/DQoNCkkgdGhpbmsgeW91J3JlIGNv cnJlY3QgaW4geW91ciBhbmFseXNpcyBvZiB0aGlzIHByb2JsZW07IEknbSBnb2luZyB0byBsb29r IGF0IGl0IG1vcmUgaW4gYSBiaXQgdG8gbWFrZSBzdXJlLg0KDQpPcmlnaW5hbGx5LCBwdGhyZWFk X2NyZWF0ZSAoaW4gdGhlIGNhbGxlcikgd2FzIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIHByaW9y aXR5OyB0aGlzIGNoYW5nZWQgaW4gYjg3NDJmMzI2MDJhZGQyNDNlZTJjZTc0ZDgwNDAxNTQ2Mzcy Njg5OSBhbmQgNDBiYWUyZDMyZmQ2ZjNmZmVhNDM3ZmE3NDVhZDM4YTFmZTc3YjI3ZSBhcyBwYXJ0 IG9mIHRyeWluZyB0byB0cmltIGRvd24gdGhlIHB0aHJlYWQgc3RydWN0dXJlIGFuZCBnZXQgaW5p dC10aW1lLW9ubHkganVuayBvdXQgb2YgaXQuDQpIb3dldmVyLCAwNDMzNWQ5MjYwYzA3NmNmNGQ5 MjY0YmQ5M2RkM2IwNmMyMzdhNjM5IGxhcmdlbHkgdW5kaWQgdGhhdCBhbHJlYWR5LCBhbmQgbW92 ZWQgdGhlIGV4dHJhIHN0YXJ0IGFyZ3MgdG8gYSBzdHJ1Y3Qgb24gdGhlIG5ldyB0aHJlYWQncyBz dGFjayBzbyB0aGF0IGl0IGRvZXNuJ3QgY29udHJpYnV0ZSB0byBzaXplL2NsdXR0ZXIgaW4gc3Ry dWN0IHB0aHJlYWQuIEl0IHNob3VsZCBiZSBlYXN5IHRvIHN3aXRjaCBiYWNrIHRvIGhhdmluZyB0 aGUgbmV3IHRocmVhZCBqdXN0IHdhaXQgZm9yIHRoZSBwYXJlbnQgdG8gdGVsbCBpdCB3aGV0aGVy IHByaW9yaXR5IHNldHVwIHN1Y2NlZWRlZC4NCg0KT25lIHJlbGF0ZWQgaXNzdWUgdGhpcyBhbHNv IHR1cm5lZCB1cCBpcyB0aGF0IGV4aXRpbmcgaW4gZGV0YWNoZWQgc3RhdGUgaXMgcHJvYmFibHkg YSBiYWQgaWRlYS4gRGVwZW5kaW5nIG9uIHByaW9yaXRpZXMsIHRoZSB0aHJlYWQgdGhhdCBmYWls ZWQgdG8gc3RhcnQgY291bGQgbGluZ2VyIGZvciBhIGxvbmcgdGltZSBhZnRlciBwdGhyZWFkX2Ny ZWF0ZSByZXR1cm5zLCBwb3RlbnRpYWxseSBjYXVzaW5nIHNwdXJpb3VzIHRyYW5zaWVudCByZXNv dXJjZSBleGhhdXN0aW9uIHdpdGggbm8gd2F5IHRvIHdhaXQgZm9yIGl0IHRvIHN1YnNpZGUuIEF0 IHNvbWUgcG9pbnQgd2Ugc2hvdWxkIHByb2JhYmx5IHN3aXRjaCBmcm9tIGZvcmNpbmcgZGV0YWNo ZWQgZXhpdCB0byBmb3JjaW5nIGpvaW5hYmxlIChvciBlcXVpdmFsZW50OyBmb3JjaW5nIGxpbmtp bmcgb2YgcHRocmVhZF9qb2luIGNvZGUgaXMgc29tZXdoYXQNCnVuZGVzaXJhYmxlKSBleGl0IHNv IHRoYXQgd2hlbiBhIGZhaWxlZCBwdGhyZWFkX2NyZWF0ZSByZXR1cm5zIGl0J3Mgbm90IGNvbnN1 bWluZyBhbnkga2VybmVsIHRhc2sgcmVzb3VyY2VzLg0KDQpUaGFua3MgZm9yIHRoZSByZXBvcnQu DQoNClJpY2gNCg==