From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx176.postini.com [74.125.245.176]) by kanga.kvack.org (Postfix) with SMTP id B56D96B0032 for ; Mon, 19 Aug 2013 04:22:35 -0400 (EDT) From: Lisa Du Date: Mon, 19 Aug 2013 01:19:19 -0700 Subject: RE: [resend] [PATCH V3] mm: vmscan: fix do_try_to_free_pages() livelock Message-ID: <89813612683626448B837EE5A0B6A7CB3B632A9C37@SC-VEXCH4.marvell.com> References: <89813612683626448B837EE5A0B6A7CB3B630BE80B@SC-VEXCH4.marvell.com> <20130805074146.GD10146@dhcp22.suse.cz> <89813612683626448B837EE5A0B6A7CB3B630BED6B@SC-VEXCH4.marvell.com> <20130806103543.GA31138@dhcp22.suse.cz> <89813612683626448B837EE5A0B6A7CB3B63175BCA@SC-VEXCH4.marvell.com> <20130808181426.GI715@cmpxchg.org> Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Morton Cc: Johannes Weiner , Michal Hocko , "linux-mm@kvack.org" , Minchan Kim , KOSAKI Motohiro , Mel Gorman , Christoph Lameter , Bob Liu , Neil Zhang , Russell King - ARM Linux , Aaditya Kumar , "yinghan@google.com" , "npiggin@gmail.com" , "riel@redhat.com" , Lisa Du , "kamezawa.hiroyu@jp.fujitsu.com" SGksIEFuZHJldw0KV291bGQgeW91IHBsZWFzZSBoYXZlIGEgbG9vayBhdCBiZWxvdyBwYXRjaCBh bmQgZ2l2ZSB5b3VyIGNvbW1lbnRzIGlmIGFueT8NClRoYW5rcyBhIGxvdCENCg0KVGhhbmtzIQ0K DQpCZXN0IFJlZ2FyZHMNCkxpc2EgRHUNCg0KDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj5Gcm9tOiBMaXNhIER1DQo+U2VudDogMjAxM8TqONTCMTLI1SA5OjQ2DQo+VG86ICdKb2hhbm5l cyBXZWluZXInDQo+Q2M6IE1pY2hhbCBIb2NrbzsgbGludXgtbW1Aa3ZhY2sub3JnOyBNaW5jaGFu IEtpbTsgS09TQUtJIE1vdG9oaXJvOyBNZWwgR29ybWFuOyBDaHJpc3RvcGggTGFtZXRlcjsgQm9i IExpdTsgTmVpbCBaaGFuZzsNCj5SdXNzZWxsIEtpbmcgLSBBUk0gTGludXg7IEFhZGl0eWEgS3Vt YXI7IHlpbmdoYW5AZ29vZ2xlLmNvbTsgbnBpZ2dpbkBnbWFpbC5jb207IHJpZWxAcmVkaGF0LmNv bTsNCj5rYW1lemF3YS5oaXJveXVAanAuZnVqaXRzdS5jb20NCj5TdWJqZWN0OiBbcmVzZW5kXSBb UEFUQ0ggVjNdIG1tOiB2bXNjYW46IGZpeCBkb190cnlfdG9fZnJlZV9wYWdlcygpIGxpdmVsb2Nr DQo+DQo+SW4gdGhpcyB2ZXJzaW9uOg0KPlJlb3JkZXIgdGhlIGNoZWNrIGluIHBnZGF0X2JhbGFu Y2VkIGFjY29yZGluZyBKb2hhbm5lcydzIGNvbW1lbnQuDQo+DQo+RnJvbSA2NmE5ODU2Njc5MmI5 NTRlMTg3ZGNhMjUxZmJlMzgxOWFlYjk3N2I5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KPkZy b206IExpc2EgRHUgPGNsZHVAbWFydmVsbC5jb20+DQo+RGF0ZTogTW9uLCA1IEF1ZyAyMDEzIDA5 OjI2OjU3ICswODAwDQo+U3ViamVjdDogW1BBVENIXSBtbTogdm1zY2FuOiBmaXggZG9fdHJ5X3Rv X2ZyZWVfcGFnZXMoKSBsaXZlbG9jaw0KPg0KPlRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gS09TQUtJ J3Mgd29yayBhbmQgSSBhZGQgYSBsaXR0bGUgbW9yZSBkZXNjcmlwdGlvbiwgcGxlYXNlIHJlZmVy IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDEyLzYvMTQvNzQuDQo+DQo+Q3VycmVudGx5LCBJIGZv dW5kIHN5c3RlbSBjYW4gZW50ZXIgYSBzdGF0ZSB0aGF0IHRoZXJlIGFyZSBsb3RzIG9mIGZyZWUg cGFnZXMgaW4gYSB6b25lIGJ1dCBvbmx5IG9yZGVyLTAgYW5kIG9yZGVyLTEgcGFnZXMgd2hpY2gN Cj5tZWFucyB0aGUgem9uZSBpcyBoZWF2aWx5IGZyYWdtZW50ZWQsIHRoZW4gaGlnaCBvcmRlciBh bGxvY2F0aW9uIGNvdWxkIG1ha2UgZGlyZWN0IHJlY2xhaW0gcGF0aCdzIGxvbmcgc3RhbGwoZXgs IDYwIHNlY29uZHMpDQo+ZXNwZWNpYWxseSBpbiBubyBzd2FwIGFuZCBubyBjb21wYWNpdG9uIGVu dmlyb21lbnQuIFRoaXMgcHJvYmxlbSBoYXBwZW5lZCBvbiB2My40LCBidXQgaXQgc2VlbXMgaXNz dWUgc3RpbGwgbGl2ZXMgaW4gY3VycmVudCB0cmVlLA0KPnRoZSByZWFzb24gaXMgZG9fdHJ5X3Rv X2ZyZWVfcGFnZXMgZW50ZXIgbGl2ZSBsb2NrOg0KPg0KPmtzd2FwZCB3aWxsIGdvIHRvIHNsZWVw IGlmIHRoZSB6b25lcyBoYXZlIGJlZW4gZnVsbHkgc2Nhbm5lZCBhbmQgYXJlIHN0aWxsIG5vdCBi YWxhbmNlZC4gQXMga3N3YXBkIHRoaW5rcyB0aGVyZSdzIGxpdHRsZSBwb2ludCB0cnlpbmcNCj5h bGwgb3ZlciBhZ2FpbiB0byBhdm9pZCBpbmZpbml0ZSBsb29wLiBJbnN0ZWFkIGl0IGNoYW5nZXMg b3JkZXIgZnJvbSBoaWdoLW9yZGVyIHRvIDAtb3JkZXIgYmVjYXVzZSBrc3dhcGQgdGhpbmsgb3Jk ZXItMCBpcyB0aGUgbW9zdA0KPmltcG9ydGFudC4gTG9vayBhdCA3M2NlMDJlOSBpbiBkZXRhaWwu IElmIHdhdGVybWFya3MgYXJlIG9rLCBrc3dhcGQgd2lsbCBnbyBiYWNrIHRvIHNsZWVwIGFuZCBt YXkgbGVhdmUgem9uZS0+YWxsX3VucmVjbGFpbWFibGUgPQ0KPjAuDQo+SXQgYXNzdW1lIGhpZ2gt b3JkZXIgdXNlcnMgY2FuIHN0aWxsIHBlcmZvcm0gZGlyZWN0IHJlY2xhaW0gaWYgdGhleSB3aXNo Lg0KPg0KPkRpcmVjdCByZWNsYWltIGNvbnRpbnVlIHRvIHJlY2xhaW0gZm9yIGEgaGlnaCBvcmRl ciB3aGljaCBpcyBub3QgYSBDT1NUTFlfT1JERVIgd2l0aG91dCBvb20ta2lsbGVyIHVudGlsIGtz d2FwZCB0dXJuIG9uDQo+em9uZS0+YWxsX3VucmVjbGFpbWJsZS4NCj5UaGlzIGlzIGJlY2F1c2Ug dG8gYXZvaWQgdG9vIGVhcmx5IG9vbS1raWxsLiBTbyBpdCBtZWFucyBkaXJlY3RfcmVjbGFpbSBk ZXBlbmRzIG9uIGtzd2FwZCB0byBicmVhayB0aGlzIGxvb3AuDQo+DQo+SW4gd29yc3QgY2FzZSwg ZGlyZWN0LXJlY2xhaW0gbWF5IGNvbnRpbnVlIHRvIHBhZ2UgcmVjbGFpbSBmb3JldmVyIHdoZW4g a3N3YXBkIHNsZWVwcyBmb3JldmVyIHVudGlsIHNvbWVvbmUgbGlrZSB3YXRjaGRvZyBkZXRlY3QN Cj5hbmQgZmluYWxseSBraWxsIHRoZSBwcm9jZXNzLiBBcyBkZXNjcmliZWQgaW46DQo+aHR0cDov L3RocmVhZC5nbWFuZS5vcmcvZ21hbmUubGludXgua2VybmVsLm1tLzEwMzczNw0KPg0KPldlIGNh bid0IHR1cm4gb24gem9uZS0+YWxsX3VucmVjbGFpbWFibGUgZnJvbSBkaXJlY3QgcmVjbGFpbSBw YXRoIGJlY2F1c2UgZGlyZWN0IHJlY2xhaW0gcGF0aCBkb24ndCB0YWtlIGFueSBsb2NrIGFuZCB0 aGlzIHdheSBpcw0KPnJhY3kuDQo+VGh1cyB0aGlzIHBhdGNoIHJlbW92ZXMgem9uZS0+YWxsX3Vu cmVjbGFpbWFibGUgZmllbGQgY29tcGxldGVseSBhbmQgcmVjYWxjdWxhdGVzIHpvbmUgcmVjbGFp bWFibGUgc3RhdGUgZXZlcnkgdGltZS4NCj4NCj5Ob3RlOiB3ZSBjYW4ndCB0YWtlIHRoZSBpZGVh IHRoYXQgZGlyZWN0LXJlY2xhaW0gc2VlIHpvbmUtPnBhZ2VzX3NjYW5uZWQgZGlyZWN0bHkgYW5k IGtzd2FwZCBjb250aW51ZSB0byB1c2UNCj56b25lLT5hbGxfdW5yZWNsYWltYWJsZS4gQmVjYXVz ZSwgaXQgaXMgcmFjeS4gY29tbWl0IDkyOWJlYTdjNzEgKHZtc2NhbjogYWxsX3VucmVjbGFpbWFi bGUoKSB1c2UNCj56b25lLT5hbGxfdW5yZWNsYWltYWJsZSBhcyBhIG5hbWUpIGRlc2NyaWJlcyB0 aGUgZGV0YWlsLg0KPg0KPkNjOiBBYWRpdHlhIEt1bWFyIDxhYWRpdHlhLmt1bWFyLjMwQGdtYWls LmNvbT4NCj5DYzogWWluZyBIYW4gPHlpbmdoYW5AZ29vZ2xlLmNvbT4NCj5DYzogTmljayBQaWdn aW4gPG5waWdnaW5AZ21haWwuY29tPg0KPkFja2VkLWJ5OiBSaWsgdmFuIFJpZWwgPHJpZWxAcmVk aGF0LmNvbT4NCj5DYzogTWVsIEdvcm1hbiA8bWVsQGNzbi51bC5pZT4NCj5DYzogS0FNRVpBV0Eg SGlyb3l1a2kgPGthbWV6YXdhLmhpcm95dUBqcC5mdWppdHN1LmNvbT4NCj5DYzogQ2hyaXN0b3Bo IExhbWV0ZXIgPGNsQGxpbnV4LmNvbT4NCj5DYzogQm9iIExpdSA8bGxpdWJib0BnbWFpbC5jb20+ DQo+Q2M6IE5laWwgWmhhbmcgPHpoYW5nd21AbWFydmVsbC5jb20+DQo+Q2M6IFJ1c3NlbGwgS2lu ZyAtIEFSTSBMaW51eCA8bGludXhAYXJtLmxpbnV4Lm9yZy51az4NCj5SZXZpZXdlZC1ieTogTWlj aGFsIEhvY2tvIDxtaG9ja29Ac3VzZS5jej4NCj5BY2tlZC1ieTogTWluY2hhbiBLaW0gPG1pbmNo YW5Aa2VybmVsLm9yZz4NCj5BY2tlZC1ieTogSm9oYW5uZXMgV2VpbmVyIDxoYW5uZXNAY21weGNo Zy5vcmc+DQo+U2lnbmVkLW9mZi1ieTogS09TQUtJIE1vdG9oaXJvIDxrb3Nha2kubW90b2hpcm9A anAuZnVqaXRzdS5jb20+DQo+U2lnbmVkLW9mZi1ieTogTGlzYSBEdSA8Y2xkdUBtYXJ2ZWxsLmNv bT4NCj4tLS0NCj4gaW5jbHVkZS9saW51eC9tbV9pbmxpbmUuaCB8ICAgMjAgKysrKysrKysrKysr KysrKysrKw0KPiBpbmNsdWRlL2xpbnV4L21tem9uZS5oICAgIHwgICAgMSAtDQo+IGluY2x1ZGUv bGludXgvdm1zdGF0LmggICAgfCAgICAxIC0NCj4gbW0vcGFnZS13cml0ZWJhY2suYyAgICAgICB8 ICAgIDEgKw0KPiBtbS9wYWdlX2FsbG9jLmMgICAgICAgICAgIHwgICAgNSArLS0NCj4gbW0vdm1z Y2FuLmMgICAgICAgICAgICAgICB8ICAgNDcgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gbW0vdm1zdGF0LmMgICAgICAgICAgICAgICB8ICAgIDMgKy0NCj4g NyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkNCj4NCj5k aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbV9pbmxpbmUuaCBiL2luY2x1ZGUvbGludXgvbW1f aW5saW5lLmggaW5kZXggMTM5N2NjZi4uZTIxMmZhZSAxMDA2NDQNCj4tLS0gYS9pbmNsdWRlL2xp bnV4L21tX2lubGluZS5oDQo+KysrIGIvaW5jbHVkZS9saW51eC9tbV9pbmxpbmUuaA0KPkBAIC0y LDYgKzIsNyBAQA0KPiAjZGVmaW5lIExJTlVYX01NX0lOTElORV9IDQo+DQo+ICNpbmNsdWRlIDxs aW51eC9odWdlX21tLmg+DQo+KyNpbmNsdWRlIDxsaW51eC9zd2FwLmg+DQo+DQo+IC8qKg0KPiAg KiBwYWdlX2lzX2ZpbGVfY2FjaGUgLSBzaG91bGQgdGhlIHBhZ2UgYmUgb24gYSBmaWxlIExSVSBv ciBhbm9uIExSVT8NCj5AQCAtOTksNCArMTAwLDIzIEBAIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUg ZW51bSBscnVfbGlzdCBwYWdlX2xydShzdHJ1Y3QgcGFnZSAqcGFnZSkNCj4gCXJldHVybiBscnU7 DQo+IH0NCj4NCj4rc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHpvbmVfcmVjbGFpbWFibGVf cGFnZXMoc3RydWN0IHpvbmUgKnpvbmUpIHsNCj4rCWludCBucjsNCj4rDQo+KwluciA9IHpvbmVf cGFnZV9zdGF0ZSh6b25lLCBOUl9BQ1RJVkVfRklMRSkgKw0KPisJICAgICB6b25lX3BhZ2Vfc3Rh dGUoem9uZSwgTlJfSU5BQ1RJVkVfRklMRSk7DQo+Kw0KPisJaWYgKGdldF9ucl9zd2FwX3BhZ2Vz KCkgPiAwKQ0KPisJCW5yICs9IHpvbmVfcGFnZV9zdGF0ZSh6b25lLCBOUl9BQ1RJVkVfQU5PTikg Kw0KPisJCSAgICAgIHpvbmVfcGFnZV9zdGF0ZSh6b25lLCBOUl9JTkFDVElWRV9BTk9OKTsNCj4r DQo+KwlyZXR1cm4gbnI7DQo+K30NCj4rDQo+K3N0YXRpYyBpbmxpbmUgYm9vbCB6b25lX3JlY2xh aW1hYmxlKHN0cnVjdCB6b25lICp6b25lKSB7DQo+KwlyZXR1cm4gem9uZS0+cGFnZXNfc2Nhbm5l ZCA8IHpvbmVfcmVjbGFpbWFibGVfcGFnZXMoem9uZSkgKiA2OyB9DQo+Kw0KPiAjZW5kaWYNCj5k aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbXpvbmUuaCBiL2luY2x1ZGUvbGludXgvbW16b25l LmggaW5kZXggYWY0YTNiNy4uZTgzNTk3NCAxMDA2NDQNCj4tLS0gYS9pbmNsdWRlL2xpbnV4L21t em9uZS5oDQo+KysrIGIvaW5jbHVkZS9saW51eC9tbXpvbmUuaA0KPkBAIC0zNTIsNyArMzUyLDYg QEAgc3RydWN0IHpvbmUgew0KPiAJICogZnJlZSBhcmVhcyBvZiBkaWZmZXJlbnQgc2l6ZXMNCj4g CSAqLw0KPiAJc3BpbmxvY2tfdAkJbG9jazsNCj4tCWludCAgICAgICAgICAgICAgICAgICAgIGFs bF91bnJlY2xhaW1hYmxlOyAvKiBBbGwgcGFnZXMgcGlubmVkICovDQo+ICNpZiBkZWZpbmVkIENP TkZJR19DT01QQUNUSU9OIHx8IGRlZmluZWQgQ09ORklHX0NNQQ0KPiAJLyogU2V0IHRvIHRydWUg d2hlbiB0aGUgUEdfbWlncmF0ZV9za2lwIGJpdHMgc2hvdWxkIGJlIGNsZWFyZWQgKi8NCj4gCWJv b2wJCQljb21wYWN0X2Jsb2Nrc2tpcF9mbHVzaDsNCj5kaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC92bXN0YXQuaCBiL2luY2x1ZGUvbGludXgvdm1zdGF0LmggaW5kZXggYzU4NjY3OS4uNmZmZjAw NCAxMDA2NDQNCj4tLS0gYS9pbmNsdWRlL2xpbnV4L3Ztc3RhdC5oDQo+KysrIGIvaW5jbHVkZS9s aW51eC92bXN0YXQuaA0KPkBAIC0xNDMsNyArMTQzLDYgQEAgc3RhdGljIGlubGluZSB1bnNpZ25l ZCBsb25nIHpvbmVfcGFnZV9zdGF0ZV9zbmFwc2hvdChzdHJ1Y3Qgem9uZSAqem9uZSwgIH0NCj4N Cj4gZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZ2xvYmFsX3JlY2xhaW1hYmxlX3BhZ2VzKHZvaWQpOyAt ZXh0ZXJuIHVuc2lnbmVkIGxvbmcgem9uZV9yZWNsYWltYWJsZV9wYWdlcyhzdHJ1Y3Qgem9uZSAq em9uZSk7DQo+DQo+ICNpZmRlZiBDT05GSUdfTlVNQQ0KPiAvKg0KPmRpZmYgLS1naXQgYS9tbS9w YWdlLXdyaXRlYmFjay5jIGIvbW0vcGFnZS13cml0ZWJhY2suYyBpbmRleCAzZjBjODk1Li42MmJm ZDkyIDEwMDY0NA0KPi0tLSBhL21tL3BhZ2Utd3JpdGViYWNrLmMNCj4rKysgYi9tbS9wYWdlLXdy aXRlYmFjay5jDQo+QEAgLTM2LDYgKzM2LDcgQEANCj4gI2luY2x1ZGUgPGxpbnV4L3BhZ2V2ZWMu aD4NCj4gI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+DQo+ICNpbmNsdWRlIDxsaW51eC9zY2hlZC9y dC5oPg0KPisjaW5jbHVkZSA8bGludXgvbW1faW5saW5lLmg+DQo+ICNpbmNsdWRlIDx0cmFjZS9l dmVudHMvd3JpdGViYWNrLmg+DQo+DQo+IC8qDQo+ZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxsb2Mu YyBiL21tL3BhZ2VfYWxsb2MuYyBpbmRleCBiMTAwMjU1Li4xOWExOGMwIDEwMDY0NA0KPi0tLSBh L21tL3BhZ2VfYWxsb2MuYw0KPisrKyBiL21tL3BhZ2VfYWxsb2MuYw0KPkBAIC02MCw2ICs2MCw3 IEBADQo+ICNpbmNsdWRlIDxsaW51eC9wYWdlLWRlYnVnLWZsYWdzLmg+DQo+ICNpbmNsdWRlIDxs aW51eC9odWdldGxiLmg+DQo+ICNpbmNsdWRlIDxsaW51eC9zY2hlZC9ydC5oPg0KPisjaW5jbHVk ZSA8bGludXgvbW1faW5saW5lLmg+DQo+DQo+ICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4NCj4g I2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPg0KPkBAIC02NDcsNyArNjQ4LDYgQEAgc3RhdGljIHZv aWQgZnJlZV9wY3BwYWdlc19idWxrKHN0cnVjdCB6b25lICp6b25lLCBpbnQgY291bnQsDQo+IAlp bnQgdG9fZnJlZSA9IGNvdW50Ow0KPg0KPiAJc3Bpbl9sb2NrKCZ6b25lLT5sb2NrKTsNCj4tCXpv bmUtPmFsbF91bnJlY2xhaW1hYmxlID0gMDsNCj4gCXpvbmUtPnBhZ2VzX3NjYW5uZWQgPSAwOw0K Pg0KPiAJd2hpbGUgKHRvX2ZyZWUpIHsNCj5AQCAtNjk2LDcgKzY5Niw2IEBAIHN0YXRpYyB2b2lk IGZyZWVfb25lX3BhZ2Uoc3RydWN0IHpvbmUgKnpvbmUsIHN0cnVjdCBwYWdlICpwYWdlLCBpbnQg b3JkZXIsDQo+IAkJCQlpbnQgbWlncmF0ZXR5cGUpDQo+IHsNCj4gCXNwaW5fbG9jaygmem9uZS0+ bG9jayk7DQo+LQl6b25lLT5hbGxfdW5yZWNsYWltYWJsZSA9IDA7DQo+IAl6b25lLT5wYWdlc19z Y2FubmVkID0gMDsNCj4NCj4gCV9fZnJlZV9vbmVfcGFnZShwYWdlLCB6b25lLCBvcmRlciwgbWln cmF0ZXR5cGUpOyBAQCAtMzA5NSw3ICszMDk0LDcgQEAgdm9pZCBzaG93X2ZyZWVfYXJlYXModW5z aWduZWQgaW50IGZpbHRlcikNCj4gCQkJSyh6b25lX3BhZ2Vfc3RhdGUoem9uZSwgTlJfRlJFRV9D TUFfUEFHRVMpKSwNCj4gCQkJSyh6b25lX3BhZ2Vfc3RhdGUoem9uZSwgTlJfV1JJVEVCQUNLX1RF TVApKSwNCj4gCQkJem9uZS0+cGFnZXNfc2Nhbm5lZCwNCj4tCQkJKHpvbmUtPmFsbF91bnJlY2xh aW1hYmxlID8gInllcyIgOiAibm8iKQ0KPisJCQkoIXpvbmVfcmVjbGFpbWFibGUoem9uZSkgPyAi eWVzIiA6ICJubyIpDQo+IAkJCSk7DQo+IAkJcHJpbnRrKCJsb3dtZW1fcmVzZXJ2ZVtdOiIpOw0K PiAJCWZvciAoaSA9IDA7IGkgPCBNQVhfTlJfWk9ORVM7IGkrKykNCj5kaWZmIC0tZ2l0IGEvbW0v dm1zY2FuLmMgYi9tbS92bXNjYW4uYw0KPmluZGV4IDJjZmYwZDQuLjNmZTNkNWQgMTAwNjQ0DQo+ LS0tIGEvbW0vdm1zY2FuLmMNCj4rKysgYi9tbS92bXNjYW4uYw0KPkBAIC0xNzg5LDcgKzE3ODks NyBAQCBzdGF0aWMgdm9pZCBnZXRfc2Nhbl9jb3VudChzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0 cnVjdCBzY2FuX2NvbnRyb2wgKnNjLA0KPiAJICogbGF0ZW5jaWVzLCBzbyBpdCdzIGJldHRlciB0 byBzY2FuIGEgbWluaW11bSBhbW91bnQgdGhlcmUgYXMNCj4gCSAqIHdlbGwuDQo+IAkgKi8NCj4t CWlmIChjdXJyZW50X2lzX2tzd2FwZCgpICYmIHpvbmUtPmFsbF91bnJlY2xhaW1hYmxlKQ0KPisJ aWYgKGN1cnJlbnRfaXNfa3N3YXBkKCkgJiYgIXpvbmVfcmVjbGFpbWFibGUoem9uZSkpDQo+IAkJ Zm9yY2Vfc2NhbiA9IHRydWU7DQo+IAlpZiAoIWdsb2JhbF9yZWNsYWltKHNjKSkNCj4gCQlmb3Jj ZV9zY2FuID0gdHJ1ZTsNCj5AQCAtMjI0NCw4ICsyMjQ0LDggQEAgc3RhdGljIGJvb2wgc2hyaW5r X3pvbmVzKHN0cnVjdCB6b25lbGlzdCAqem9uZWxpc3QsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNj KQ0KPiAJCWlmIChnbG9iYWxfcmVjbGFpbShzYykpIHsNCj4gCQkJaWYgKCFjcHVzZXRfem9uZV9h bGxvd2VkX2hhcmR3YWxsKHpvbmUsIEdGUF9LRVJORUwpKQ0KPiAJCQkJY29udGludWU7DQo+LQkJ CWlmICh6b25lLT5hbGxfdW5yZWNsYWltYWJsZSAmJg0KPi0JCQkJCXNjLT5wcmlvcml0eSAhPSBE RUZfUFJJT1JJVFkpDQo+KwkJCWlmIChzYy0+cHJpb3JpdHkgIT0gREVGX1BSSU9SSVRZICYmDQo+ KwkJCSAgICAhem9uZV9yZWNsYWltYWJsZSh6b25lKSkNCj4gCQkJCWNvbnRpbnVlOwkvKiBMZXQg a3N3YXBkIHBvbGwgaXQgKi8NCj4gCQkJaWYgKElTX0VOQUJMRUQoQ09ORklHX0NPTVBBQ1RJT04p KSB7DQo+IAkJCQkvKg0KPkBAIC0yMjgzLDExICsyMjgzLDYgQEAgc3RhdGljIGJvb2wgc2hyaW5r X3pvbmVzKHN0cnVjdCB6b25lbGlzdCAqem9uZWxpc3QsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNj KQ0KPiAJcmV0dXJuIGFib3J0ZWRfcmVjbGFpbTsNCj4gfQ0KPg0KPi1zdGF0aWMgYm9vbCB6b25l X3JlY2xhaW1hYmxlKHN0cnVjdCB6b25lICp6b25lKSAtew0KPi0JcmV0dXJuIHpvbmUtPnBhZ2Vz X3NjYW5uZWQgPCB6b25lX3JlY2xhaW1hYmxlX3BhZ2VzKHpvbmUpICogNjsNCj4tfQ0KPi0NCj4g LyogQWxsIHpvbmVzIGluIHpvbmVsaXN0IGFyZSB1bnJlY2xhaW1hYmxlPyAqLyAgc3RhdGljIGJv b2wgYWxsX3VucmVjbGFpbWFibGUoc3RydWN0IHpvbmVsaXN0ICp6b25lbGlzdCwNCj4gCQlzdHJ1 Y3Qgc2Nhbl9jb250cm9sICpzYykNCj5AQCAtMjMwMSw3ICsyMjk2LDcgQEAgc3RhdGljIGJvb2wg YWxsX3VucmVjbGFpbWFibGUoc3RydWN0IHpvbmVsaXN0ICp6b25lbGlzdCwNCj4gCQkJY29udGlu dWU7DQo+IAkJaWYgKCFjcHVzZXRfem9uZV9hbGxvd2VkX2hhcmR3YWxsKHpvbmUsIEdGUF9LRVJO RUwpKQ0KPiAJCQljb250aW51ZTsNCj4tCQlpZiAoIXpvbmUtPmFsbF91bnJlY2xhaW1hYmxlKQ0K PisJCWlmICh6b25lX3JlY2xhaW1hYmxlKHpvbmUpKQ0KPiAJCQlyZXR1cm4gZmFsc2U7DQo+IAl9 DQo+DQo+QEAgLTI3MTIsNyArMjcwNyw3IEBAIHN0YXRpYyBib29sIHBnZGF0X2JhbGFuY2VkKHBn X2RhdGFfdCAqcGdkYXQsIGludCBvcmRlciwgaW50IGNsYXNzem9uZV9pZHgpDQo+IAkJICogREVG X1BSSU9SSVRZLiBFZmZlY3RpdmVseSwgaXQgY29uc2lkZXJzIHRoZW0gYmFsYW5jZWQgc28NCj4g CQkgKiB0aGV5IG11c3QgYmUgY29uc2lkZXJlZCBiYWxhbmNlZCBoZXJlIGFzIHdlbGwhDQo+IAkJ ICovDQo+LQkJaWYgKHpvbmUtPmFsbF91bnJlY2xhaW1hYmxlKSB7DQo+KwkJaWYgKCF6b25lX3Jl Y2xhaW1hYmxlKHpvbmUpKSB7DQo+IAkJCWJhbGFuY2VkX3BhZ2VzICs9IHpvbmUtPm1hbmFnZWRf cGFnZXM7DQo+IAkJCWNvbnRpbnVlOw0KPiAJCX0NCj5AQCAtMjc3Myw3ICsyNzY4LDYgQEAgc3Rh dGljIGJvb2wga3N3YXBkX3Nocmlua196b25lKHN0cnVjdCB6b25lICp6b25lLA0KPiAJCQkgICAg ICAgdW5zaWduZWQgbG9uZyBscnVfcGFnZXMsDQo+IAkJCSAgICAgICB1bnNpZ25lZCBsb25nICpu cl9hdHRlbXB0ZWQpDQo+IHsNCj4tCXVuc2lnbmVkIGxvbmcgbnJfc2xhYjsNCj4gCWludCB0ZXN0 b3JkZXIgPSBzYy0+b3JkZXI7DQo+IAl1bnNpZ25lZCBsb25nIGJhbGFuY2VfZ2FwOw0KPiAJc3Ry dWN0IHJlY2xhaW1fc3RhdGUgKnJlY2xhaW1fc3RhdGUgPSBjdXJyZW50LT5yZWNsYWltX3N0YXRl OyBAQCAtMjgxOCwxNSArMjgxMiwxMiBAQCBzdGF0aWMgYm9vbA0KPmtzd2FwZF9zaHJpbmtfem9u ZShzdHJ1Y3Qgem9uZSAqem9uZSwNCj4gCXNocmlua196b25lKHpvbmUsIHNjKTsNCj4NCj4gCXJl Y2xhaW1fc3RhdGUtPnJlY2xhaW1lZF9zbGFiID0gMDsNCj4tCW5yX3NsYWIgPSBzaHJpbmtfc2xh Yigmc2hyaW5rLCBzYy0+bnJfc2Nhbm5lZCwgbHJ1X3BhZ2VzKTsNCj4rCXNocmlua19zbGFiKCZz aHJpbmssIHNjLT5ucl9zY2FubmVkLCBscnVfcGFnZXMpOw0KPiAJc2MtPm5yX3JlY2xhaW1lZCAr PSByZWNsYWltX3N0YXRlLT5yZWNsYWltZWRfc2xhYjsNCj4NCj4gCS8qIEFjY291bnQgZm9yIHRo ZSBudW1iZXIgb2YgcGFnZXMgYXR0ZW1wdGVkIHRvIHJlY2xhaW0gKi8NCj4gCSpucl9hdHRlbXB0 ZWQgKz0gc2MtPm5yX3RvX3JlY2xhaW07DQo+DQo+LQlpZiAobnJfc2xhYiA9PSAwICYmICF6b25l X3JlY2xhaW1hYmxlKHpvbmUpKQ0KPi0JCXpvbmUtPmFsbF91bnJlY2xhaW1hYmxlID0gMTsNCj4t DQo+IAl6b25lX2NsZWFyX2ZsYWcoem9uZSwgWk9ORV9XUklURUJBQ0spOw0KPg0KPiAJLyoNCj5A QCAtMjgzNSw3ICsyODI2LDcgQEAgc3RhdGljIGJvb2wga3N3YXBkX3Nocmlua196b25lKHN0cnVj dCB6b25lICp6b25lLA0KPiAJICogQkRJcyBidXQgYXMgcHJlc3N1cmUgaXMgcmVsaWV2ZWQsIHNw ZWN1bGF0aXZlbHkgYXZvaWQgY29uZ2VzdGlvbg0KPiAJICogd2FpdHMuDQo+IAkgKi8NCj4tCWlm ICghem9uZS0+YWxsX3VucmVjbGFpbWFibGUgJiYNCj4rCWlmICh6b25lX3JlY2xhaW1hYmxlKHpv bmUpICYmDQo+IAkgICAgem9uZV9iYWxhbmNlZCh6b25lLCB0ZXN0b3JkZXIsIDAsIGNsYXNzem9u ZV9pZHgpKSB7DQo+IAkJem9uZV9jbGVhcl9mbGFnKHpvbmUsIFpPTkVfQ09OR0VTVEVEKTsNCj4g CQl6b25lX2NsZWFyX2ZsYWcoem9uZSwgWk9ORV9UQUlMX0xSVV9ESVJUWSk7IEBAIC0yOTAxLDgg KzI4OTIsOCBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBiYWxhbmNlX3BnZGF0KHBnX2RhdGFfdA0K PipwZ2RhdCwgaW50IG9yZGVyLA0KPiAJCQlpZiAoIXBvcHVsYXRlZF96b25lKHpvbmUpKQ0KPiAJ CQkJY29udGludWU7DQo+DQo+LQkJCWlmICh6b25lLT5hbGxfdW5yZWNsYWltYWJsZSAmJg0KPi0J CQkgICAgc2MucHJpb3JpdHkgIT0gREVGX1BSSU9SSVRZKQ0KPisJCQlpZiAoc2MucHJpb3JpdHkg IT0gREVGX1BSSU9SSVRZICYmDQo+KwkJCSAgICAhem9uZV9yZWNsYWltYWJsZSh6b25lKSkNCj4g CQkJCWNvbnRpbnVlOw0KPg0KPiAJCQkvKg0KPkBAIC0yOTgwLDggKzI5NzEsOCBAQCBzdGF0aWMg dW5zaWduZWQgbG9uZyBiYWxhbmNlX3BnZGF0KHBnX2RhdGFfdCAqcGdkYXQsIGludCBvcmRlciwN Cj4gCQkJaWYgKCFwb3B1bGF0ZWRfem9uZSh6b25lKSkNCj4gCQkJCWNvbnRpbnVlOw0KPg0KPi0J CQlpZiAoem9uZS0+YWxsX3VucmVjbGFpbWFibGUgJiYNCj4tCQkJICAgIHNjLnByaW9yaXR5ICE9 IERFRl9QUklPUklUWSkNCj4rCQkJaWYgKHNjLnByaW9yaXR5ICE9IERFRl9QUklPUklUWSAmJg0K PisJCQkgICAgIXpvbmVfcmVjbGFpbWFibGUoem9uZSkpDQo+IAkJCQljb250aW51ZTsNCj4NCj4g CQkJc2MubnJfc2Nhbm5lZCA9IDA7DQo+QEAgLTMyNjUsMjAgKzMyNTYsNiBAQCB1bnNpZ25lZCBs b25nIGdsb2JhbF9yZWNsYWltYWJsZV9wYWdlcyh2b2lkKQ0KPiAJcmV0dXJuIG5yOw0KPiB9DQo+ DQo+LXVuc2lnbmVkIGxvbmcgem9uZV9yZWNsYWltYWJsZV9wYWdlcyhzdHJ1Y3Qgem9uZSAqem9u ZSkgLXsNCj4tCWludCBucjsNCj4tDQo+LQluciA9IHpvbmVfcGFnZV9zdGF0ZSh6b25lLCBOUl9B Q1RJVkVfRklMRSkgKw0KPi0JICAgICB6b25lX3BhZ2Vfc3RhdGUoem9uZSwgTlJfSU5BQ1RJVkVf RklMRSk7DQo+LQ0KPi0JaWYgKGdldF9ucl9zd2FwX3BhZ2VzKCkgPiAwKQ0KPi0JCW5yICs9IHpv bmVfcGFnZV9zdGF0ZSh6b25lLCBOUl9BQ1RJVkVfQU5PTikgKw0KPi0JCSAgICAgIHpvbmVfcGFn ZV9zdGF0ZSh6b25lLCBOUl9JTkFDVElWRV9BTk9OKTsNCj4tDQo+LQlyZXR1cm4gbnI7DQo+LX0N Cj4tDQo+ICNpZmRlZiBDT05GSUdfSElCRVJOQVRJT04NCj4gLyoNCj4gICogVHJ5IHRvIGZyZWUg YG5yX3RvX3JlY2xhaW0nIG9mIG1lbW9yeSwgc3lzdGVtLXdpZGUsIGFuZCByZXR1cm4gdGhlIG51 bWJlciBvZiBAQCAtMzU3Niw3ICszNTUzLDcgQEAgaW50IHpvbmVfcmVjbGFpbShzdHJ1Y3QNCj56 b25lICp6b25lLCBnZnBfdCBnZnBfbWFzaywgdW5zaWduZWQgaW50IG9yZGVyKQ0KPiAJICAgIHpv bmVfcGFnZV9zdGF0ZSh6b25lLCBOUl9TTEFCX1JFQ0xBSU1BQkxFKSA8PSB6b25lLT5taW5fc2xh Yl9wYWdlcykNCj4gCQlyZXR1cm4gWk9ORV9SRUNMQUlNX0ZVTEw7DQo+DQo+LQlpZiAoem9uZS0+ YWxsX3VucmVjbGFpbWFibGUpDQo+KwlpZiAoIXpvbmVfcmVjbGFpbWFibGUoem9uZSkpDQo+IAkJ cmV0dXJuIFpPTkVfUkVDTEFJTV9GVUxMOw0KPg0KPiAJLyoNCj5kaWZmIC0tZ2l0IGEvbW0vdm1z dGF0LmMgYi9tbS92bXN0YXQuYw0KPmluZGV4IDIwYzJlZjQuLmM0OGY3NWIgMTAwNjQ0DQo+LS0t IGEvbW0vdm1zdGF0LmMNCj4rKysgYi9tbS92bXN0YXQuYw0KPkBAIC0xOSw2ICsxOSw3IEBADQo+ ICNpbmNsdWRlIDxsaW51eC9tYXRoNjQuaD4NCj4gI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5o Pg0KPiAjaW5jbHVkZSA8bGludXgvY29tcGFjdGlvbi5oPg0KPisjaW5jbHVkZSA8bGludXgvbW1f aW5saW5lLmg+DQo+DQo+ICNpZmRlZiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlMNCj4gREVGSU5F X1BFUl9DUFUoc3RydWN0IHZtX2V2ZW50X3N0YXRlLCB2bV9ldmVudF9zdGF0ZXMpID0ge3swfX07 IEBAIC0xMDUyLDcgKzEwNTMsNyBAQCBzdGF0aWMgdm9pZA0KPnpvbmVpbmZvX3Nob3dfcHJpbnQo c3RydWN0IHNlcV9maWxlICptLCBwZ19kYXRhX3QgKnBnZGF0LA0KPiAJCSAgICJcbiAgYWxsX3Vu cmVjbGFpbWFibGU6ICV1Ig0KPiAJCSAgICJcbiAgc3RhcnRfcGZuOiAgICAgICAgICVsdSINCj4g CQkgICAiXG4gIGluYWN0aXZlX3JhdGlvOiAgICAldSIsDQo+LQkJICAgem9uZS0+YWxsX3VucmVj bGFpbWFibGUsDQo+KwkJICAgIXpvbmVfcmVjbGFpbWFibGUoem9uZSksDQo+IAkJICAgem9uZS0+ em9uZV9zdGFydF9wZm4sDQo+IAkJICAgem9uZS0+aW5hY3RpdmVfcmF0aW8pOw0KPiAJc2VxX3B1 dGMobSwgJ1xuJyk7DQo+LS0NCj4xLjcuMC40DQo+DQo+DQo+VGhhbmtzIQ0KPg0KPkJlc3QgUmVn YXJkcw0KPkxpc2EgRHUNCg== -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org