From: "Dan Magenheimer" Subject: RE: [PATCH] balloon: selfballooning and post memory info via xenbus Date: Wed, 7 May 2008 19:04:08 -0600 Message-ID: <20080507190408812.00000003448@djm-pc> References: <20080505164456890.00000003448@djm-pc> Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------3e8120143e812014 Return-path: In-Reply-To: <20080505164456890.00000003448@djm-pc> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Xen-Devel (E-mail)" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------3e8120143e812014 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 QXdmdWxseSBxdWlldCBvdXQgdGhlcmUuLi4gY29tbWVudHMgcGxlYXNlPw0KDQpIZXJlJ3Mg YSBzZWNvbmQgdmVyc2lvbi4gIFRoaXMgb25lIGFkZHMgaHlzdGVyZXNpcywgYm90aA0KInVw IiBhbmQgImRvd24iLg0KDQpUaGlzIHNtb290aHMgY2hhbmdlcyBpbiBiYWxsb29uIHNpemUg dG8gYmV0dGVyIGFjY29tb2RhdGUNCnNwaWt5IG9yIHNpbmUtd2F2ZS1pc2ggbWVtb3J5IGxv YWRzLg0KDQpJdCBjYW4gYWxzbyBiZSB1c2VkIGFzIGEgcnVkaW1lbnRhcnkgUW9TIGRldmlj ZSB0byBtb2RpZnkNCnRoZSAiZWFnZXJuZXNzIiBvZiBzb21lIGRvbWFpbnMgaW4gYXR0ZW1w dGluZyB0byBpbmNyZWFzZQ0Kb3IgZGVjcmVhc2UgbWVtb3J5Lg0KDQpCeSBzZXR0aW5nIGRv d25oeXN0ZXJlc2lzICh3aGVuDQpzZWxmYmFsbG9vbmluZykgdG8gYSB2YWx1ZSBvZiBuIGJl dHdlZW4gMiBhbmQgOTksDQptZW1vcnkgd2lsbCBiZSByZWR1Y2VkIGJ5IChjdXJyZW50IC0g c2VsZnRhcmdldCkvbg0KZXZlcnkgc2Vjb25kIHdoZW5ldmVyIGN1cnJlbnQgPiBzZWxmdGFy Z2V0LiAgQnkNCnNldHRpbmcgdXBoeXN0ZXJlc2lzICh3aGVuIHNlbGZiYWxsb29uaW5nKSB0 byBhIHZhbHVlDQpvZiBuIGJldHdlZW4gMiBhbmQgOTksIG1lbW9yeSB3aWxsIGJlIGluY3Jl YXNlZCBieQ0KKGN1cnJlbnQgLSBzZWxmdGFyZ2V0KS9uIGV2ZXJ5IHNlY29uZCB3aGVuZXZl cg0KY3VycmVudCA8IHNlbGZ0YXJnZXQuICBCb3RoIGRlZmF1bHQgb2ZmLiAgSXQgaXMNCmV4 cGVjdGVkIHRoYXQgZG93bmh5c3RlcmlzaXMgd2lsbCBvZnRlbiBiZSBhIGxhcmdpc2gNCnZh bHVlIGFuZCB1cGh5c3RlcmVzaXMgd2lsbCBvZnRlbiBiZSBhIHNtYWxsaXNoIHZhbHVlLA0K c28gYXMgdG8gcmVzcG9uZCByYXBpZGx5IHRvIGluY3JlYXNlcyBpbiBtZW1vcnkgdXNhZ2UN CmFuZCBtb3JlIGdyYWR1YWxseSB0byBkZWNyZWFzZXMgaW4gbWVtb3J5IHVzYWdlLCB3aGlj aA0KaXMgYXMgZGVzaXJlZC4NCg0KRGFuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogeGVuLWRldmVsLWJvdW5jZXNAbGlzdHMueGVuc291cmNlLmNvbQ0KPiBb bWFpbHRvOnhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnNvdXJjZS5jb21dT24gQmVoYWxm IE9mIERhbg0KPiBNYWdlbmhlaW1lcg0KPiBTZW50OiBNb25kYXksIE1heSAwNSwgMjAwOCA0 OjQ1IFBNDQo+IFRvOiBYZW4tRGV2ZWwgKEUtbWFpbCkNCj4gU3ViamVjdDogW1hlbi1kZXZl bF0gW1BBVENIXSBiYWxsb29uOiBzZWxmYmFsbG9vbmluZyBhbmQgcG9zdCBtZW1vcnkNCj4g aW5mbyB2aWEgeGVuYnVzDQo+IA0KPiANCj4gT0ssIGhlcmUncyB0aGUgcHJvbWlzZWQgcGF0 Y2guICBUaGUgb3ZlcmFsbCBvYmplY3RpdmUgb2YgdGhlDQo+IHBhdGNoIGlzIHRvIGVuYWJs ZSBsaW1pdGVkIG1lbW9yeSBsb2FkLWJhbGFuY2luZyBjYXBhYmlsaXRpZXMNCj4gYXMgYSBz dGVwIHRvd2FyZCBhbGxvd2luZyBsaW1pdGVkIG1lbW9yeSBvdmVyY29tbWl0LiAgV2l0aA0K PiB0aGlzIGFuZCBzb21lIG90aGVyIG1pbm9yIGhhY2tlcnksIEkgd2FzIGFibGUgdG8gcnVu IGFzDQo+IG1hbnkgYXMgMTUgbGlnaHRseSBsb2FkZWQgNTEyTUIgZG9tYWlucyBvbiBhIDJH QiBzeXN0ZW0NCj4gKHllcywgdmVlcnJycnl5eSBzbG9vb3d3d2xseSkuDQo+IA0KPiBSZXZp ZXcvY29tbWVudHMgYXBwcmVjaWF0ZWQuDQo+IA0KPiBXaXRoIHRoaXMgcGF0Y2gsIGJhbGxv b24uYyBjb21tdW5pY2F0ZXMgKGxpbWl0ZWQpIHVzZWZ1bA0KPiBtZW1vcnkgdXNhZ2UgaW5m b3JtYXRpb24gdmlhIHhlbmJ1cy4gIEl0IGFsc28gaW1wbGVtZW50cw0KPiAic2VsZmJhbGxv b25pbmciIHdoaWNoIGFwcGxpZXMgdGhlIG1lbW9yeSBpbmZvcm1hdGlvbg0KPiBsb2NhbGx5 IHRvIGltbWVkaWF0ZWx5IGFkanVzdCB0aGUgYmFsbG9vbiwgZ2l2aW5nIHVwIG1lbW9yeQ0K PiB3aGVuIGl0IGlzIG5vdCBuZWVkZWQgYW5kIGFza2luZyBmb3IgaXQgYmFjayB3aGVuIGl0 IGlzIG5lZWRlZCwNCj4gaW1wbGVtZW50aW5nIGEgZmlyc3QtY29tZS1maXJzdC1zZXJ2ZWQg c3lzdGVtLXdpZGUgYmFsbG9vbmluZw0KPiAicG9saWN5Ii4gIFdoZW4gYSBkb21haW4gYXNr cyBmb3IgbWVtb3J5IGJ1dCBub25lIGlzIGF2YWlsYWJsZSwNCj4gaXQgbXVzdCB1c2UgaXRz IG93biBjb25maWd1cmVkIHN3YXAgZGlzaywgcmVzdWx0aW5nIGluDQo+IChwb3RlbnRpYWxs eSBzZXZlcmUpIHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uLiAgTmF0dXJhbGx5LA0KPiBpdCBp cyBub3QgcmVjb21tZW5kZWQgdG8gdHVybiBvbiBzZWxmYmFsbG9vbmluZyBpbiBhIGRvbWFp bg0KPiB0aGF0IGhhcyBubyBzd2FwIGRpc2sgb3IgaWYgcGVyZm9ybWFuY2UgaXMgbW9yZSBp bXBvcnRhbnQNCj4gdGhhbiBpbmNyZWFzaW5nIHRoZSBudW1iZXIgb2YgVk1zIHJ1bm5hYmxl IG9uIGEgcGh5c2ljYWwgbWFjaGluZS4NCj4gDQo+IEEga2V5IGFzc3VtcHRpb24gaXMgdGhh dCB0aGUgTGludXggdmFyaWFibGUgdm1fY29tbWl0dGVkX3NwYWNlDQo+IGlzIGEgcmVhc29u YWJsZSBmaXJzdCBhcHByb3hpbWF0aW9uIG9mIG1lbW9yeSBuZWVkZWQgYnkgYSBkb21haW4u DQo+IFRoaXMgYXBwcm94aW1hdGlvbiB3aWxsIHByb2JhYmx5IGltcHJvdmUgb3ZlciB0aW1l LCBidXQgaXMNCj4gYSBnb29kIHN0YXJ0IGZvciBub3cuICBUaGUgdmFyaWFibGUgaXMgYm91 bmQgb24gdGhlIGxvd2VyIGVuZA0KPiBieSB0aGUgcmVjZW50bHkgc3VibWl0dGVkIG1pbmlt dW1fdGFyZ2V0KCkgYWxnb3JpdGhtIHBhdGNoOw0KPiB0aHVzIE8tTy1NIGNvbmRpdGlvbnMg c2hvdWxkIG5vdCBvY2N1ci4NCj4gDQo+IFRoZSBjb2RlIGlzIGEgYml0IGNvbXBsaWNhdGVk IGluIGEgY291cGxlIG9mIHBsYWNlcyBiZWNhdXNlIG9mDQo+IHJhY2UgY29uZGl0aW9ucyBp bnZvbHZpbmcgeGVuc3RvcmVkIHN0YXJ0dXAgcmVsYXRpdmUgdG8NCj4gdHVybmluZyBvbiBz ZWxmYmFsbG9vbmluZyBsb2NhbGx5LiAgQmVjYXVzZSB0aGUga2V5IHZhcmlhYmxlDQo+ICh2 bV9jb21taXR0ZWRfc3BhY2UpIGlzIG5vdCBleHBvcnRlZCBieSBMaW51eCwgSSBpbXBsZW1l bnRlZA0KPiBhIGhvcnJpYmxlIGhhY2sgd2hpY2ggc3RpbGwgYWxsb3dzIHRoZSBjb2RlIHRv IHdvcmsgaW4gYQ0KPiBtb2R1bGUsIGhvd2V2ZXIgSSBmdWxseSBleHBlY3QgdGhhdCB0aGlz IHBhcnQgb2YgdGhlIHBhdGNoDQo+IHdpbGwgbm90IGJlIGFjY2VwdGVkICh3aGljaCB3aWxs IGxpbWl0IHRoZSBmdW5jdGlvbmFsaXR5IHRvDQo+IHB2bSBkb21haW5zIG9ubHkuLi4gcHJv YmFibHkgT0sgZm9yIG5vdykuDQo+IA0KPiBFeGlzdGluZyBiYWxsb29uIGZ1bmN0aW9uYWxp dHkgd2hpY2ggaXMgdW5jaGFuZ2VkOg0KPiAtIFNldCB0YXJnZXQgZm9yIFZNIGZyb20gZG9t YWluMA0KPiAtIFNldCB0YXJnZXQgaW5zaWRlIFZNIGJ5IHdyaXRpbmcgdG8gL3Byb2MveGVu L2JhbGxvb24NCj4gRXhpc3RpbmcgYmFsbG9vbiBpbmZvIG9uIHhlbmJ1cyB3aGljaCBpcyB1 bmNoYW5nZWQ6DQo+IC0gL2xvY2FsL2RvbWFpbi9YL21lbW9yeS90YXJnZXQNCj4gVG8gdHVy biBvbiBzZWxmYmFsbG9vbmluZzoNCj4gLSBJbnNpZGUgYSBWTTogImVjaG8gMSA+IC9wcm9j L3hlbi9iYWxsb29uIg0KPiAtIEZyb20gZG9tYWluMDogInhlbnN0b3JlLXdyaXRlIC9sb2Nh bC9kb21haW4vWC9tZW1vcnkvc2VsZmJhbGxvb24gMSINCj4gVG8gdHVybiBvZmYgc2VsZmJh bGxvb25pbmc6DQo+IC0gSW5zaWRlIGEgVk06ICJlY2hvIDAgPiAvcHJvYy94ZW4vYmFsbG9v biINCj4gLSBGcm9tIGRvbWFpbjA6ICJ4ZW5zdG9yZS13cml0ZSAvbG9jYWwvZG9tYWluL1gv bWVtb3J5L3NlbGZiYWxsb29uIDAiDQo+IE5ldyBiYWxsb29uIGluZm8gbm93IG9uIHhlbmJ1 czoNCj4gLSAvbG9jYWwvZG9tYWluL1gvbWVtb3J5L3NlbGZiYWxsb29uIFswIG9yIDFdDQo+ IC0gL2xvY2FsL2RvbWFpbi9YL21lbW9yeS9hY3R1YWwgW2tCXSAqDQo+IC0gL2xvY2FsL2Rv bWFpbi9YL21lbW9yeS9taW5pbXVtIFtrQl0gKg0KPiAtIC9sb2NhbC9kb21haW4vWC9tZW1v cnkvc2VsZnRhcmdldCBba0JdICogKG9ubHkgdmFsaWQgaWYNCj4gICBzZWxmYmFsbG9vbj09 MSkNCj4gICogd3JpdGVhYmxlIG9ubHkgYnkgYmFsbG9vbiBkcml2ZXIgaW4gWCB3aGVuIGVp dGhlcg0KPiAgICBzZWxmYmFsbG9vbmluZyBpcyBmaXJzdCBlbmFibGVkLCBvciB0YXJnZXQg aXMgY2hhbmdlZA0KPiAgICBieSBkb21haW4wDQo+IA0KPiBUaGFua3MsDQo+IERhbg0KPiAN Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gVGhhbmtzLi4uIGZv ciB0aGUgbWVtb3J5DQo+IEkgcmVhbGx5IGNvdWxkIHVzZSBtb3JlIC8gTXkgdGhyb3VnaHB1 dCdzIG9uIHRoZSBmbG9vcg0KPiBUaGUgYmFsbG9vbiBpcyBmbGF0IC8gTXkgc3dhcCBkaXNr J3MgZmF0IC8gSSd2ZSBPT00ncyBpbiBzdG9yZQ0KPiBPdmVyY29tbWl0dGVkIHNvIG11Y2gN Cj4gKHdpdGggYXBvbG9naWVzIHRvIHRoZSBsYXRlIGdyZWF0IEJvYiBIb3BlKQ0KPiA= ---------3e8120143e812014 Content-Type: application/octet-stream; name="balloon2.patch" Content-Disposition: attachment; filename="balloon2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciBlMzljZjk3NjQ3YWYgZHJpdmVycy94ZW4vYmFsbG9vbi9iYWxsb29uLmMKLS0t IGEvZHJpdmVycy94ZW4vYmFsbG9vbi9iYWxsb29uLmMJTW9uIE1heSAwNSAxMDoxNzo0MSAy MDA4ICswMTAwCisrKyBiL2RyaXZlcnMveGVuL2JhbGxvb24vYmFsbG9vbi5jCVdlZCBNYXkg MDcgMTg6MDQ6MTQgMjAwOCAtMDYwMApAQCAtNiw2ICs2LDcgQEAKICAqIENvcHlyaWdodCAo YykgMjAwMywgQiBEcmFnb3ZpYwogICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDQsIE0gV2ls bGlhbXNvbiwgSyBGcmFzZXIKICAqIENvcHlyaWdodCAoYykgMjAwNSBEYW4gTS4gU21pdGgs IElCTSBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDA4IERhbiBNYWdlbmhlaW1l ciwgT3JhY2xlIENvcnAgKGFkZGVkIHNlbGYtYmFsbG9vbmluZykKICAqIAogICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCkBAIC03OCwxOSArNzksMzYgQEAgREVGSU5FX1NQSU5M T0NLKGJhbGxvb25fbG9jayk7CiAKIHN0cnVjdCBiYWxsb29uX3N0YXRzIGJhbGxvb25fc3Rh dHM7CiAKKy8qCisgKiB1c2Ugdm1fY29tbWl0dGVkX3NwYWNlIGFzIGFuIGFwcHJveGltYXRp b24gZm9yIGJhbGxvb24gdGFyZ2V0LCByZXBlYXRpbmcKKyAqIGV2ZXJ5IHNlY29uZC4gIERp c2FibGVkIGlmIGNvbXBpbGVkIGFzIE1PRFVMRSBiZWNhdXNlIGtlcm5lbCBkb2Vzbid0Cisg KiBjdXJyZW50bHkgZXhwb3J0IHZtX2NvbW1pdHRlZF9zcGFjZQorICovCitzdGF0aWMgaW50 IHNlbGZiYWxsb29uID0gMDsKKwogLyogV2UgaW5jcmVhc2UvZGVjcmVhc2UgaW4gYmF0Y2hl cyB3aGljaCBmaXQgaW4gYSBwYWdlICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBmcmFtZV9s aXN0W1BBR0VfU0laRSAvIHNpemVvZih1bnNpZ25lZCBsb25nKV07CiAKIC8qIFZNIC9wcm9j IGluZm9ybWF0aW9uIGZvciBtZW1vcnkgKi8KIGV4dGVybiB1bnNpZ25lZCBsb25nIHRvdGFs cmFtX3BhZ2VzOwogCisvKiBoeXN0ZXJlc2lzIHRvIGNvbnRyb2wgcmF0ZSBvZiBpbmNyZWFz ZS9kZWNyZWFzZSAqLwordW5zaWduZWQgaW50IGRvd25faHlzdGVyID0gMDsKK3Vuc2lnbmVk IGludCB1cF9oeXN0ZXIgPSAwOworCisvKiBhdm9pZCBwb3NzaWJsZSB3cml0ZV9wcm9jIHJh Y2Ugd2l0aCB4ZW5zdG9yZWQgc3RhcnR1cCAqLworc3RhdGljIGludCB4ZW5zdG9yZWRfcmVh ZHkgPSAwOworCiAjaWZuZGVmIE1PRFVMRQogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdG90YWxo aWdoX3BhZ2VzOworZXh0ZXJuIGF0b21pY190IHZtX2NvbW1pdHRlZF9zcGFjZTsKICNkZWZp bmUgaW5jX3RvdGFsaGlnaF9wYWdlcygpICh0b3RhbGhpZ2hfcGFnZXMrKykKICNkZWZpbmUg ZGVjX3RvdGFsaGlnaF9wYWdlcygpICh0b3RhbGhpZ2hfcGFnZXMtLSkKICNlbHNlCiAjZGVm aW5lIGluY190b3RhbGhpZ2hfcGFnZXMoKSAoKHZvaWQpMCkKICNkZWZpbmUgZGVjX3RvdGFs aGlnaF9wYWdlcygpICgodm9pZCkwKQorI3VuZGVmIGF0b21pY19yZWFkCisjZGVmaW5lIGF0 b21pY19yZWFkKHgpICgwKQogI2VuZGlmCiAKIC8qIExpc3Qgb2YgYmFsbG9vbmVkIHBhZ2Vz LCB0aHJlYWRlZCB0aHJvdWdoIHRoZSBtZW1fbWFwIGFycmF5LiAqLwpAQCAtMTE5LDYgKzEz Nyw1OCBAQCBzdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgYmFsbG9vbl90aW1lcjsKIAlwcmlu dGsoS0VSTl9JTkZPICJ4ZW5fbWVtOiAiIGZtdCwgIyNhcmdzKQogI2RlZmluZSBXUFJJTlRL KGZtdCwgYXJncy4uLikgXAogCXByaW50ayhLRVJOX1dBUk5JTkcgInhlbl9tZW06ICIgZm10 LCAjI2FyZ3MpCisKKyNpZm5kZWYgTU9EVUxFCitzdGF0aWMgaW5saW5lIGxvbmcgZ2V0X3Zt X2NvbW1pdHRlZCh2b2lkKQoreworCXJldHVybiBhdG9taWNfcmVhZCgmdm1fY29tbWl0dGVk X3NwYWNlKTsKK30KKyNlbHNlCisvKiB2bV9jb21taXR0ZWRfc3BhY2UgaXMgbm90IGV4cG9y dGVkLCBzbyB1c2UgaG9ycmlibGUgaGFjayB0byBnZXQgc2FtZSAqLworI2luY2x1ZGUgPGxp bnV4L3N5c2NhbGxzLmg+CisjaW5jbHVkZSA8bGludXgvZmNudGwuaD4KKyNpbmNsdWRlIDxs aW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9mc25vdGlmeS5oPgorI2luY2x1ZGUg PGxpbnV4L2ZpbGUuaD4KK3N0YXRpYyBsb25nIGdldF92bV9jb21taXR0ZWQodm9pZCkKK3sK Kwlzc2l6ZV90IGxlbjsKKwlpbnQgZmQ7CisJY2hhciBidWZbMTAwMF0sICpwLCAqcTsKKwlz dHJ1Y3QgZmlsZSAqZjsKKwlzdGF0aWMgb3BlbmZhaWxlZCA9IDA7CisKKwkvKiB0aGUgZm9s bG93aW5nIGlzIG1lc3N5IGJlY2F1c2Ugc3lzX29wZW4gaXNuJ3QgZXhwb3J0ZWQgKi8KKwlp ZiAoIShmID0gZmlscF9vcGVuKCIvcHJvYy9tZW1pbmZvIiwgT19SRE9OTFksIDApKSB8fAor CSAgICAoKGZkID0gZ2V0X3VudXNlZF9mZCgpKSA8IDApKSB7CisJCS8qIGZpcnN0IG9wZW4g YXR0ZW1wdCBvZnRlbiBmYWlscywgYmUgcmVzaWxpZW50ICovCisJCWlmICghb3Blbl9mYWls ZWQpIHsKKwkJCVdQUklOVEsoIlVuYWJsZSB0byBvcGVuIC9wcm9jL21lbWluZm8sIHJldHJ5 aW5nLi4uXG4iKTsKKwkJCW9wZW5fZmFpbGVkID0gMTsKKwkJfQorCQlyZXR1cm4gMDsKKwl9 CisJZnNub3RpZnlfb3BlbihmLT5mX2RlbnRyeSk7CisJZmRfaW5zdGFsbChmZCxmKTsKKwkv KiBlbmQgb2YgbWVzc2luZXNzICovCisJaWYgKChsZW4gPSBzeXNfcmVhZChmZCwgYnVmLCA5 OTkpKSA8IDApIHsKKwkJV1BSSU5USygiVW5hYmxlIHRvIHJlYWQgZnJvbSAvcHJvYy9tZW1p bmZvXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCXN5c19jbG9zZShmZCk7CisJYnVmW2xlbl0g PSAnXDAnOworCXAgPSBzdHJzdHIoYnVmLCJDb21taXR0ZWRfQVMiKTsKKwlpZiAoIXApIHsK KwkJV1BSSU5USygiTm8gQ29tbWl0dGVkX0FTIGluIC9wcm9jL21lbWluZm9cbiIpOworCQly ZXR1cm4gMDsKKwl9CisJd2hpbGUgKCpwIDwgJzAnIHx8ICpwID4gJzknKSBwKys7CisJcSA9 IHA7CisJd2hpbGUgKCpxID49ICcwJyAmJiAqcSA8PSAnOScpIHErKzsKKwkqcSA9ICdcMCc7 CisJcmV0dXJuIChtZW1wYXJzZShwLCAmcSkgPj4gKFBBR0VfU0hJRlQgLSAxMCkpOworfQor I2VuZGlmCiAKIC8qIGJhbGxvb25fYXBwZW5kOiBhZGQgdGhlIGdpdmVuIHBhZ2UgdG8gdGhl IGJhbGxvb24uICovCiBzdGF0aWMgdm9pZCBiYWxsb29uX2FwcGVuZChzdHJ1Y3QgcGFnZSAq cGFnZSkKQEAgLTM4MSw2ICs0NTEsMjMgQEAgc3RhdGljIGludCBkZWNyZWFzZV9yZXNlcnZh dGlvbih1bnNpZ25lZAogCXJldHVybiBuZWVkX3NsZWVwOwogfQogCisvKiBSZXNldHMgdGhl IFhlbiBsaW1pdCwgc2V0cyBuZXcgdGFyZ2V0LCBvcHRpb25hbGx5IHNjaGVkdWxlcyB3b3Jr ICovCit2b2lkIGJhbGxvb25fc2V0X25ld190YXJnZXQodW5zaWduZWQgbG9uZyB0YXJnZXQs IGludCBzdGFydCkKK3sKKwlpZiAoIXRhcmdldCkgcmV0dXJuOyAvKiBjb21waWxlZCBhcyBt b2R1bGUsIHNlbGZiYWxsb29uIG9uICovCisJLyogTm8gbmVlZCBmb3IgbG9jay4gTm90IHJl YWQtbW9kaWZ5LXdyaXRlIHVwZGF0ZXMuICovCisJYnMuaGFyZF9saW1pdCAgID0gfjBVTDsK KwlpZiAoZG93bl9oeXN0ZXIgJiYgdGFyZ2V0IDwgdG90YWxyYW1fcGFnZXMpCisJCXRhcmdl dCA9IHRvdGFscmFtX3BhZ2VzIC0KKwkJCSgodG90YWxyYW1fcGFnZXMgLSB0YXJnZXQpIC8g ZG93bl9oeXN0ZXIpOworCWVsc2UgaWYgKHVwX2h5c3RlciAmJiB0YXJnZXQgPiB0b3RhbHJh bV9wYWdlcykKKwkJdGFyZ2V0ID0gdG90YWxyYW1fcGFnZXMgKworCQkJKCh0YXJnZXQgLSB0 b3RhbHJhbV9wYWdlcykgLyB1cF9oeXN0ZXIpOworCWJzLnRhcmdldF9wYWdlcyA9IG1heCh0 YXJnZXQsIG1pbmltdW1fdGFyZ2V0KCkpOworCWlmIChzdGFydCkgc2NoZWR1bGVfd29yaygm YmFsbG9vbl93b3JrZXIpOworfQorCisKIC8qCiAgKiBXZSBhdm9pZCBtdWx0aXBsZSB3b3Jr ZXIgcHJvY2Vzc2VzIGNvbmZsaWN0aW5nIHZpYSB0aGUgYmFsbG9vbiBtdXRleC4KICAqIFdl IG1heSBvZiBjb3Vyc2UgcmFjZSB1cGRhdGVzIG9mIHRoZSB0YXJnZXQgY291bnRzICh3aGlj aCBhcmUgcHJvdGVjdGVkCkBAIC0zOTEsOSArNDc4LDI2IEBAIHN0YXRpYyB2b2lkIGJhbGxv b25fcHJvY2Vzcyh2b2lkICp1bnVzZWQKIHsKIAlpbnQgbmVlZF9zbGVlcCA9IDA7CiAJbG9u ZyBjcmVkaXQ7CisJdW5zaWduZWQgbG9uZyB0YXJnZXRfcGFnZXM7CiAKIAltdXRleF9sb2Nr KCZiYWxsb29uX211dGV4KTsKIAorCWlmICh4ZW5zdG9yZWRfcmVhZHkpIHsKKwkJKHZvaWQp eGVuYnVzX3ByaW50ZihYQlRfTklMLCAibWVtb3J5IiwgImFjdHVhbCIsICIlbHUiLAorCQkJ dG90YWxyYW1fcGFnZXMgPDwgKFBBR0VfU0hJRlQgLSAxMCkpOworCQkodm9pZCl4ZW5idXNf cHJpbnRmKFhCVF9OSUwsICJtZW1vcnkiLCAibWluaW11bSIsICIlbHUiLAorCQkJbWluaW11 bV90YXJnZXQoKSA8PCAoUEFHRV9TSElGVCAtIDEwKSk7CisJfQorCisJaWYgKHNlbGZiYWxs b29uKSB7CisJCXRhcmdldF9wYWdlcyA9IGdldF92bV9jb21taXR0ZWQoKTsKKwkJYmFsbG9v bl9zZXRfbmV3X3RhcmdldCh0YXJnZXRfcGFnZXMsIDApOworCQlpZiAoeGVuc3RvcmVkX3Jl YWR5KQorCQkJKHZvaWQpeGVuYnVzX3ByaW50ZihYQlRfTklMLCAibWVtb3J5IiwgInNlbGZ0 YXJnZXQiLAorCQkJCSIlbHUiLCB0YXJnZXRfcGFnZXMgPDwgKFBBR0VfU0hJRlQgLSAxMCkp OworLy8JCUlQUklOVEsoInNldHRpbmcgbmV3IHNlbGYtYmFsbG9vbmluZyB0YXJnZXQ9JWxk IGtCXG4iLAorLy8JCQl0YXJnZXRfcGFnZXMgPDwgKFBBR0VfU0hJRlQgLSAxMCkpOworCX0K IAlkbyB7CiAJCWNyZWRpdCA9IGN1cnJlbnRfdGFyZ2V0KCkgLSBicy5jdXJyZW50X3BhZ2Vz OwogCQlpZiAoY3JlZGl0ID4gMCkKQEAgLTQwOCwxOSArNTEyLDczIEBAIHN0YXRpYyB2b2lk IGJhbGxvb25fcHJvY2Vzcyh2b2lkICp1bnVzZWQKIAl9IHdoaWxlICgoY3JlZGl0ICE9IDAp ICYmICFuZWVkX3NsZWVwKTsKIAogCS8qIFNjaGVkdWxlIG1vcmUgd29yayBpZiB0aGVyZSBp cyBzb21lIHN0aWxsIHRvIGJlIGRvbmUuICovCi0JaWYgKGN1cnJlbnRfdGFyZ2V0KCkgIT0g YnMuY3VycmVudF9wYWdlcykKKwlpZiAoKGN1cnJlbnRfdGFyZ2V0KCkgIT0gYnMuY3VycmVu dF9wYWdlcykgfHwgc2VsZmJhbGxvb24pCiAJCW1vZF90aW1lcigmYmFsbG9vbl90aW1lciwg amlmZmllcyArIEhaKTsKIAogCW11dGV4X3VubG9jaygmYmFsbG9vbl9tdXRleCk7CiB9CiAK LS8qIFJlc2V0cyB0aGUgWGVuIGxpbWl0LCBzZXRzIG5ldyB0YXJnZXQsIGFuZCBraWNrcyBv ZmYgcHJvY2Vzc2luZy4gKi8KLXZvaWQgYmFsbG9vbl9zZXRfbmV3X3RhcmdldCh1bnNpZ25l ZCBsb25nIHRhcmdldCkKK3N0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHNlbGZiYWxsb29u X3dhdGNoID0KIHsKLQkvKiBObyBuZWVkIGZvciBsb2NrLiBOb3QgcmVhZC1tb2RpZnktd3Jp dGUgdXBkYXRlcy4gKi8KLQlicy5oYXJkX2xpbWl0ICAgPSB+MFVMOwotCWJzLnRhcmdldF9w YWdlcyA9IG1heCh0YXJnZXQsIG1pbmltdW1fdGFyZ2V0KCkpOwotCXNjaGVkdWxlX3dvcmso JmJhbGxvb25fd29ya2VyKTsKKwkubm9kZSA9ICJtZW1vcnkvc2VsZmJhbGxvb24iCit9Owor CisvKiBSZWFjdCB0byBhIGNoYW5nZSBpbiB0aGUgc2VsZmJhbGxvb24ga2V5ICovCitzdGF0 aWMgdm9pZCB3YXRjaF9zZWxmYmFsbG9vbihzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwK KwkJCSBjb25zdCBjaGFyICoqdmVjLCB1bnNpZ25lZCBpbnQgbGVuKQoreworCXVuc2lnbmVk IGxvbmcgZW5hYmxlLCB2bV9wYWdlczsKKwlpbnQgZXJyOworCisJZXJyID0geGVuYnVzX3Nj YW5mKFhCVF9OSUwsICJtZW1vcnkiLCAic2VsZmJhbGxvb24iLCAiJWx1IiwgJmVuYWJsZSk7 CisJaWYgKGVyciAhPSAxKSB7CisJCS8qIFRoaXMgaXMgb2sgKGZvciBkb21haW4wIGF0IGxl YXN0KSAtIHNvIGp1c3QgcmV0dXJuICovCisJCXJldHVybjsKKwl9CisJc2VsZmJhbGxvb24g PSBlbmFibGU7CisJaWYgKCFlbmFibGUpIHJldHVybjsKKwl2bV9wYWdlcyA9IGdldF92bV9j b21taXR0ZWQoKTsKKwliYWxsb29uX3NldF9uZXdfdGFyZ2V0KHZtX3BhZ2VzLDEpOworfQor CitzdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCB1cGh5c3RlcmVzaXNfd2F0Y2ggPQorewor CS5ub2RlID0gIm1lbW9yeS91cGh5c3RlcmVzaXMiCit9OworCisvKiBSZWFjdCB0byBhIGNo YW5nZSBpbiB0aGUgdXBoeXN0ZXJlc2lzIGtleSAqLworc3RhdGljIHZvaWQgd2F0Y2hfdXBo eXN0ZXJlc2lzKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLAorCQkJIGNvbnN0IGNoYXIg Kip2ZWMsIHVuc2lnbmVkIGludCBsZW4pCit7CisJdW5zaWduZWQgaW50IGh5c3RlcjsKKwlp bnQgZXJyOworCisJZXJyID0geGVuYnVzX3NjYW5mKFhCVF9OSUwsICJtZW1vcnkiLCAidXBo eXN0ZXJlc2lzIiwgIiV1IiwgJmh5c3Rlcik7CisJaWYgKGVyciAhPSAxKSB7CisJCS8qIFRo aXMgaXMgb2sgKGZvciBkb21haW4wIGF0IGxlYXN0KSAtIHNvIGp1c3QgcmV0dXJuICovCisJ CXJldHVybjsKKwl9CisJdXBfaHlzdGVyID0gbWluKGh5c3RlciwxMDApOworfQorCitzdGF0 aWMgc3RydWN0IHhlbmJ1c193YXRjaCBkb3duaHlzdGVyZXNpc193YXRjaCA9Cit7CisJLm5v ZGUgPSAibWVtb3J5L2Rvd25oeXN0ZXJlc2lzIgorfTsKKworLyogUmVhY3QgdG8gYSBjaGFu Z2UgaW4gdGhlIGRvd25oeXN0ZXJlc2lzIGtleSAqLworc3RhdGljIHZvaWQgd2F0Y2hfZG93 bmh5c3RlcmVzaXMoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsCisJCQkgY29uc3QgY2hh ciAqKnZlYywgdW5zaWduZWQgaW50IGxlbikKK3sKKwl1bnNpZ25lZCBpbnQgaHlzdGVyOwor CWludCBlcnI7CisKKwllcnIgPSB4ZW5idXNfc2NhbmYoWEJUX05JTCwgIm1lbW9yeSIsICJk b3duaHlzdGVyZXNpcyIsICIldSIsICZoeXN0ZXIpOworCWlmIChlcnIgIT0gMSkgeworCQkv KiBUaGlzIGlzIG9rIChmb3IgZG9tYWluMCBhdCBsZWFzdCkgLSBzbyBqdXN0IHJldHVybiAq LworCQlyZXR1cm47CisJfQorCWRvd25faHlzdGVyID0gbWluKGh5c3RlciwxMDApOwogfQog CiBzdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCB0YXJnZXRfd2F0Y2ggPQpAQCAtNDQ0LDE4 ICs2MDIsNTMgQEAgc3RhdGljIHZvaWQgd2F0Y2hfdGFyZ2V0KHN0cnVjdCB4ZW5idXNfdwog CS8qIFRoZSBnaXZlbiBtZW1vcnkvdGFyZ2V0IHZhbHVlIGlzIGluIEtpQiwgc28gaXQgbmVl ZHMgY29udmVydGluZyB0bwogCSAqIHBhZ2VzLiBQQUdFX1NISUZUIGNvbnZlcnRzIGJ5dGVz IHRvIHBhZ2VzLCBoZW5jZSBQQUdFX1NISUZUIC0gMTAuCiAJICovCi0JYmFsbG9vbl9zZXRf bmV3X3RhcmdldChuZXdfdGFyZ2V0ID4+IChQQUdFX1NISUZUIC0gMTApKTsKKwliYWxsb29u X3NldF9uZXdfdGFyZ2V0KG5ld190YXJnZXQgPj4gKFBBR0VfU0hJRlQgLSAxMCksIDEpOwog fQogCiBzdGF0aWMgaW50IGJhbGxvb25faW5pdF93YXRjaGVyKHN0cnVjdCBub3RpZmllcl9i bG9jayAqbm90aWZpZXIsCiAJCQkJdW5zaWduZWQgbG9uZyBldmVudCwKIAkJCQl2b2lkICpk YXRhKQogeworCXVuc2lnbmVkIGxvbmcgZW5hYmxlLCB2bV9wYWdlczsKKwl1bnNpZ25lZCBp bnQgdmFsdWU7CiAJaW50IGVycjsKIAorCS8qIGVuc3VyZSB4ZW5idXMgdmFsdWVzIGFuZCAv cHJvYy94ZW4vYmFsbG9vbiBhcmUgY29uc2lzdGVudCAqLworCWVyciA9IHhlbmJ1c19zY2Fu ZihYQlRfTklMLCAibWVtb3J5IiwgInNlbGZiYWxsb29uIiwgIiVsdSIsICZlbmFibGUpOwor CWlmIChlcnIgPT0gMSkgeworCQlzZWxmYmFsbG9vbiA9IGVuYWJsZTsKKwkJaWYgKGVuYWJs ZSkgeworCQkJdm1fcGFnZXMgPSBnZXRfdm1fY29tbWl0dGVkKCk7CisJCQliYWxsb29uX3Nl dF9uZXdfdGFyZ2V0KHZtX3BhZ2VzLCAxKTsKKwkJfQorCX0KKwllbHNlCisJCSh2b2lkKXhl bmJ1c19wcmludGYoWEJUX05JTCwgIm1lbW9yeSIsICJzZWxmYmFsbG9vbiIsICIlbHUiLAor CQkJc2VsZmJhbGxvb24gPyAxVUwgOiAwVUwpOworCisJZXJyID0geGVuYnVzX3NjYW5mKFhC VF9OSUwsICJtZW1vcnkiLCAiZG93bmh5c3RlcmVzaXMiLCAiJXUiLCAmdmFsdWUpOworCWlm IChlcnIgPT0gMSkKKwkJZG93bl9oeXN0ZXIgPSB2YWx1ZTsKKwllbHNlCisJCSh2b2lkKXhl bmJ1c19wcmludGYoWEJUX05JTCwgIm1lbW9yeSIsICJkb3duaHlzdGVyZXNpcyIsCisJCQki JXUiLCBkb3duX2h5c3Rlcik7CisKKworCWVyciA9IHhlbmJ1c19zY2FuZihYQlRfTklMLCAi bWVtb3J5IiwgInVwaHlzdGVyZXNpcyIsICIldSIsICZ2YWx1ZSk7CisJaWYgKGVyciA9PSAx KQorCQl1cF9oeXN0ZXIgPSB2YWx1ZTsKKwllbHNlCisJCSh2b2lkKXhlbmJ1c19wcmludGYo WEJUX05JTCwgIm1lbW9yeSIsICJ1cGh5c3RlcmVzaXMiLAorCQkJIiV1IiwgdXBfaHlzdGVy KTsKKwogCWVyciA9IHJlZ2lzdGVyX3hlbmJ1c193YXRjaCgmdGFyZ2V0X3dhdGNoKTsKKwll cnIgfD0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzZWxmYmFsbG9vbl93YXRjaCk7CisJZXJy IHw9IHJlZ2lzdGVyX3hlbmJ1c193YXRjaCgmdXBoeXN0ZXJlc2lzX3dhdGNoKTsKKwllcnIg fD0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZkb3duaHlzdGVyZXNpc193YXRjaCk7CiAJaWYg KGVycikKIAkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gc2V0IGJhbGxvb24gd2F0Y2hl clxuIik7CisJZWxzZSB4ZW5zdG9yZWRfcmVhZHkgPSAxOworCiAKIAlyZXR1cm4gTk9USUZZ X0RPTkU7CiB9CkBAIC00NjYsMTEgKzY1OSwxMiBAQCBzdGF0aWMgaW50IGJhbGxvb25fd3Jp dGUoc3RydWN0IGZpbGUgKmZpCiB7CiAJY2hhciBtZW1zdHJpbmdbNjRdLCAqZW5kY2hhcjsK IAl1bnNpZ25lZCBsb25nIGxvbmcgdGFyZ2V0X2J5dGVzOworCXVuc2lnbmVkIGxvbmcgdm1f cGFnZXM7CiAKIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCiAJCXJldHVybiAtRVBF Uk07CiAKLQlpZiAoY291bnQgPD0gMSkKKwlpZiAoIWNvdW50KQogCQlyZXR1cm4gLUVCQURN U0c7IC8qIHJ1bnQgKi8KIAlpZiAoY291bnQgPiBzaXplb2YobWVtc3RyaW5nKSkKIAkJcmV0 dXJuIC1FRkJJRzsgICAvKiB0b28gbG9uZyAqLwpAQCAtNDgwLDcgKzY3NCwzMiBAQCBzdGF0 aWMgaW50IGJhbGxvb25fd3JpdGUoc3RydWN0IGZpbGUgKmZpCiAJbWVtc3RyaW5nW3NpemVv ZihtZW1zdHJpbmcpLTFdID0gJ1wwJzsKIAogCXRhcmdldF9ieXRlcyA9IG1lbXBhcnNlKG1l bXN0cmluZywgJmVuZGNoYXIpOwotCWJhbGxvb25fc2V0X25ld190YXJnZXQodGFyZ2V0X2J5 dGVzID4+IFBBR0VfU0hJRlQpOworCWlmICh0YXJnZXRfYnl0ZXMgPD0gMSkgeworCQlzZWxm YmFsbG9vbiA9IHRhcmdldF9ieXRlczsKKwkJaWYgKHhlbnN0b3JlZF9yZWFkeSkgeyAvKiBs ZXQgd2F0Y2hfc2VsZmJhbGxvb24gaGFuZGxlICovCisJCQkodm9pZCl4ZW5idXNfcHJpbnRm KFhCVF9OSUwsICJtZW1vcnkiLAorCQkJCSJzZWxmYmFsbG9vbiIsICIlbHUiLCBzZWxmYmFs bG9vbiA/IDFVTCA6IDBVTCk7CisJCX0gZWxzZSBpZiAoc2VsZmJhbGxvb24pIHsKKwkJCXZt X3BhZ2VzID0gZ2V0X3ZtX2NvbW1pdHRlZCgpOworCQkJYmFsbG9vbl9zZXRfbmV3X3Rhcmdl dCh2bV9wYWdlcywgMSk7CisJCX0KKwl9CisJZWxzZSBpZiAodGFyZ2V0X2J5dGVzIDw9IDEw MCkgeworCQkvKiBzZXQgZG93bmh5c3RlcmVzaXMgdG8gbiwgbj09MTAwIHNldHMgdG8gemVy byAqLworCQlkb3duX2h5c3RlciA9ICh0YXJnZXRfYnl0ZXM9PTEwMCkgPyAwIDogdGFyZ2V0 X2J5dGVzOworCQlpZiAoeGVuc3RvcmVkX3JlYWR5KQorCQkJKHZvaWQpeGVuYnVzX3ByaW50 ZihYQlRfTklMLCAibWVtb3J5IiwKKwkJCQkiZG93bmh5c3RlcmVzaXMiLCAiJXUiLCBkb3du X2h5c3Rlcik7CisJfQorCWVsc2UgaWYgKHRhcmdldF9ieXRlcyA8PSAyMDApIHsKKwkJLyog c2V0IHVwaHlzdGVyZXNpcyB0byBuLTEwMCwgbj09MjAwIHNldHMgdG8gemVybyAqLworCQl1 cF9oeXN0ZXIgPSAodGFyZ2V0X2J5dGVzPT0yMDApID8gMCA6IHRhcmdldF9ieXRlcy0xMDA7 CisJCWlmICh4ZW5zdG9yZWRfcmVhZHkpCisJCQkodm9pZCl4ZW5idXNfcHJpbnRmKFhCVF9O SUwsICJtZW1vcnkiLAorCQkJCSJ1cGh5c3RlcmVzaXMiLCAiJXUiLCB1cF9oeXN0ZXIpOwor CX0KKwllbHNlCisJCWJhbGxvb25fc2V0X25ld190YXJnZXQodGFyZ2V0X2J5dGVzID4+IFBB R0VfU0hJRlQsIDEpOwogCiAJcmV0dXJuIGNvdW50OwogfQpAQCAtNDkyLDEyICs3MTEsMTYg QEAgc3RhdGljIGludCBiYWxsb29uX3JlYWQoY2hhciAqcGFnZSwgY2hhcgogCiAJbGVuID0g c3ByaW50ZigKIAkJcGFnZSwKKwkJIlNlbGYtYmFsbG9vbmluZzogICAgJXNcbiIKKwkJIkRv d253YXJkIGh5c3RlcmVzaXM6ICUzdVxuIgorCQkiVXB3YXJkIGh5c3RlcmVzaXM6ICUzdVxu IgogCQkiQ3VycmVudCBhbGxvY2F0aW9uOiAlOGx1IGtCXG4iCiAJCSJSZXF1ZXN0ZWQgdGFy Z2V0OiAgICU4bHUga0JcbiIKIAkJIkxvdy1tZW0gYmFsbG9vbjogICAgJThsdSBrQlxuIgog CQkiSGlnaC1tZW0gYmFsbG9vbjogICAlOGx1IGtCXG4iCiAJCSJEcml2ZXIgcGFnZXM6ICAg ICAgICU4bHUga0JcbiIKIAkJIlhlbiBoYXJkIGxpbWl0OiAgICAgIiwKKwkJKHNlbGZiYWxs b29uPyJvbiI6Im9mZiIpLCBkb3duX2h5c3RlciwgdXBfaHlzdGVyLAogCQlQQUdFUzJLQihi cy5jdXJyZW50X3BhZ2VzKSwgUEFHRVMyS0IoYnMudGFyZ2V0X3BhZ2VzKSwgCiAJCVBBR0VT MktCKGJzLmJhbGxvb25fbG93KSwgUEFHRVMyS0IoYnMuYmFsbG9vbl9oaWdoKSwKIAkJUEFH RVMyS0IoYnMuZHJpdmVyX3BhZ2VzKSk7CkBAIC01NjQsNiArNzg3LDkgQEAgc3RhdGljIGlu dCBfX2luaXQgYmFsbG9vbl9pbml0KHZvaWQpCiAjZW5kaWYKIAogCXRhcmdldF93YXRjaC5j YWxsYmFjayA9IHdhdGNoX3RhcmdldDsKKwlzZWxmYmFsbG9vbl93YXRjaC5jYWxsYmFjayA9 IHdhdGNoX3NlbGZiYWxsb29uOworCWRvd25oeXN0ZXJlc2lzX3dhdGNoLmNhbGxiYWNrID0g d2F0Y2hfZG93bmh5c3RlcmVzaXM7CisJdXBoeXN0ZXJlc2lzX3dhdGNoLmNhbGxiYWNrID0g d2F0Y2hfdXBoeXN0ZXJlc2lzOwogCXhlbnN0b3JlX25vdGlmaWVyLm5vdGlmaWVyX2NhbGwg PSBiYWxsb29uX2luaXRfd2F0Y2hlcjsKIAogCXJlZ2lzdGVyX3hlbnN0b3JlX25vdGlmaWVy KCZ4ZW5zdG9yZV9ub3RpZmllcik7CmRpZmYgLXIgZTM5Y2Y5NzY0N2FmIGRyaXZlcnMveGVu L2JhbGxvb24vY29tbW9uLmgKLS0tIGEvZHJpdmVycy94ZW4vYmFsbG9vbi9jb21tb24uaAlN b24gTWF5IDA1IDEwOjE3OjQxIDIwMDggKzAxMDAKKysrIGIvZHJpdmVycy94ZW4vYmFsbG9v bi9jb21tb24uaAlXZWQgTWF5IDA3IDE4OjA0OjE0IDIwMDggLTA2MDAKQEAgLTUzLDYgKzUz LDYgQEAgaW50IGJhbGxvb25fc3lzZnNfaW5pdCh2b2lkKTsKIGludCBiYWxsb29uX3N5c2Zz X2luaXQodm9pZCk7CiB2b2lkIGJhbGxvb25fc3lzZnNfZXhpdCh2b2lkKTsKIAotdm9pZCBi YWxsb29uX3NldF9uZXdfdGFyZ2V0KHVuc2lnbmVkIGxvbmcgdGFyZ2V0KTsKK3ZvaWQgYmFs bG9vbl9zZXRfbmV3X3RhcmdldCh1bnNpZ25lZCBsb25nIHRhcmdldCwgaW50IHN0YXJ0KTsK IAogI2VuZGlmIC8qIF9fWEVOX0JBTExPT05fQ09NTU9OX0hfXyAqLwpkaWZmIC1yIGUzOWNm OTc2NDdhZiBkcml2ZXJzL3hlbi9iYWxsb29uL3N5c2ZzLmMKLS0tIGEvZHJpdmVycy94ZW4v YmFsbG9vbi9zeXNmcy5jCU1vbiBNYXkgMDUgMTA6MTc6NDEgMjAwOCArMDEwMAorKysgYi9k cml2ZXJzL3hlbi9iYWxsb29uL3N5c2ZzLmMJV2VkIE1heSAwNyAxODowNDoxNCAyMDA4IC0w NjAwCkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBzc2l6ZV90IHN0b3JlX3RhcmdldF9rYihz dHJ1Y3Qgc3kKIAlzdHJjcHkobWVtc3RyaW5nLCBidWYpOwogCQogCXRhcmdldF9ieXRlcyA9 IG1lbXBhcnNlKG1lbXN0cmluZywgJmVuZGNoYXIpOwotCWJhbGxvb25fc2V0X25ld190YXJn ZXQodGFyZ2V0X2J5dGVzID4+IFBBR0VfU0hJRlQpOworCWJhbGxvb25fc2V0X25ld190YXJn ZXQodGFyZ2V0X2J5dGVzID4+IFBBR0VfU0hJRlQsIDEpOwogCQogCXJldHVybiBjb3VudDsK IH0K ---------3e8120143e812014 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ---------3e8120143e812014--