From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= Subject: Re: [PATCH 4/6] libxl: Protect fds with CLOEXEC even with forking threads Date: Mon, 20 Feb 2012 13:01:48 +0100 Message-ID: References: <1329506127-30969-1-git-send-email-ian.jackson@eu.citrix.com> <1329506127-30969-5-git-send-email-ian.jackson@eu.citrix.com> <1329735330.3990.31.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1329735330.3990.31.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: "xen-devel@lists.xensource.com" , Ian Jackson List-Id: xen-devel@lists.xenproject.org MjAxMi8yLzIwIElhbiBDYW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5jb20+Ogo+IE9uIEZy aSwgMjAxMi0wMi0xNyBhdCAxOToxNSArMDAwMCwgSWFuIEphY2tzb24gd3JvdGU6Cj4+IFdlIGlu dHJvZHVjZSBhIG5ldyAiY2FyZWZkIiBjb25jZXB0LCB3aGljaCByZWxhdGVzIHRvIGZkcyB0aGF0 IHdlIGNhcmUKPj4gYWJvdXQgbm90IGJlaW5nIGluaGVyaXRlZCBieSBsb25nLWxpdmVkIGNoaWxk cmVuLgo+Pgo+PiBBcyB5ZXQgd2UgZG8gbm90IHVzZSB0aGlzIGFueXdoZXJlaW4gbGlieGwuIMKg VW50aWwgYWxsIGxvY2F0aW9ucyBpbgo+Cj4gImFueXdoZXJlaW4iCj4KPj4gbGlieGwgd2hpY2gg bWFrZSBzdWNoIGZkcyBhcmUgY29udmVydGVkLCBsaWJ4bF9fcG9zdGZvcmsgbWF5IG5vdCB3b3Jr Cj4+IGVudGlyZWx5IHByb3Blcmx5LiDCoElmIHRoZXNlIGxvY2F0aW9ucyBkbyBub3QgdXNlIE9f Q0xPRVhFQyAob3IgdXNlCj4+IGNhbGxzIGZvciB3aGljaCB0aGVyZSBpcyBubyBPX0NMT0VYRUMp IHRoZW4gbXVsdGl0aHJlYWRlZCBwcm9ncmFtcyBtYXkKPj4gbm90IHdvcmsgcHJvcGVybHkuCj4+ Cj4+IFRoaXMgaW50cm9kdWNlcyBhIG5ldyBBUEkgY2FsbCBsaWJ4bF9wb3N0Zm9ya19jaGlsZF9u b2V4ZWMgd2hpY2ggbXVzdAo+PiBiZSBjYWxsZWQgYnkgYXBwbGljYXRpb25zIHdoaWNoIG1ha2Ug bG9uZy1ydW5uaW5nIG5vbi1leGVjaW5nCj4+IGNoaWxkcmVuLiDCoEFkZCB0aGUgYXBwcm9wcmlh dGUgY2FsbCB0byB4bCdzIHBvc3Rmb3JrIGZ1bmN0aW9uLgo+Pgo+PiBPbiBMaW51eCBwdGhyZWFk X2F0Zm9yayBkZW1hbmRzIGNvbXBpbGF0aW9uIHdpdGggLXB0aHJlYWQsIHNvIGFkZAo+PiBQVEhS RUFEX0NGTEFHUywgX0xERkxBR1MsIF9MSUJTIHRvIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxl cyBpbiB0aGUKPj4gbGlieGwgTWFrZWZpbGUuIMKgSXQgaXMgbm90IGNsZWFyIHdoeSB3ZSBnb3Qg YXdheSB3aXRob3V0IHRoZXNlIGJlZm9yZS4KPgo+IFNpbmNlIEkgYXNzdW1lIHRoZSBNYWtlZmls ZSBiaXQgY291bGQgc2FmZWx5IGJlIHNwbGl0IG91dCBhbmQgYXBwbGllZCwKPiB0aGF0IGJpdCBp czoKPiBBY2tlZC1ieTogSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJlbGxAY2l0cml4LmNvbT4KPgo+ PiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZXZlbnQuaCBiL3Rvb2xzL2xpYnhsL2xp YnhsX2V2ZW50LmgKPj4gaW5kZXggZjg4OTExNS4uNzRhMDQwMiAxMDA2NDQKPj4gLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfZXZlbnQuaAo+PiArKysgYi90b29scy9saWJ4bC9saWJ4bF9ldmVudC5o Cj4+IEBAIC0zNjksNiArMzY5LDE2IEBAIHZvaWQgbGlieGxfb3NldmVudF9vY2N1cnJlZF9mZChs aWJ4bF9jdHggKmN0eCwgdm9pZCAqZm9yX2xpYnhsLAo+PiDCoCAqLwo+PiDCoHZvaWQgbGlieGxf b3NldmVudF9vY2N1cnJlZF90aW1lb3V0KGxpYnhsX2N0eCAqY3R4LCB2b2lkICpmb3JfbGlieGwp Owo+Pgo+PiArCj4+ICsvKgo+PiArICogQW4gYXBwbGljYXRpb24gd2hpY2ggaW5pdGlhbGlzZXMg YSBsaWJ4bF9jdHggaW4gYSBwYXJlbnQgcHJvY2Vzcwo+PiArICogYW5kIHRoZW4gZm9ya3MgYSBj aGlsZCB3aGljaCBkb2VzIG5vdCBxdWlja2x5IGV4ZWMsIG11c3QKPj4gKyAqIGluc3RlYWQgbGli eGxfX3Bvc3Rmb3JrX2NoaWxkX25vZXhlYyBpbiB0aGUgY2hpbGQuIMKgT25lIGNhbGwKPj4gKyAq IGZvciBhbGwgbGlieGwgY29udGV4dHMgaXMgc3VmZmljaWVudC4KPj4gKyAqLwo+PiArdm9pZCBs aWJ4bF9wb3N0Zm9ya19jaGlsZF9ub2V4ZWMobGlieGxfY3R4ICpjdHgpOwo+Cj4gSXMgdGhlIGN0 eCBwYXNzZWQgaGVyZSByZXF1aXJlZCB0byBiZSBvbmUgb2YgdGhlIGV4aXN0aW5nIGN0eCdzIG9y IGEKPiBuZXdseSBhbGxvY2F0ZWQgb25lIGluIHRoaXMgY29udGV4dD8KPgo+PiArCj4+ICsKPj4g wqAjZW5kaWYKPj4KPj4gwqAvKgo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZm9y ay5jIGIvdG9vbHMvbGlieGwvbGlieGxfZm9yay5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+ IGluZGV4IDAwMDAwMDAuLjY2ZDBlZTAKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi90b29scy9s aWJ4bC9saWJ4bF9mb3JrLmMKPj4gQEAgLTAsMCArMSwxNjcgQEAKPj4gKy8qCj4+ICsgKiBDb3B5 cmlnaHQgKEMpIDIwMTIgwqAgwqAgwqBDaXRyaXggTHRkLgo+PiArICoKPj4gKyAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Cj4+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKPj4gKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNwZWNpYWwKPj4gKyAqIGV4Y2Vw dGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0UuCj4+ICsgKgo+PiArICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+PiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiDCoFNlZSB0aGUKPj4gKyAqIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+PiArICovCj4+ICsvKgo+PiArICog SW50ZXJuYWwgY2hpbGQgcHJvY2VzcyBtYWNoaW5lcnkgZm9yIHVzZSBieSBvdGhlciBwYXJ0cyBv ZiBsaWJ4bAo+PiArICovCj4+ICsKPj4gKyNpbmNsdWRlICJsaWJ4bF9vc2RlcHMuaCIgLyogbXVz dCBjb21lIGJlZm9yZSBhbnkgb3RoZXIgaGVhZGVycyAqLwo+PiArCj4+ICsjaW5jbHVkZSAibGli eGxfaW50ZXJuYWwuaCIKPj4gKwo+PiArLyoKPj4gKyAqIGNhcmVmZCBhcnJhbmdlbWVudHMKPj4g KyAqCj4+ICsgKiBjYXJlZmRfYmVnaW4gYW5kIF91bmxvY2sgdGFrZSBvdXQgdGhlIG5vX2Zvcmtp bmcgbG9jaywgd2hpY2ggd2UKPj4gKyAqIGFsc28gdGFrZSBhbmQgcmVsZWFzZSBpbiBvdXIgcHRo cmVhZF9hdGZvcmsgaGFuZGxlcnMuIMKgU28gd2hlbiB0aGlzCj4+ICsgKiBsb2NrIGlzIGhlbGQg dGhlIHdob2xlIHByb2Nlc3MgY2Fubm90IGZvcmsuIMKgV2UgdGhlcmVmb3JlIHByb3RlY3QKPj4g KyAqIG91ciBmZHMgZnJvbSBsZWFraW5nIGludG8gY2hpbGRyZW4gbWFkZSBieSBvdGhlciB0aHJl YWRzLgo+PiArICoKPj4gKyAqIFdlIG1haW50YWluIGEgbGlzdCBvZiBhbGwgdGhlIGNhcmVmZHMs IHNvIHRoYXQgaWYgdGhlIGFwcGxpY2F0aW9uCj4+ICsgKiB3YW50cyB0byBmb3JrIGEgbG9uZy1y dW5uaW5nIGJ1dCBub24tZXhlY2luZyBjaGlsZCwgd2UgY2FuIGNsb3NlCj4+ICsgKiB0aGVtIGFs bC4KPj4gKyAqCj4+ICsgKiBTbyB0aGUgcmVjb3JkIGZ1bmN0aW9uIHNldHMgQ0xPRVhFQyBmb3Ig dGhlIGJlbmVmaXQgb2YgZXhlY2luZwo+PiArICogY2hpbGRyZW4sIGFuZCBtYWtlcyBhIG5vdGUg b2YgdGhlIGZkIGZvciB0aGUgYmVuZWZpdCBvZiBub24tZXhlY2luZwo+PiArICogb25lcy4KPj4g KyAqLwo+PiArCj4+ICtzdHJ1Y3QgbGlieGxfX2NhcmVmZCB7Cj4+ICsgwqAgwqBMSUJYTF9MSVNU X0VOVFJZKGxpYnhsX19jYXJlZmQpIGVudHJ5Owo+PiArIMKgIMKgaW50IGZkOwo+PiArfTsKPj4g Kwo+PiArc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBub19mb3JraW5nID0gUFRIUkVBRF9NVVRFWF9J TklUSUFMSVpFUjsKPgo+IFdlIHByZXZpb3VzbHkgaGFkIHRyb3VibGUgd2l0aCBQVEhSRUFEX1JF Q1VSU0lWRV9NVVRFWF9JTklUSUFMSVpFUl9OUAo+IG5vdCBiZWluZyBkZWZpbmVkIG9uIE5ldEJT RC4KPgo+IGh0dHA6Ly93d3cuZGFlbW9uLXN5c3RlbXMub3JnL21hbi9wdGhyZWFkX211dGV4X2lu aXQuMy5odG1sIHN1Z2dlc3RzCj4gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUiBpcyBidXQgcGVy aGFwcyB3ZSBzaG91bGQgY29uZmlybT8KCgpKdXN0IHRlc3RlZCBvbiBhIE5ldEJTRCBzeXN0ZW0s IGFuZCBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSIG1hY3JvIGlzIGFsbG93ZWQuCgo+PiArc3Rh dGljIGludCBhdGZvcmtfcmVnaXN0ZXJlZDsKPgo+IERvZXMgcHRocmVhZF9hdGZvcmsgcGVyc2lz dCBpbnRvIHRoZSBjaGlsZHJlbj8KPgo+IElmIHRoZSBwYXJlbnQgaGFzIHNldCB0aGlzIHRoZW4g aXQgd2lsbCBiZSBzZXQgZm9yIHRoZSBjaGlsZCB0b28sIHdoaWNoCj4gaWYgdGhlIGFuc3dlciB0 byBteSBxdWVzdGlvbiBpcyAiTm8iIGlzIGEgcHJvYmxlbS4KPgo+IEkgc3VzcGVjdCB0aGUgYW5z d2VyIGlzIHllcyB0aG91Z2guCj4KPj4gK3N0YXRpYyBMSUJYTF9MSVNUX0hFQUQoLCBsaWJ4bF9f Y2FyZWZkKSBjYXJlZmRzID0KPj4gKyDCoCDCoExJQlhMX0xJU1RfSEVBRF9JTklUSUFMSVpFUihj YXJlZmRzKTsKPj4gKwo+PiArc3RhdGljIHZvaWQgYXRmb3JrX2xvY2sodm9pZCkKPj4gK3sKPj4g KyDCoCDCoGludCByID0gcHRocmVhZF9tdXRleF9sb2NrKCZub19mb3JraW5nKTsKPj4gKyDCoCDC oGFzc2VydCghcik7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGF0Zm9ya191bmxvY2sodm9p ZCkKPj4gK3sKPj4gKyDCoCDCoGludCByID0gcHRocmVhZF9tdXRleF91bmxvY2soJm5vX2Zvcmtp bmcpOwo+PiArIMKgIMKgYXNzZXJ0KCFyKTsKPj4gK30KPj4gKwo+PiAraW50IGxpYnhsX19hdGZv cmtfaW5pdChsaWJ4bF9jdHggKmN0eCkKPj4gK3sKPj4gKyDCoCDCoGludCByLCByYzsKPj4gKwo+ PiArIMKgIMKgYXRmb3JrX2xvY2soKTsKPj4gKyDCoCDCoGlmIChhdGZvcmtfcmVnaXN0ZXJlZCkK Pgo+IE1pc3NpbmcgYW4gdW5sb2NrPwo+Cj4+ICsgwqAgwqAgwqAgwqByZXR1cm4gMDsKPj4gKwo+ PiArIMKgIMKgciA9IHB0aHJlYWRfYXRmb3JrKGF0Zm9ya19sb2NrLCBhdGZvcmtfdW5sb2NrLCBh dGZvcmtfdW5sb2NrKTsKPj4gKyDCoCDCoGlmIChyKSB7Cj4+ICsgwqAgwqAgwqAgwqBMSUJYTF9f TE9HX0VSUk5PKGN0eCwgTElCWExfX0xPR19FUlJPUiwgInB0aHJlYWRfYXRmb3JrIGZhaWxlZCIp Owo+PiArIMKgIMKgIMKgIMKgcmMgPSBFUlJPUl9OT01FTTsKPj4gKyDCoCDCoCDCoCDCoGdvdG8g b3V0Owo+PiArIMKgIMKgfQo+PiArCj4+ICsgwqAgwqBhdGZvcmtfcmVnaXN0ZXJlZCA9IDE7Cj4+ ICsgwqAgwqByYyA9IDA7Cj4+ICsgb3V0Ogo+PiArIMKgIMKgYXRmb3JrX3VubG9jaygpOwo+PiAr IMKgIMKgcmV0dXJuIHJjOwo+PiArfQo+PiArCj4+ICt2b2lkIGxpYnhsX19jYXJlZmRfYmVnaW4o dm9pZCkgeyBhdGZvcmtfbG9jaygpOyB9Cj4+ICt2b2lkIGxpYnhsX19jYXJlZmRfdW5sb2NrKHZv aWQpIHsgYXRmb3JrX3VubG9jaygpOyB9Cj4KPiBUaGlzIG5hbWluZyBzZWVtcyBhc3ltbWV0cmlj Lgo+Cj4gSWFuLgo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuc291 cmNlLmNvbQo+IGh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1kZXZlbAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuc291cmNlLmNvbQpodHRwOi8vbGlzdHMueGVuc291cmNl LmNvbS94ZW4tZGV2ZWwK