Return-Path: linux-nfs-owner@vger.kernel.org Received: from mail-pb0-f50.google.com ([209.85.160.50]:49595 "EHLO mail-pb0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756588Ab3EWJJs (ORCPT ); Thu, 23 May 2013 05:09:48 -0400 Received: by mail-pb0-f50.google.com with SMTP id wy17so2654918pbc.37 for ; Thu, 23 May 2013 02:09:47 -0700 (PDT) From: "=?gb18030?B?cmVtYXBlcg==?=" To: "=?gb18030?B?V2FpbWFuIExvbmc=?=" , "=?gb18030?B?QWxleGFuZGVyIFZpcm8=?=" , "=?gb18030?B?SmVmZiBMYXl0b24=?=" , "=?gb18030?B?TWlrbG9zIFN6ZXJlZGk=?=" , "=?gb18030?B?SWFuIEtlbnQ=?=" , "=?gb18030?B?U2FnZSBXZWls?=" , "=?gb18030?B?U3RldmUgRnJlbmNo?=" , "=?gb18030?B?VHJvbmQgTXlrbGVidXN0?=" , "=?gb18030?B?RXJpYyBQYXJpcw==?=" Cc: "=?gb18030?B?V2FpbWFuIExvbmc=?=" , "=?gb18030?B?bGludXgtZnNkZXZlbA==?=" , "=?gb18030?B?bGludXgta2VybmVs?=" , "=?gb18030?B?YXV0b2Zz?=" , "=?gb18030?B?Y2VwaC1kZXZlbA==?=" , "=?gb18030?B?bGludXgtY2lmcw==?=" , "=?gb18030?B?c2FtYmEtdGVjaG5pY2Fs?=" , "=?gb18030?B?bGludXgtbmZz?=" , "=?gb18030?B?Q2hhbmRyYW1vdWxlZXN3YXJhbiwgQXN3aW4=?=" , "=?gb18030?B?Tm9ydG9uLCBTY290dCBK?=" , "=?gb18030?B?QW5kaSBLbGVlbg==?=" , "=?gb18030?B?RGF2ZSBDaGlubmVy?=" Subject: =?gb18030?B?u9i4tKO6W1BBVENIIDEvMyB2M10gZGNhY2hlOiBE?= =?gb18030?B?b24ndCB0YWtlIHVubmVjZXNzYXJ5IGxvY2sgaW4g?= =?gb18030?B?ZF9jb3VudCB1cGRhdGU=?= Mime-Version: 1.0 Content-Type: text/plain; charset="gb18030" Date: Thu, 23 May 2013 17:09:30 +0800 Message-ID: Sender: linux-nfs-owner@vger.kernel.org List-ID: bWF5YmUgeW91IGNhbiB1c2UgdGhlIGF0b21pY19kZWNfYW5kX2xvY2soJmRlbnRyeS0+ZF9j b3VudCwgJmRlbnRyeS0+ZF9sb2NrKSBoZXJlLCByaWdodCA/DQoNCi0tLS0tLS0tLS0tLS0t LS0tLSBPcmlnaW4gLS0tLS0tLS0tLS0tLS0tLS0tDQo+VGhlIGN1cnJlbnQgY29kZSB0YWtl cyB0aGUgZGVudHJ5J3MgZF9sb2NrIGxvY2sgd2hlbmV2ZXIgdGhlIGRfY291bnQNCj5yZWZl cmVuY2UgY291bnQgaXMgYmVpbmcgdXBkYXRlZC4gSW4gcmVhbGl0eSwgbm90aGluZyBiaWcg cmVhbGx5DQo+IGhhcHBlbnMgdW50aWwgZF9jb3VudCBnb2VzIHRvIDAgaW4gZHB1dCgpLiBT byBpdCBpcyBub3QgbmVjZXNzYXJ5IHRvDQo+IHRha2UgdGhlIGxvY2sgaWYgdGhlIHJlZmVy ZW5jZSBjb3VudCB3b24ndCBnbyB0byAwLg0KDQpXaXRob3V0IHVzaW5nIGEgbG9jaywgbXVs dGlwbGUgdGhyZWFkcyBtYXkgdXBkYXRlIGRfY291bnQNCnNpbXVsdGFuZW91c2x5LiAgVGhl cmVmb3JlLCBhdG9taWMgaW5zdHJ1Y3Rpb25zIG11c3QgYmUgdXNlZCB0bw0KZW5zdXJlIGNv bnNpc3RlbmN5IGV4Y2VwdCBpbiBzaHJpbmtfZGNhY2hlX2Zvcl91bW91bnQqKCkgd2hlcmUg dGhlDQp3aG9sZSBzdXBlcmJsb2NrIGlzIGJlaW5nIGRpc21vdW50ZWQgYW5kIGxvY2tpbmcg aXMgbm90IG5lZWRlZC4NCg0KVGhlIHdvcnN0IGNhc2Ugc2NlbmFyaW9zIGFyZToNCg0KMS4g ZF9sb2NrIHRha2VuIGluIGRwdXQgd2l0aCBkX2NvdW50ID0gMiBpbiBvbmUgdGhyZWFkIGFu ZCBhbm90aGVyDQogdGhyZWFkIGNvbWVzIGluIHRvIGF0b21pY2FsbHkgZGVjcmVtZW50IGRf Y291bnQgd2l0aG91dCB0YWtpbmcNCiB0aGUgbG9jay4gVGhpcyBtYXkgcmVzdWx0IGluIGEg ZF9jb3VudCBvZiAwIHdpdGggbm8gZGVsZXRpbmcNCiBhY3Rpb24gdGFrZW4uDQoNCjIuIGRf bG9jayB0YWtlbiBpbiBkcHV0IHdpdGggZF9jb3VudCA9IDEgaW4gb25lIHRocmVhZCBhbmQg YW5vdGhlcg0KIHRocmVhZCBjb21lcyBpbiB0byBhdG9taWNhbGx5IGluY3JlbWVudCBkX2Nv dW50IHdpdGhvdXQgdGFraW5nDQogdGhlIGxvY2suIFRoaXMgbWF5IHJlc3VsdCBpbiB0aGUg ZGVudHJ5IGluIHRoZSBkZWxldGVkIHN0YXRlIHdoaWxlDQogaGF2aW5nIGEgZF9jb3VudCBv ZiAxLg0KDQpXaXRob3V0IHRha2luZyBhIGxvY2ssIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRo ZSBkZWNyZW1lbnRpbmcgb3INCmluY3JlbWVudGluZyBhY3Rpb24gc2hvdWxkIG5vdCBiZSB0 YWtlbiB3aGlsZSBvdGhlciB0aHJlYWRzIGFyZQ0KdXBkYXRpbmcgZF9jb3VudCBzaW11bHRh bmVvdXNseS4gVGhpcyBjYW4gYmUgZG9uZSBieSB1c2luZyB0aGUNCmF0b21pYyBjbXB4Y2hn IGluc3RydWN0aW9uIHdoaWNoIHdpbGwgZmFpbCBpZiB0aGUgdW5kZXJseWluZyB2YWx1ZQ0K aXMgY2hhbmdlZC4gIElmIHRoZSBsb2NrIGlzIHRha2VuLCBpdCBzaG91bGQgYmUgc2FmZSB0 byB1c2UgYSBzaW1wbGVyDQphdG9taWMgaW5jcmVtZW50IG9yIGRlY3JlbWVudCBpbnN0cnVj dGlvbi4NCg0KVG8gbWFrZSBzdXJlIHRoYXQgdGhlIGFib3ZlIHdvcnN0IGNhc2Ugc2NlbmFy aW9zIHdpbGwgbm90IGhhcHBlbiwNCnRoZSBkZ2V0KCkgZnVuY3Rpb24gbXVzdCB0YWtlIHRo ZSBsb2NrIGlmIGRfY291bnQgPD0gMS4gU2ltaWxhcmx5LA0KdGhlIGRwdXQoKSBmdW5jdGlv biBtdXN0IHRha2UgdGhlIGxvY2sgaWYgZF9jb3VudCA8PSAyLiBUaGUgY21weGNoZygpDQpj YWxsIHRvIHVwZGF0ZSBkX2NvdW50IHdpbGwgYmUgdHJpZWQgdHdpY2UgYmVmb3JlIGZhbGxp bmcgYmFjayB0bw0KdXNpbmcgdGhlIGxvY2sgYXMgdGhlcmUgaXMgYSBmYWlybHkgZ29vZCBj aGFuY2UgdGhhdCB0aGUgY21weGNoZygpDQptYXkgZmFpbCBpbiBhIGJ1c3kgc2l0dWF0aW9u Lg0KDQpGaW5hbGx5LCB0aGUgQ1BVIG11c3QgaGF2ZSBhbiBpbnN0cnVjdGlvbmFsIGxldmVs IGNtcHhjaGcgaW5zdHJ1Y3Rpb24NCm9yIHRoZSBlbXVsYXRlZCBjbXB4Y2hnKCkgZnVuY3Rp b24gbWF5IGJlIHRvbyBleHBlbnNpdmUgdG8NCnVzZS4gVGhlcmVmb3JlLCB0aGUgYWJvdmUg bWVudGlvbmVkIGNoYW5nZXMgd2lsbCBvbmx5IGJlIGFwcGxpZWQgaWYNCnRoZSBfX0hBVkVf QVJDSF9DTVBYQ0hHIGZsYWcgaXMgc2V0LiBNb3N0IG9mIHRoZSBtYWpvciBhcmNoaXRlY3R1 cmVzDQpzdXBwb3J0ZWQgYnkgTGludXggaGF2ZSB0aGlzIGZsYWcgc2V0IHdpdGggdGhlIG5v dGF0aW9uIGV4Y2VwdGlvbg0Kb2YgQVJNLg0KDQpBcyBmb3IgdGhlIHBlcmZvcm1hbmNlIG9m IHRoZSB1cGRhdGVkIHJlZmVyZW5jZSBjb3VudGluZyBjb2RlLCBpdA0KYWxsIGRlcGVuZHMg b24gd2hldGhlciB0aGUgY21weGNoZyBpbnN0cnVjdGlvbiBpcyB1c2VkIG9yIG5vdC4gVGhl DQpvcmlnaW5hbCBjb2RlIGhhcyAyIGF0b21pYyBpbnN0cnVjdGlvbnMgdG8gbG9jayBhbmQg dW5sb2NrIHRoZQ0Kc3BpbmxvY2suIFRoZSBuZXcgY29kZSBwYXRoIGhhcyBlaXRoZXIgMSBh dG9taWMgY21weGNoZyBpbnN0cnVjdGlvbg0Kb3IgMyBhdG9taWMgaW5zdHJ1Y3Rpb25zIGlm IHRoZSBsb2NrIGhhcyB0byBiZSB0YWtlbi4gRGVwZW5kaW5nIG9uDQpob3cgZnJlcXVlbnQg dGhlIGNtcHhjaGcgaW5zdHJ1Y3Rpb24gaXMgdXNlZCAoZF9jb3VudCA+IDEgb3IgMiksDQp0 aGUgbmV3IGNvZGUgY2FuIGJlIGZhc3RlciBvciBzbG93ZXIgdGhhbiB0aGUgb3JpZ2luYWwg b25lLg0KDQpUaGlzIHBhdGNoIGhhcyBhIHBhcnRpY3VsYXIgYmlnIGltcGFjdCBvbiB0aGUg c2hvcnQgd29ya2xvYWQgb2YgdGhlDQpBSU03IGJlbmNobWFyayB3aXRoIHJhbWRpc2sgZmls ZXN5c3RlbS4gVGhlIHRhYmxlIGJlbG93IHNob3cgdGhlDQpwZXJmb3JtYW5jZSBpbXByb3Zl bWVudCB0byB0aGUgSlBNIChqb2JzIHBlciBtaW51dGVzKSB0aHJvdWdocHV0IGR1ZQ0KdG8g dGhpcyBwYXRjaCBvbiBhbiA4LXNvY2tldCA4MC1jb3JlIHg4Ni02NCBzeXN0ZW0gd2l0aCBh IDMuMTAtcmMxDQprZXJuZWwgaW4gYSAxLzIvNC84IG5vZGUgY29uZmlndXJhdGlvbiBieSB1 c2luZyBudW1hY3RsIHRvIHJlc3RyaWN0DQp0aGUgZXhlY3V0aW9uIG9mIHRoZSB3b3JrbG9h ZCBvbiBjZXJ0YWluIG5vZGVzLg0KDQorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKw0KfCAgQ29uZmlndXJhdGlvbiAg fCAgICBNZWFuIEpQTSAgICB8ICAgIE1lYW4gSlBNICAgICB8ICUgQ2hhbmdlIHwNCnwgICAg ICAgICAgICAgICAgIHwgUmF0ZSB3L28gcGF0Y2ggfCBSYXRlIHdpdGggcGF0Y2ggfCAgICAg ICAgICB8DQorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg VXNlciBSYW5nZSAxMCAtIDEwMCAgICAgICAgICAgIHwNCistLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQp8IDggbm9k ZXMsIEhUIG9mZiB8ICAgIDE1NDY4MTMgICAgIHwgICAgIDUwODAxMjYgICAgIHwgKzIyOC40 JSAgfA0KfCA0IG5vZGVzLCBIVCBvZmYgfCAgICAxNjYzNDM5ICAgICB8ICAgICA0NzAzMDgz ICAgICB8ICsxODIuNyUgIHwNCnwgMiBub2RlcywgSFQgb2ZmIHwgICAgMjU0NTM4OSAgICAg fCAgICAgMzc5MDk5NSAgICAgfCAgKzQ4LjklICB8DQp8IDEgbm9kZSAsIEhUIG9mZiB8ICAg IDIzNzQ0ODggICAgIHwgICAgIDIzOTQ4NDYgICAgIHwgICArMC45JSAgfA0KKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsNCnwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgIFVzZXIgUmFuZ2UgMjAwIC0g MTAwMCAgICAgICAgICB8DQorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KfCA4IG5vZGVzLCBIVCBvZmYgfCAgICAx MDY0MTg0ICAgICB8ICAgICA3MzkxMzgyICAgICB8ICs1OTQuNiUgIHwNCnwgNCBub2Rlcywg SFQgb2ZmIHwgICAgMTM2MjQ0NyAgICAgfCAgICAgNzMyNTQ3NSAgICAgfCArNDM3LjclICB8 DQp8IDIgbm9kZXMsIEhUIG9mZiB8ICAgIDE4NTExOTggICAgIHwgICAgIDQ1Mzk1MTEgICAg IHwgKzE0NS4yJSAgfA0KfCAxIG5vZGUgLCBIVCBvZmYgfCAgICAyNDc3NTM3ICAgICB8ICAg ICAyNDU3NTEzICAgICB8ICAgLTAuOCUgIHwNCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQp8ICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICBVc2VyIFJhbmdlIDExMDAgLSAyMDAwICAgICAgICAgfA0K Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsNCnwgOCBub2RlcywgSFQgb2ZmIHwgICAgMTA1NjI0MyAgICAgfCAgICAg NzA2NzI4MiAgICAgfCArNTY5LjElICB8DQp8IDQgbm9kZXMsIEhUIG9mZiB8ICAgIDEzNTQ1 MDUgICAgIHwgICAgIDY5MzA0MzcgICAgIHwgKzQxMS43JSAgfA0KfCAyIG5vZGVzLCBIVCBv ZmYgfCAgICAxNzM1ODgxICAgICB8ICAgICA0NTgxODQ3ICAgICB8ICsxNjQuMCUgIHwNCnwg MSBub2RlICwgSFQgb2ZmIHwgICAgMjUxMTU0NyAgICAgfCAgICAgMjQ5NjU5NCAgICAgfCAg IC0wLjYlICB8DQorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKw0KDQpJdCBjYW4gYmUgc2VlbiB0aGF0IHdpdGggMjAg Q1BVcyAoMiBub2Rlcykgb3IgbW9yZSwgdGhpcyBwYXRjaCBjYW4NCnNpZ25pZmljYW50bHkg aW1wcm92ZSB0aGUgc2hvcnQgd29ya2xvYWQgcGVyZm9ybWFuY2UuIFdpdGggb25seSAxDQpu b2RlLCB0aGUgcGVyZm9ybWFuY2UgaXMgc2ltaWxhciB3aXRoIG9yIHdpdGhvdXQgdGhlIHBh dGNoLiBUaGUgc2hvcnQNCndvcmtsb2FkIGFsc28gc2NhbGVzIHByZXR0eSB3ZWxsIHVwIHRv IDQgbm9kZXMgd2l0aCB0aGlzIHBhdGNoLg0KDQpBIHBlcmYgY2FsbC1ncmFwaCByZXBvcnQg b2YgdGhlIHNob3J0IHdvcmtsb2FkIGF0IDE1MDAgdXNlcnMgd2l0aG91dA0KdGhlIHBhdGNo IG9uIDggbm9kZXMgaW5kaWNhdGVzIHRoYXQgYWJvdXQgNzklIG9mIHRoZSB3b3JrbG9hZCdz IHRvdGFsDQp0aW1lIHdlcmUgc3BlbnQgaW4gdGhlIF9yYXdfc3Bpbl9sb2NrKCkgZnVuY3Rp b24uIEFsbW9zdCBhbGwgb2Ygd2hpY2gNCmNhbiBiZSBhdHRyaWJ1dGVkIHRvIHRoZSBmb2xs b3dpbmcgMiBrZXJuZWwgZnVuY3Rpb25zOg0KMS4gZGdldF9wYXJlbnQgKDQ5LjkxJSkNCjIu IGRwdXQgKDQ5LjgyJSkNCg0KV2l0aCB0aGlzIHBhdGNoIG9uLCB0aGUgdGltZSBzcGVudCBv biBfcmF3X3NwaW5fbG9jaygpIGlzIG9ubHkgMS4zOCUNCndoaWNoIGlzIGEgaHVnZSBpbXBy b3ZlbWVudC4gT2YgdGhlIDEuMzglLCBvbmx5IGEgc21hbGwgcG9ydGlvbiBvZiBpdA0KaXMg cmVsYXRlZCB0byB0aGUgZGNhY2hlIGxvY2suIEhvd2V2ZXIsIHRoZSBfcmF3X3NwaW5fbG9j a19pcnFzYXZlKCkNCm9mIHRoZSB0dHlfbGRpc2NfbG9jayBub3cgZG9taW5hdGVzIHdpdGgg MjQuNSUgb2YgdGhlIHRvdGFsIHRpbWUuDQoNClRoaXMgaW1wYWN0IG9mIHRoaXMgcGF0Y2gg b24gb3RoZXIgQUlNNyB3b3JrbG9hZHMgd2VyZSBtdWNoIG1vcmUNCm1vZGVzdC4gIFRoZSB0 YWJsZSBiZWxvdyBzaG93IHRoZSBtZWFuICVjaGFuZ2UgZHVlIHRvIHRoaXMgcGF0Y2ggb24N CnRoZSBzYW1lIDgtc29ja2V0IHN5c3RlbSB3aXRoIGEgMy4xMC1yYzEga2VybmVsLg0KDQor LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rDQp8ICAgV29ya2xvYWQgICB8IG1lYW4gJSBjaGFuZ2UgfCBtZWFuICUg Y2hhbmdlICB8IG1lYW4gJSBjaGFuZ2UgICB8DQp8ICAgICAgICAgICAgICB8IDEwLTEwMCB1 c2VycyAgfCAyMDAtMTAwMCB1c2VycyB8IDExMDAtMjAwMCB1c2VycyB8DQorLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rDQp8IGFsbHRlc3RzICAgICB8ICAgICAtMC4yJSAgICAgfCAgICAgLTAuNSUgICAgICB8 ICAgICAtMi43JSAgICAgICB8DQp8IGZpdmVfc2VjICAgICB8ICAgICAtMS4wJSAgICAgfCAg ICAgKzIuNiUgICAgICB8ICAgICArMi40JSAgICAgICB8DQp8IGZzZXJ2ZXIgICAgICB8ICAg ICArMS4zJSAgICAgfCAgICAgKzEuOSUgICAgICB8ICAgICArMS4wJSAgICAgICB8DQp8IGhp Z2hfc3lzdGltZSB8ICAgICArMC4xJSAgICAgfCAgICAgKzEuMyUgICAgICB8ICAgICArNC44 JSAgICAgICB8DQp8IG5ld19mc2VydmVyICB8ICAgICAtMS41JSAgICAgfCAgICAgKzAuOCUg ICAgICB8ICAgICArMS4xJSAgICAgICB8DQp8IHNoYXJlZCAgICAgICB8ICAgICArMC41JSAg ICAgfCAgICAgKzAuNCUgICAgICB8ICAgICAtMC4xJSAgICAgICB8DQorLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r DQoNClNpZ25lZC1vZmYtYnk6IFdhaW1hbiBMb25nIDxXYWltYW4uTG9uZ0BocC5jb20+DQot LS0NCmZzL2RjYWNoZS5jICAgICAgICAgICAgfCAgIDM3ICsrKysrKysrLS0tLS0tLS0tDQpm cy9uYW1laS5jICAgICAgICAgICAgIHwgICAgMiArLQ0KaW5jbHVkZS9saW51eC9kY2FjaGUu aCB8ICAxMDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0NCjMgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygt KQ0KDQpkaWZmIC0tZ2l0IGEvZnMvZGNhY2hlLmMgYi9mcy9kY2FjaGUuYw0KaW5kZXggZjA5 YjkwOC4uNDcwYjA2ZiAxMDA2NDQNCi0tLSBhL2ZzL2RjYWNoZS5jDQorKysgYi9mcy9kY2Fj aGUuYw0KQEAgLTQ2Nyw3ICs0NjcsNyBAQCByZWxvY2s6DQogfQ0KDQogaWYgKHJlZikNCi1k ZW50cnktPmRfY291bnQtLTsNCitkY291bnRfZGVjKGRlbnRyeSk7DQogLyoNCiogaW5mb3Jt IHRoZSBmcyB2aWEgZF9wcnVuZSB0aGF0IHRoaXMgZGVudHJ5IGlzIGFib3V0IHRvIGJlDQoq IHVuaGFzaGVkIGFuZCBkZXN0cm95ZWQuDQpAQCAtNTE1LDEwICs1MTUsMTMgQEAgdm9pZCBk cHV0KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkNCnJlcGVhdDoNCiBpZiAoZGVudHJ5LT5kX2Nv dW50ID09IDEpDQptaWdodF9zbGVlcCgpOw0KKyBpZiAoZGNvdW50X2RlY19jbXB4Y2hnKGRl bnRyeSkpDQorcmV0dXJuOw0KKw0KIHNwaW5fbG9jaygmZGVudHJ5LT5kX2xvY2spOw0KIEJV R19PTighZGVudHJ5LT5kX2NvdW50KTsNCiBpZiAoZGVudHJ5LT5kX2NvdW50ID4gMSkgew0K LWRlbnRyeS0+ZF9jb3VudC0tOw0KK2Rjb3VudF9kZWMoZGVudHJ5KTsNCnNwaW5fdW5sb2Nr KCZkZW50cnktPmRfbG9jayk7DQpyZXR1cm47DQogfQ0KQEAgLTUzNSw3ICs1MzgsNyBAQCBy ZXBlYXQ6DQogZGVudHJ5LT5kX2ZsYWdzIHw9IERDQUNIRV9SRUZFUkVOQ0VEOw0KIGRlbnRy eV9scnVfYWRkKGRlbnRyeSk7DQoNCi0gZGVudHJ5LT5kX2NvdW50LS07DQorIGRjb3VudF9k ZWMoZGVudHJ5KTsNCiBzcGluX3VubG9jaygmZGVudHJ5LT5kX2xvY2spOw0KIHJldHVybjsN Cg0KQEAgLTYwNiwxMSArNjA5LDEzIEBAIEVYUE9SVF9TWU1CT0woZF9pbnZhbGlkYXRlKTsN Ci8qIFRoaXMgbXVzdCBiZSBjYWxsZWQgd2l0aCBkX2xvY2sgaGVsZCAqLw0Kc3RhdGljIGlu bGluZSB2b2lkIF9fZGdldF9kbG9jayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQp7DQotIGRl bnRyeS0+ZF9jb3VudCsrOw0KKyBkY291bnRfaW5jKGRlbnRyeSk7DQp9DQoNCnN0YXRpYyBp bmxpbmUgdm9pZCBfX2RnZXQoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0Kew0KKyBpZiAoZGNv dW50X2luY19jbXB4Y2hnKGRlbnRyeSkpDQorcmV0dXJuOw0KIHNwaW5fbG9jaygmZGVudHJ5 LT5kX2xvY2spOw0KIF9fZGdldF9kbG9jayhkZW50cnkpOw0KIHNwaW5fdW5sb2NrKCZkZW50 cnktPmRfbG9jayk7DQpAQCAtNjIwLDIyICs2MjUsMTYgQEAgc3RydWN0IGRlbnRyeSAqZGdl dF9wYXJlbnQoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0Kew0KIHN0cnVjdCBkZW50cnkgKnJl dDsNCg0KLXJlcGVhdDoNCi0gLyoNCi0qIERvbid0IG5lZWQgcmN1X2RlcmVmZXJlbmNlIGJl Y2F1c2Ugd2UgcmUtY2hlY2sgaXQgd2FzIGNvcnJlY3QgdW5kZXINCi0qIHRoZSBsb2NrLg0K LSovDQogcmN1X3JlYWRfbG9jaygpOw0KLSByZXQgPSBkZW50cnktPmRfcGFyZW50Ow0KLSBz cGluX2xvY2soJnJldC0+ZF9sb2NrKTsNCi0gaWYgKHVubGlrZWx5KHJldCAhPSBkZW50cnkt PmRfcGFyZW50KSkgew0KLXNwaW5fdW5sb2NrKCZyZXQtPmRfbG9jayk7DQorIHJldCA9IHJj dV9kZXJlZmVyZW5jZShkZW50cnktPmRfcGFyZW50KTsNCisgaWYgKGRjb3VudF9pbmNfY21w eGNoZyhyZXQpKSB7DQpyY3VfcmVhZF91bmxvY2soKTsNCi1nb3RvIHJlcGVhdDsNCityZXR1 cm4gcmV0Ow0KIH0NCisgc3Bpbl9sb2NrKCZyZXQtPmRfbG9jayk7DQogcmN1X3JlYWRfdW5s b2NrKCk7DQogQlVHX09OKCFyZXQtPmRfY291bnQpOw0KLSByZXQtPmRfY291bnQrKzsNCisg ZGNvdW50X2luYyhyZXQpOw0KIHNwaW5fdW5sb2NrKCZyZXQtPmRfbG9jayk7DQogcmV0dXJu IHJldDsNCn0NCkBAIC03NjUsNyArNzY0LDcgQEAgc3RhdGljIHZvaWQgdHJ5X3BydW5lX29u ZV9kZW50cnkoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KIHdoaWxlIChkZW50cnkpIHsNCnNw aW5fbG9jaygmZGVudHJ5LT5kX2xvY2spOw0KaWYgKGRlbnRyeS0+ZF9jb3VudCA+IDEpIHsN Ci0gZGVudHJ5LT5kX2NvdW50LS07DQorIGRjb3VudF9kZWMoZGVudHJ5KTsNCiBzcGluX3Vu bG9jaygmZGVudHJ5LT5kX2xvY2spOw0KIHJldHVybjsNCn0NCkBAIC0xOTcwLDcgKzE5Njks NyBAQCBzdHJ1Y3QgZGVudHJ5ICpfX2RfbG9va3VwKGNvbnN0IHN0cnVjdCBkZW50cnkgKnBh cmVudCwgY29uc3Qgc3RydWN0IHFzdHIgKm5hbWUpDQpnb3RvIG5leHQ7DQp9DQoNCi1kZW50 cnktPmRfY291bnQrKzsNCitkY291bnRfaW5jKGRlbnRyeSk7DQpmb3VuZCA9IGRlbnRyeTsN CnNwaW5fdW5sb2NrKCZkZW50cnktPmRfbG9jayk7DQpicmVhazsNCkBAIC0yOTM3LDcgKzI5 MzYsNyBAQCByZXN1bWU6DQp9DQppZiAoIShkZW50cnktPmRfZmxhZ3MgJiBEQ0FDSEVfR0VO T0NJREUpKSB7DQogZGVudHJ5LT5kX2ZsYWdzIHw9IERDQUNIRV9HRU5PQ0lERTsNCi0gZGVu dHJ5LT5kX2NvdW50LS07DQorIGRjb3VudF9kZWMoZGVudHJ5KTsNCn0NCnNwaW5fdW5sb2Nr KCZkZW50cnktPmRfbG9jayk7DQogfQ0KQEAgLTI5NDUsNyArMjk0NCw3IEBAIHJlc3VtZToN CnN0cnVjdCBkZW50cnkgKmNoaWxkID0gdGhpc19wYXJlbnQ7DQppZiAoISh0aGlzX3BhcmVu dC0+ZF9mbGFncyAmIERDQUNIRV9HRU5PQ0lERSkpIHsNCiB0aGlzX3BhcmVudC0+ZF9mbGFn cyB8PSBEQ0FDSEVfR0VOT0NJREU7DQotIHRoaXNfcGFyZW50LT5kX2NvdW50LS07DQorIGRj b3VudF9kZWModGhpc19wYXJlbnQpOw0KfQ0KdGhpc19wYXJlbnQgPSB0cnlfdG9fYXNjZW5k KHRoaXNfcGFyZW50LCBsb2NrZWQsIHNlcSk7DQppZiAoIXRoaXNfcGFyZW50KQ0KZGlmZiAt LWdpdCBhL2ZzL25hbWVpLmMgYi9mcy9uYW1laS5jDQppbmRleCA4NWU0MGQxLi4wM2RjYWVk IDEwMDY0NA0KLS0tIGEvZnMvbmFtZWkuYw0KKysrIGIvZnMvbmFtZWkuYw0KQEAgLTUzNyw3 ICs1MzcsNyBAQCBzdGF0aWMgaW50IHVubGF6eV93YWxrKHN0cnVjdCBuYW1laWRhdGEgKm5k LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQogKi8NCkJVR19PTighSVNfUk9PVChkZW50cnkp ICYmIGRlbnRyeS0+ZF9wYXJlbnQgIT0gcGFyZW50KTsNCkJVR19PTighcGFyZW50LT5kX2Nv dW50KTsNCi1wYXJlbnQtPmRfY291bnQrKzsNCitkY291bnRfaW5jKHBhcmVudCk7DQpzcGlu X3VubG9jaygmZGVudHJ5LT5kX2xvY2spOw0KIH0NCiBzcGluX3VubG9jaygmcGFyZW50LT5k X2xvY2spOw0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmggYi9pbmNsdWRl L2xpbnV4L2RjYWNoZS5oDQppbmRleCAxYTZiYjgxLi45OWRhNWUyIDEwMDY0NA0KLS0tIGEv aW5jbHVkZS9saW51eC9kY2FjaGUuaA0KKysrIGIvaW5jbHVkZS9saW51eC9kY2FjaGUuaA0K QEAgLTI1OCw2ICsyNTgsOTkgQEAgZXh0ZXJuIGludCBoYXZlX3N1Ym1vdW50cyhzdHJ1Y3Qg ZGVudHJ5ICopOw0KZXh0ZXJuIHZvaWQgZF9yZWhhc2goc3RydWN0IGRlbnRyeSAqKTsNCg0K LyoqDQorICpkY291bnRfaW5jLCBkY291bnRfZGVjIC0gaW5jcmVtZW50IG9yIGRlY3JlbWVu dCB0aGUgZGVudHJ5IHJlZmVyZW5jZQ0KKyAqY291bnQNCisgKkBkZW50cnk6IGRlbnRyeSB0 byBnZXQgYSByZWZlcmVuY2UgdG8NCisgKi8NCitzdGF0aWMgaW5saW5lIHZvaWQgZGNvdW50 X2luYyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQorew0KKyNpZmRlZiAgX19IQVZFX0FSQ0hf Q01QWENIRw0KKyBhdG9taWNfaW5jKChhdG9taWNfdCAqKSZkZW50cnktPmRfY291bnQpOw0K KyNlbHNlDQorIGRlbnRyeS0+ZF9jb3VudCsrOw0KKyNlbmRpZg0KK30NCisNCitzdGF0aWMg aW5saW5lIHZvaWQgZGNvdW50X2RlYyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQorew0KKyNp ZmRlZiAgX19IQVZFX0FSQ0hfQ01QWENIRw0KKyBhdG9taWNfZGVjKChhdG9taWNfdCAqKSZk ZW50cnktPmRfY291bnQpOw0KKyNlbHNlDQorIGRlbnRyeS0+ZF9jb3VudC0tOw0KKyNlbmRp Zg0KK30NCisNCisvKioNCisgKmRjb3VudF9pbmNfY21weGNoZyAtIGluY3JlbWVudCBkZW50 cnkgcmVmZXJlbmNlIGNvdW50IHVzaW5nIGNtcHhjaGcNCisgKkBkZW50cnk6IGRlbnRyeSB0 byBnZXQgYSByZWZlcmVuY2UgdG8NCisgKlJldHVybiA6IDAgb24gZmFpbHVyZSwgZWxzZSAx DQorICoNCisgKk4uQi4gRm9yIGFyY2hpdGVjdHVyZXMgdGhhdCBkbyBub3QgaGF2ZSBhIGNt cHhjaGcgaW5zdHJ1Y3Rpb24sIHRoZQ0KKyAqICAgICBzdWJzdGl0dXRlIGNvZGUgbWF5IG5v dCBwZXJmb3JtIGJldHRlciB0aGFuIHRha2luZyB0aGUgbG9jay4NCisgKiAgICAgU28gdGhp cyBjbXB4Y2hnIGNvZGUgcGF0aCBpcyBkaXNhYmxlZCBmb3IgdGhvc2UgY2FzZXMuDQorICov DQorc3RhdGljIGlubGluZSBpbnQgZGNvdW50X2luY19jbXB4Y2hnKHN0cnVjdCBkZW50cnkg KmRlbnRyeSkNCit7DQorI2lmZGVmIF9fSEFWRV9BUkNIX0NNUFhDSEcNCisgaW50IG9sZGMs IG5ld2M7DQorDQorIGlmICgob2xkYyA9IGRlbnRyeS0+ZF9jb3VudCkgPiAxKSB7DQorLyoN CisgKiBJZiByZWZlcmVuY2UgY291bnQgPiAxLCB3ZSBjYW4gc2FmZWx5IGluY3JlbWVudCBp dHMNCisgKiB2YWx1ZSB1c2luZyBhdG9taWMgY21weGNoZyB3aXRob3V0IGxvY2tpbmcuIElm IHRoZQ0KKyAqIG9wZXJhdGlvbiBmYWlscywgZmFsbCBiYWNrIHRvIHVzaW5nIHRoZSBsb2Nr Lg0KKyAqLw0KK25ld2MgPSBvbGRjICsgMTsNCitpZiAoY21weGNoZygmZGVudHJ5LT5kX2Nv dW50LCBvbGRjLCBuZXdjKSA9PSBvbGRjKQ0KKyByZXR1cm4gMTsNCitjcHVfcmVsYXgoKTsN CisvKiBSZXRyeSBvbmUgbW9yZSB0aW1lICovDQoraWYgKGxpa2VseSgob2xkYyA9IEFDQ0VT U19PTkNFKGRlbnRyeS0+ZF9jb3VudCkpID4gMSkpIHsNCisgbmV3YyA9IG9sZGMgKyAxOw0K KyBpZiAoY21weGNoZygmZGVudHJ5LT5kX2NvdW50LCBvbGRjLCBuZXdjKSA9PSBvbGRjKQ0K K3JldHVybiAxOw0KKyBjcHVfcmVsYXgoKTsNCit9DQorIH0NCisjZW5kaWYNCisgcmV0dXJu IDA7DQorfQ0KKw0KKy8qKg0KKyAqZGNvdW50X2RlY19jbXB4Y2hnIC0gZGVjcmVtZW50IGRl bnRyeSByZWZlcmVuY2UgY291bnQgdXNpbmcgY21weGNoZw0KKyAqQGRlbnRyeTogZGVudHJ5 IHRvIGdldCBhIHJlZmVyZW5jZSB0bw0KKyAqUmV0dXJuIDogMCBvbiBmYWlsdXJlLCBlbHNl IDENCisgKi8NCitzdGF0aWMgaW5saW5lIGludCBkY291bnRfZGVjX2NtcHhjaGcoc3RydWN0 IGRlbnRyeSAqZGVudHJ5KQ0KK3sNCisjaWZkZWYgX19IQVZFX0FSQ0hfQ01QWENIRw0KKyBp bnQgb2xkYywgbmV3YzsNCisNCisgLyoNCisqIElmIGRfY291bnQgaXMgYmlnZ2VyIHRoYW4g Miwgd2UgY2FuIHNhZmVseSBkZWNyZW1lbnQgdGhlDQorKiByZWZlcmVuY2UgY291bnQgdXNp bmcgYXRvbWljIGNtcHhjaGcgaW5zdHJ1Y3Rpb24gd2l0aG91dCBsb2NraW5nLg0KKyogRXZl biBpZiBkX2xvY2sgaXMgdGFrZW4gYnkgYSB0aHJlYWQgcnVubmluZyBkcHV0KCkgd2l0aCBh IHBhcmFsbGVsDQorKiBhdG9taWNfZGVjKCksIHRoZSByZWZlcmVuY2UgY291bnQgd29uJ3Qg Z28gdG8gMCB3aXRob3V0IGFueW9uZQ0KKyogbm90aWNpbmcuDQorKi8NCisgaWYgKChvbGRj ID0gZGVudHJ5LT5kX2NvdW50KSA+IDIpIHsNCituZXdjID0gb2xkYyAtIDE7DQoraWYgKGNt cHhjaGcoJmRlbnRyeS0+ZF9jb3VudCwgb2xkYywgbmV3YykgPT0gb2xkYykNCisgcmV0dXJu IDE7DQorY3B1X3JlbGF4KCk7DQorLyogUmV0cnkgb25lIG1vcmUgdGltZSAqLw0KK2lmIChs aWtlbHkoKG9sZGMgPSBBQ0NFU1NfT05DRShkZW50cnktPmRfY291bnQpKSA+IDIpKSB7DQor IG5ld2MgPSBvbGRjIC0gMTsNCisgaWYgKGNtcHhjaGcoJmRlbnRyeS0+ZF9jb3VudCwgb2xk YywgbmV3YykgPT0gb2xkYykNCityZXR1cm4gMTsNCisgY3B1X3JlbGF4KCk7DQorfQ0KKyB9 DQorI2VuZGlmDQorIHJldHVybiAwOw0KK30NCisNCisvKioNCiAqIGRfYWRkIC0gYWRkIGRl bnRyeSB0byBoYXNoIHF1ZXVlcw0KICogQGVudHJ5OiBkZW50cnkgdG8gYWRkDQogKiBAaW5v ZGU6IFRoZSBpbm9kZSB0byBhdHRhY2ggdG8gdGhpcyBkZW50cnkNCkBAIC0zMTksNyArNDEy LDcgQEAgc3RhdGljIGlubGluZSBpbnQgX19kX3JjdV90b19yZWZjb3VudChzdHJ1Y3QgZGVu dHJ5ICpkZW50cnksIHVuc2lnbmVkIHNlcSkNCiBhc3NlcnRfc3Bpbl9sb2NrZWQoJmRlbnRy eS0+ZF9sb2NrKTsNCiBpZiAoIXJlYWRfc2VxY291bnRfcmV0cnkoJmRlbnRyeS0+ZF9zZXEs IHNlcSkpIHsNCnJldCA9IDE7DQotZGVudHJ5LT5kX2NvdW50Kys7DQorZGNvdW50X2luYyhk ZW50cnkpOw0KIH0NCg0KIHJldHVybiByZXQ7DQpAQCAtMzQwLDcgKzQzMyw2IEBAIGV4dGVy biBjaGFyICpkZW50cnlfcGF0aF9yYXcoc3RydWN0IGRlbnRyeSAqLCBjaGFyICosIGludCk7 DQpleHRlcm4gY2hhciAqZGVudHJ5X3BhdGgoc3RydWN0IGRlbnRyeSAqLCBjaGFyICosIGlu dCk7DQoNCi8qIEFsbG9jYXRpb24gY291bnRzLi4gKi8NCi0NCi8qKg0KICogZGdldCwgZGdl dF9kbG9jayAtIGdldCBhIHJlZmVyZW5jZSB0byBhIGRlbnRyeQ0KICogQGRlbnRyeTogZGVu dHJ5IHRvIGdldCBhIHJlZmVyZW5jZSB0bw0KQEAgLTM1MiwxMyArNDQ0LDE2IEBAIGV4dGVy biBjaGFyICpkZW50cnlfcGF0aChzdHJ1Y3QgZGVudHJ5ICosIGNoYXIgKiwgaW50KTsNCnN0 YXRpYyBpbmxpbmUgc3RydWN0IGRlbnRyeSAqZGdldF9kbG9jayhzdHJ1Y3QgZGVudHJ5ICpk ZW50cnkpDQp7DQogaWYgKGRlbnRyeSkNCi1kZW50cnktPmRfY291bnQrKzsNCitkY291bnRf aW5jKGRlbnRyeSk7DQogcmV0dXJuIGRlbnRyeTsNCn0NCg0Kc3RhdGljIGlubGluZSBzdHJ1 Y3QgZGVudHJ5ICpkZ2V0KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkNCnsNCiBpZiAoZGVudHJ5 KSB7DQoraWYgKGRjb3VudF9pbmNfY21weGNoZyhkZW50cnkpKQ0KKyByZXR1cm4gZGVudHJ5 Ow0KKw0Kc3Bpbl9sb2NrKCZkZW50cnktPmRfbG9jayk7DQpkZ2V0X2Rsb2NrKGRlbnRyeSk7 DQpzcGluX3VubG9jaygmZGVudHJ5LT5kX2xvY2spOw0KLS0gDQoxLjcuMQ0KDQotLQ0KVG8g dW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJl IGxpbnV4LWZzZGV2ZWwiIGluDQp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21v QHZnZXIua2VybmVsLm9yZw0KTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIu a2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1s