From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by kanga.kvack.org (Postfix) with ESMTP id E83A56B0256 for ; Tue, 1 Sep 2015 09:49:16 -0400 (EDT) Received: by pabzx8 with SMTP id zx8so177785404pab.1 for ; Tue, 01 Sep 2015 06:49:16 -0700 (PDT) Received: from COL004-OMC1S7.hotmail.com (col004-omc1s7.hotmail.com. [65.55.34.17]) by mx.google.com with ESMTPS id a5si29962012pdj.194.2015.09.01.06.49.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 01 Sep 2015 06:49:15 -0700 (PDT) Message-ID: Content-Type: multipart/mixed; boundary="_b9ff7e81-e9e5-4c46-b797-7eff634a5d80_" From: Chen Gang Subject: Re: [PATCH] mm/mmap.c: Only call vma_unlock_anon_vm() when failure occurs in expand_upwards() and expand_downwards() Date: Tue, 1 Sep 2015 21:49:15 +0800 In-Reply-To: <55E5AD17.6060901@hotmail.com> References: ,<55E5AD17.6060901@hotmail.com> MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Morton , "mhocko@suse.cz" Cc: Linux Memory , kernel mailing list --_b9ff7e81-e9e5-4c46-b797-7eff634a5d80_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 ClNvcnJ5IGZvciB0aGUgaW5jb3JyZWN0IGZvcm1hdCBvZiB0aGUgcGF0Y2guIFNvIEkgcHV0IHRo ZSBwYXRjaCBpbnRvIHRoZQphdHRhY2htZW50IHdoaWNoIGdlbmVyYXRlZCBieSAiZ2l0IGZvcm1h dC1wYXRjaCAtTSBIRUFEXiIuIFBsZWFzZSBoZWxwCmNoZWNrLCB0aGFua3MuCgpOZXh0LCBJIHNo YWxsIHRyeSB0byBmaW5kIGFub3RoZXIgbWFpbCBhZGRyZXNzIHdoaWNoIGNhbiBiZSBhY2NlcHRl ZCBieQpib3RoIENoaW5hIGFuZCBvdXIgbWFpbGluZyBsaXN0LgoKVGhhbmtzLgoKT24gOS8xLzE1 IDA0OjU0LCBDaGVuIEdhbmcgd3JvdGU6Cj4gV2hlbiBmYWlsdXJlIG9jY3Vycywgd2UgbmVlZCBu b3QgY2FsbCBraHVnZXBhZ2VkX2VudGVyX3ZtYV9tZXJnZSgpIG9yCj4gdmFsaWRhdGVfbW0oKS4K Pgo+IEFsc28gc2ltcGxpZnkgZG9fbXVubWFwKCk6IGRlY2xhcmUgJ2Vycm9yJyAxIHRpbWUgaW5z dGVhZCBvZiAyIHRpbWVzIGluCj4gc3ViLWJsb2Nrcy4KPgo+IFNpZ25lZC1vZmYtYnk6IENoZW4g R2FuZyA8Z2FuZy5jaGVuLjVpNWpAZ21haWwuY29tPgo+IC0tLQo+IG1tL21tYXAuYyB8IDExNiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+IDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9tbS9tbWFwLmMgYi9tbS9tbWFwLmMKPiBpbmRleCBkZjZkNWYwLi5k MzIxOTlhIDEwMDY0NAo+IC0tLSBhL21tL21tYXAuYwo+ICsrKyBiL21tL21tYXAuYwo+IEBAIC0y MTgyLDEwICsyMTgyLDkgQEAgaW50IGV4cGFuZF91cHdhcmRzKHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCj4gaWYgKGFkZHJlc3MgPCBQQUdFX0FMSUdO KGFkZHJlc3MrNCkpCj4gYWRkcmVzcyA9IFBBR0VfQUxJR04oYWRkcmVzcys0KTsKPiBlbHNlIHsK PiAtIHZtYV91bmxvY2tfYW5vbl92bWEodm1hKTsKPiAtIHJldHVybiAtRU5PTUVNOwo+ICsgZXJy b3IgPSAtRU5PTUVNOwo+ICsgZ290byBlcnI7Cj4gfQo+IC0gZXJyb3IgPSAwOwo+Cj4gLyogU29t ZWJvZHkgZWxzZSBtaWdodCBoYXZlIHJhY2VkIGFuZCBleHBhbmRlZCBpdCBhbHJlYWR5ICovCj4g aWYgKGFkZHJlc3M+IHZtYS0+dm1fZW5kKSB7Cj4gQEAgLTIxOTQsMzggKzIxOTMsMzkgQEAgaW50 IGV4cGFuZF91cHdhcmRzKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25n IGFkZHJlc3MpCj4gc2l6ZSA9IGFkZHJlc3MgLSB2bWEtPnZtX3N0YXJ0Owo+IGdyb3cgPSAoYWRk cmVzcyAtIHZtYS0+dm1fZW5kKT4+IFBBR0VfU0hJRlQ7Cj4KPiAtIGVycm9yID0gLUVOT01FTTsK PiAtIGlmICh2bWEtPnZtX3Bnb2ZmICsgKHNpemU+PiBQQUdFX1NISUZUKT49IHZtYS0+dm1fcGdv ZmYpIHsKPiAtIGVycm9yID0gYWNjdF9zdGFja19ncm93dGgodm1hLCBzaXplLCBncm93KTsKPiAt IGlmICghZXJyb3IpIHsKPiAtIC8qCj4gLSAqIHZtYV9nYXBfdXBkYXRlKCkgZG9lc24ndCBzdXBw b3J0IGNvbmN1cnJlbnQKPiAtICogdXBkYXRlcywgYnV0IHdlIG9ubHkgaG9sZCBhIHNoYXJlZCBt bWFwX3NlbQo+IC0gKiBsb2NrIGhlcmUsIHNvIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0Cj4g LSAqIGNvbmN1cnJlbnQgdm1hIGV4cGFuc2lvbnMuCj4gLSAqIHZtYV9sb2NrX2Fub25fdm1hKCkg ZG9lc24ndCBoZWxwIGhlcmUsIGFzCj4gLSAqIHdlIGRvbid0IGd1YXJhbnRlZSB0aGF0IGFsbCBn cm93YWJsZSB2bWFzCj4gLSAqIGluIGEgbW0gc2hhcmUgdGhlIHNhbWUgcm9vdCBhbm9uIHZtYS4K PiAtICogU28sIHdlIHJldXNlIG1tLT5wYWdlX3RhYmxlX2xvY2sgdG8gZ3VhcmQKPiAtICogYWdh aW5zdCBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLgo+IC0gKi8KPiAtIHNwaW5fbG9jaygmdm1h LT52bV9tbS0+cGFnZV90YWJsZV9sb2NrKTsKPiAtIGFub25fdm1hX2ludGVydmFsX3RyZWVfcHJl X3VwZGF0ZV92bWEodm1hKTsKPiAtIHZtYS0+dm1fZW5kID0gYWRkcmVzczsKPiAtIGFub25fdm1h X2ludGVydmFsX3RyZWVfcG9zdF91cGRhdGVfdm1hKHZtYSk7Cj4gLSBpZiAodm1hLT52bV9uZXh0 KQo+IC0gdm1hX2dhcF91cGRhdGUodm1hLT52bV9uZXh0KTsKPiAtIGVsc2UKPiAtIHZtYS0+dm1f bW0tPmhpZ2hlc3Rfdm1fZW5kID0gYWRkcmVzczsKPiAtIHNwaW5fdW5sb2NrKCZ2bWEtPnZtX21t LT5wYWdlX3RhYmxlX2xvY2spOwo+IC0KPiAtIHBlcmZfZXZlbnRfbW1hcCh2bWEpOwo+IC0gfQo+ ICsgaWYgKHZtYS0+dm1fcGdvZmYgKyAoc2l6ZT4+IFBBR0VfU0hJRlQpIDwgdm1hLT52bV9wZ29m Zikgewo+ICsgZXJyb3IgPSAtRU5PTUVNOwo+ICsgZ290byBlcnI7Cj4gfQo+ICsgZXJyb3IgPSBh Y2N0X3N0YWNrX2dyb3d0aCh2bWEsIHNpemUsIGdyb3cpOwo+ICsgaWYgKGVycm9yKQo+ICsgZ290 byBlcnI7Cj4gKyAvKgo+ICsgKiB2bWFfZ2FwX3VwZGF0ZSgpIGRvZXNuJ3Qgc3VwcG9ydCBjb25j dXJyZW50IHVwZGF0ZXMsIGJ1dCB3ZQo+ICsgKiBvbmx5IGhvbGQgYSBzaGFyZWQgbW1hcF9zZW0g bG9jayBoZXJlLCBzbyB3ZSBuZWVkIHRvIHByb3RlY3QKPiArICogYWdhaW5zdCBjb25jdXJyZW50 IHZtYSBleHBhbnNpb25zLiB2bWFfbG9ja19hbm9uX3ZtYSgpCj4gKyAqIGRvZXNuJ3QgaGVscCBo ZXJlLCBhcyB3ZSBkb24ndCBndWFyYW50ZWUgdGhhdCBhbGwgZ3Jvd2FibGUKPiArICogdm1hcyBp biBhIG1tIHNoYXJlIHRoZSBzYW1lIHJvb3QgYW5vbiB2bWEuIFNvLCB3ZSByZXVzZSBtbS0+Cj4g KyAqIHBhZ2VfdGFibGVfbG9jayB0byBndWFyZCBhZ2FpbnN0IGNvbmN1cnJlbnQgdm1hIGV4cGFu c2lvbnMuCj4gKyAqLwo+ICsgc3Bpbl9sb2NrKCZ2bWEtPnZtX21tLT5wYWdlX3RhYmxlX2xvY2sp Owo+ICsgYW5vbl92bWFfaW50ZXJ2YWxfdHJlZV9wcmVfdXBkYXRlX3ZtYSh2bWEpOwo+ICsgdm1h LT52bV9lbmQgPSBhZGRyZXNzOwo+ICsgYW5vbl92bWFfaW50ZXJ2YWxfdHJlZV9wb3N0X3VwZGF0 ZV92bWEodm1hKTsKPiArIGlmICh2bWEtPnZtX25leHQpCj4gKyB2bWFfZ2FwX3VwZGF0ZSh2bWEt PnZtX25leHQpOwo+ICsgZWxzZQo+ICsgdm1hLT52bV9tbS0+aGlnaGVzdF92bV9lbmQgPSBhZGRy ZXNzOwo+ICsgc3Bpbl91bmxvY2soJnZtYS0+dm1fbW0tPnBhZ2VfdGFibGVfbG9jayk7Cj4gKwo+ ICsgcGVyZl9ldmVudF9tbWFwKHZtYSk7Cj4gfQo+IHZtYV91bmxvY2tfYW5vbl92bWEodm1hKTsK PiBraHVnZXBhZ2VkX2VudGVyX3ZtYV9tZXJnZSh2bWEsIHZtYS0+dm1fZmxhZ3MpOwo+IHZhbGlk YXRlX21tKHZtYS0+dm1fbW0pOwo+ICsgcmV0dXJuIDA7Cj4gK2VycjoKPiArIHZtYV91bmxvY2tf YW5vbl92bWEodm1hKTsKPiByZXR1cm4gZXJyb3I7Cj4gfQo+ICNlbmRpZiAvKiBDT05GSUdfU1RB Q0tfR1JPV1NVUCB8fCBDT05GSUdfSUE2NCAqLwo+IEBAIC0yMjY1LDM2ICsyMjY1LDM3IEBAIGlu dCBleHBhbmRfZG93bndhcmRzKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+IHNpemUgPSB2 bWEtPnZtX2VuZCAtIGFkZHJlc3M7Cj4gZ3JvdyA9ICh2bWEtPnZtX3N0YXJ0IC0gYWRkcmVzcyk+ PiBQQUdFX1NISUZUOwo+Cj4gLSBlcnJvciA9IC1FTk9NRU07Cj4gLSBpZiAoZ3JvdyA8PSB2bWEt PnZtX3Bnb2ZmKSB7Cj4gLSBlcnJvciA9IGFjY3Rfc3RhY2tfZ3Jvd3RoKHZtYSwgc2l6ZSwgZ3Jv dyk7Cj4gLSBpZiAoIWVycm9yKSB7Cj4gLSAvKgo+IC0gKiB2bWFfZ2FwX3VwZGF0ZSgpIGRvZXNu J3Qgc3VwcG9ydCBjb25jdXJyZW50Cj4gLSAqIHVwZGF0ZXMsIGJ1dCB3ZSBvbmx5IGhvbGQgYSBz aGFyZWQgbW1hcF9zZW0KPiAtICogbG9jayBoZXJlLCBzbyB3ZSBuZWVkIHRvIHByb3RlY3QgYWdh aW5zdAo+IC0gKiBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLgo+IC0gKiB2bWFfbG9ja19hbm9u X3ZtYSgpIGRvZXNuJ3QgaGVscCBoZXJlLCBhcwo+IC0gKiB3ZSBkb24ndCBndWFyYW50ZWUgdGhh dCBhbGwgZ3Jvd2FibGUgdm1hcwo+IC0gKiBpbiBhIG1tIHNoYXJlIHRoZSBzYW1lIHJvb3QgYW5v biB2bWEuCj4gLSAqIFNvLCB3ZSByZXVzZSBtbS0+cGFnZV90YWJsZV9sb2NrIHRvIGd1YXJkCj4g LSAqIGFnYWluc3QgY29uY3VycmVudCB2bWEgZXhwYW5zaW9ucy4KPiAtICovCj4gLSBzcGluX2xv Y2soJnZtYS0+dm1fbW0tPnBhZ2VfdGFibGVfbG9jayk7Cj4gLSBhbm9uX3ZtYV9pbnRlcnZhbF90 cmVlX3ByZV91cGRhdGVfdm1hKHZtYSk7Cj4gLSB2bWEtPnZtX3N0YXJ0ID0gYWRkcmVzczsKPiAt IHZtYS0+dm1fcGdvZmYgLT0gZ3JvdzsKPiAtIGFub25fdm1hX2ludGVydmFsX3RyZWVfcG9zdF91 cGRhdGVfdm1hKHZtYSk7Cj4gLSB2bWFfZ2FwX3VwZGF0ZSh2bWEpOwo+IC0gc3Bpbl91bmxvY2so JnZtYS0+dm1fbW0tPnBhZ2VfdGFibGVfbG9jayk7Cj4gLQo+IC0gcGVyZl9ldmVudF9tbWFwKHZt YSk7Cj4gLSB9Cj4gKyBpZiAoZ3Jvdz4gdm1hLT52bV9wZ29mZikgewo+ICsgZXJyb3IgPSAtRU5P TUVNOwo+ICsgZ290byBlcnI7Cj4gfQo+ICsgZXJyb3IgPSBhY2N0X3N0YWNrX2dyb3d0aCh2bWEs IHNpemUsIGdyb3cpOwo+ICsgaWYgKGVycm9yKQo+ICsgZ290byBlcnI7Cj4gKyAvKgo+ICsgKiB2 bWFfZ2FwX3VwZGF0ZSgpIGRvZXNuJ3Qgc3VwcG9ydCBjb25jdXJyZW50IHVwZGF0ZXMsIGJ1dCB3 ZQo+ICsgKiBvbmx5IGhvbGQgYSBzaGFyZWQgbW1hcF9zZW0gbG9jayBoZXJlLCBzbyB3ZSBuZWVk IHRvIHByb3RlY3QKPiArICogYWdhaW5zdCBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLiB2bWFf bG9ja19hbm9uX3ZtYSgpCj4gKyAqIGRvZXNuJ3QgaGVscCBoZXJlLCBhcyB3ZSBkb24ndCBndWFy YW50ZWUgdGhhdCBhbGwgZ3Jvd2FibGUKPiArICogdm1hcyBpbiBhIG1tIHNoYXJlIHRoZSBzYW1l IHJvb3QgYW5vbiB2bWEuIFNvLCB3ZSByZXVzZSBtbS0+Cj4gKyAqIHBhZ2VfdGFibGVfbG9jayB0 byBndWFyZCBhZ2FpbnN0IGNvbmN1cnJlbnQgdm1hIGV4cGFuc2lvbnMuCj4gKyAqLwo+ICsgc3Bp bl9sb2NrKCZ2bWEtPnZtX21tLT5wYWdlX3RhYmxlX2xvY2spOwo+ICsgYW5vbl92bWFfaW50ZXJ2 YWxfdHJlZV9wcmVfdXBkYXRlX3ZtYSh2bWEpOwo+ICsgdm1hLT52bV9zdGFydCA9IGFkZHJlc3M7 Cj4gKyB2bWEtPnZtX3Bnb2ZmIC09IGdyb3c7Cj4gKyBhbm9uX3ZtYV9pbnRlcnZhbF90cmVlX3Bv c3RfdXBkYXRlX3ZtYSh2bWEpOwo+ICsgdm1hX2dhcF91cGRhdGUodm1hKTsKPiArIHNwaW5fdW5s b2NrKCZ2bWEtPnZtX21tLT5wYWdlX3RhYmxlX2xvY2spOwo+ICsKPiArIHBlcmZfZXZlbnRfbW1h cCh2bWEpOwo+IH0KPiB2bWFfdW5sb2NrX2Fub25fdm1hKHZtYSk7Cj4ga2h1Z2VwYWdlZF9lbnRl cl92bWFfbWVyZ2Uodm1hLCB2bWEtPnZtX2ZsYWdzKTsKPiB2YWxpZGF0ZV9tbSh2bWEtPnZtX21t KTsKPiArIHJldHVybiAwOwo+ICtlcnI6Cj4gKyB2bWFfdW5sb2NrX2Fub25fdm1hKHZtYSk7Cj4g cmV0dXJuIGVycm9yOwo+IH0KPgo+IEBAIC0yNTQyLDYgKzI1NDMsNyBAQCBpbnQgZG9fbXVubWFw KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCBzaXplX3QgbGVuKQo+ IHsKPiB1bnNpZ25lZCBsb25nIGVuZDsKPiBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgKnBy ZXYsICpsYXN0Owo+ICsgaW50IGVycm9yOwo+Cj4gaWYgKChzdGFydCAmIH5QQUdFX01BU0spIHx8 IHN0YXJ0PiBUQVNLX1NJWkUgfHwgbGVuPiBUQVNLX1NJWkUtc3RhcnQpCj4gcmV0dXJuIC1FSU5W QUw7Cj4gQEAgLTI1NzAsOCArMjU3Miw2IEBAIGludCBkb19tdW5tYXAoc3RydWN0IG1tX3N0cnVj dCAqbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHNpemVfdCBsZW4pCj4gKiBwbGFjZXMgdG1wIHZt YSBhYm92ZSwgYW5kIGhpZ2hlciBzcGxpdF92bWEgcGxhY2VzIHRtcCB2bWEgYmVsb3cuCj4gKi8K PiBpZiAoc3RhcnQ+IHZtYS0+dm1fc3RhcnQpIHsKPiAtIGludCBlcnJvcjsKPiAtCj4gLyoKPiAq IE1ha2Ugc3VyZSB0aGF0IG1hcF9jb3VudCBvbiByZXR1cm4gZnJvbSBtdW5tYXAoKSB3aWxsCj4g KiBub3QgZXhjZWVkIGl0cyBsaW1pdDsgYnV0IGxldCBtYXBfY291bnQgZ28ganVzdCBhYm92ZQo+ IEBAIC0yNTg5LDcgKzI1ODksNyBAQCBpbnQgZG9fbXVubWFwKHN0cnVjdCBtbV9zdHJ1Y3QgKm1t LCB1bnNpZ25lZCBsb25nIHN0YXJ0LCBzaXplX3QgbGVuKQo+IC8qIERvZXMgaXQgc3BsaXQgdGhl IGxhc3Qgb25lPyAqLwo+IGxhc3QgPSBmaW5kX3ZtYShtbSwgZW5kKTsKPiBpZiAobGFzdCAmJiBl bmQ+IGxhc3QtPnZtX3N0YXJ0KSB7Cj4gLSBpbnQgZXJyb3IgPSBfX3NwbGl0X3ZtYShtbSwgbGFz dCwgZW5kLCAxKTsKPiArIGVycm9yID0gX19zcGxpdF92bWEobW0sIGxhc3QsIGVuZCwgMSk7Cj4g aWYgKGVycm9yKQo+IHJldHVybiBlcnJvcjsKPiB9Cj4gLS0KPiAxLjkuMwo+Cj4KPgoKLS0KQ2hl biBHYW5nCgpPcGVuLCBzaGFyZSwgYW5kIGF0dGl0dWRlIGxpa2UgYWlyLCB3YXRlciwgYW5kIGxp ZmUgd2hpY2ggR29kIGJsZXNzZWQKIAkJIAkgICAJCSAg --_b9ff7e81-e9e5-4c46-b797-7eff634a5d80_ Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-mm-mmap.c-Only-call-vma_unlock_anon_vm-for-failure-i.patch" RnJvbSA4N2I4NjMyZjUwZTZmZjNkMDkyODlhZTZhNzZiZDcxZmMyZWNiMDc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogQ2hlbiBHYW5nIDxnYW5nLmNoZW4uNWk1akBnbWFpbC5jb20+ DQpEYXRlOiBUdWUsIDEgU2VwIDIwMTUgMDQ6NDA6NTYgKzA4MDANClN1YmplY3Q6IFtQQVRDSF0g bW0vbW1hcC5jOiBPbmx5IGNhbGwgdm1hX3VubG9ja19hbm9uX3ZtKCkgZm9yIGZhaWx1cmUgaW4N CiBleHBhbmRfdXB3YXJkcygpIGFuZCBleHBhbmRfZG93bndhcmRzKCkNCg0KV2hlbiBmYWlsdXJl IG9jY3Vycywgd2UgbmVlZCBub3QgY2FsbCBraHVnZXBhZ2VkX2VudGVyX3ZtYV9tZXJnZSgpIG9y DQp2YWxpZGF0ZV9tbSgpLg0KDQpBbHNvIHNpbXBsaWZ5IGRvX211bm1hcCgpOiBkZWNsYXJlICdl cnJvcicgMSB0aW1lIGluc3RlYWQgb2YgMiB0aW1lcyBpbg0Kc3ViLWJsb2Nrcy4NCg0KU2lnbmVk LW9mZi1ieTogQ2hlbiBHYW5nIDxnYW5nLmNoZW4uNWk1akBnbWFpbC5jb20+DQotLS0NCiBtbS9t bWFwLmMgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNTgg ZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9tbS9tbWFwLmMgYi9tbS9tbWFwLmMNCmluZGV4 IGRmNmQ1ZjAuLmQzMjE5OWEgMTAwNjQ0DQotLS0gYS9tbS9tbWFwLmMNCisrKyBiL21tL21tYXAu Yw0KQEAgLTIxODIsMTAgKzIxODIsOSBAQCBpbnQgZXhwYW5kX3Vwd2FyZHMoc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykNCiAJaWYgKGFkZHJlc3MgPCBQ QUdFX0FMSUdOKGFkZHJlc3MrNCkpDQogCQlhZGRyZXNzID0gUEFHRV9BTElHTihhZGRyZXNzKzQp Ow0KIAllbHNlIHsNCi0JCXZtYV91bmxvY2tfYW5vbl92bWEodm1hKTsNCi0JCXJldHVybiAtRU5P TUVNOw0KKwkJZXJyb3IgPSAtRU5PTUVNOw0KKwkJZ290byBlcnI7DQogCX0NCi0JZXJyb3IgPSAw Ow0KIA0KIAkvKiBTb21lYm9keSBlbHNlIG1pZ2h0IGhhdmUgcmFjZWQgYW5kIGV4cGFuZGVkIGl0 IGFscmVhZHkgKi8NCiAJaWYgKGFkZHJlc3MgPiB2bWEtPnZtX2VuZCkgew0KQEAgLTIxOTQsMzgg KzIxOTMsMzkgQEAgaW50IGV4cGFuZF91cHdhcmRzKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h LCB1bnNpZ25lZCBsb25nIGFkZHJlc3MpDQogCQlzaXplID0gYWRkcmVzcyAtIHZtYS0+dm1fc3Rh cnQ7DQogCQlncm93ID0gKGFkZHJlc3MgLSB2bWEtPnZtX2VuZCkgPj4gUEFHRV9TSElGVDsNCiAN Ci0JCWVycm9yID0gLUVOT01FTTsNCi0JCWlmICh2bWEtPnZtX3Bnb2ZmICsgKHNpemUgPj4gUEFH RV9TSElGVCkgPj0gdm1hLT52bV9wZ29mZikgew0KLQkJCWVycm9yID0gYWNjdF9zdGFja19ncm93 dGgodm1hLCBzaXplLCBncm93KTsNCi0JCQlpZiAoIWVycm9yKSB7DQotCQkJCS8qDQotCQkJCSAq IHZtYV9nYXBfdXBkYXRlKCkgZG9lc24ndCBzdXBwb3J0IGNvbmN1cnJlbnQNCi0JCQkJICogdXBk YXRlcywgYnV0IHdlIG9ubHkgaG9sZCBhIHNoYXJlZCBtbWFwX3NlbQ0KLQkJCQkgKiBsb2NrIGhl cmUsIHNvIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0DQotCQkJCSAqIGNvbmN1cnJlbnQgdm1h IGV4cGFuc2lvbnMuDQotCQkJCSAqIHZtYV9sb2NrX2Fub25fdm1hKCkgZG9lc24ndCBoZWxwIGhl cmUsIGFzDQotCQkJCSAqIHdlIGRvbid0IGd1YXJhbnRlZSB0aGF0IGFsbCBncm93YWJsZSB2bWFz DQotCQkJCSAqIGluIGEgbW0gc2hhcmUgdGhlIHNhbWUgcm9vdCBhbm9uIHZtYS4NCi0JCQkJICog U28sIHdlIHJldXNlIG1tLT5wYWdlX3RhYmxlX2xvY2sgdG8gZ3VhcmQNCi0JCQkJICogYWdhaW5z dCBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLg0KLQkJCQkgKi8NCi0JCQkJc3Bpbl9sb2NrKCZ2 bWEtPnZtX21tLT5wYWdlX3RhYmxlX2xvY2spOw0KLQkJCQlhbm9uX3ZtYV9pbnRlcnZhbF90cmVl X3ByZV91cGRhdGVfdm1hKHZtYSk7DQotCQkJCXZtYS0+dm1fZW5kID0gYWRkcmVzczsNCi0JCQkJ YW5vbl92bWFfaW50ZXJ2YWxfdHJlZV9wb3N0X3VwZGF0ZV92bWEodm1hKTsNCi0JCQkJaWYgKHZt YS0+dm1fbmV4dCkNCi0JCQkJCXZtYV9nYXBfdXBkYXRlKHZtYS0+dm1fbmV4dCk7DQotCQkJCWVs c2UNCi0JCQkJCXZtYS0+dm1fbW0tPmhpZ2hlc3Rfdm1fZW5kID0gYWRkcmVzczsNCi0JCQkJc3Bp bl91bmxvY2soJnZtYS0+dm1fbW0tPnBhZ2VfdGFibGVfbG9jayk7DQotDQotCQkJCXBlcmZfZXZl bnRfbW1hcCh2bWEpOw0KLQkJCX0NCisJCWlmICh2bWEtPnZtX3Bnb2ZmICsgKHNpemUgPj4gUEFH RV9TSElGVCkgPCB2bWEtPnZtX3Bnb2ZmKSB7DQorCQkJZXJyb3IgPSAtRU5PTUVNOw0KKwkJCWdv dG8gZXJyOw0KIAkJfQ0KKwkJZXJyb3IgPSBhY2N0X3N0YWNrX2dyb3d0aCh2bWEsIHNpemUsIGdy b3cpOw0KKwkJaWYgKGVycm9yKQ0KKwkJCWdvdG8gZXJyOw0KKwkJLyoNCisJCSAqIHZtYV9nYXBf dXBkYXRlKCkgZG9lc24ndCBzdXBwb3J0IGNvbmN1cnJlbnQgdXBkYXRlcywgYnV0IHdlDQorCQkg KiBvbmx5IGhvbGQgYSBzaGFyZWQgbW1hcF9zZW0gbG9jayBoZXJlLCBzbyB3ZSBuZWVkIHRvIHBy b3RlY3QNCisJCSAqIGFnYWluc3QgY29uY3VycmVudCB2bWEgZXhwYW5zaW9ucy4gdm1hX2xvY2tf YW5vbl92bWEoKQ0KKwkJICogZG9lc24ndCBoZWxwIGhlcmUsIGFzIHdlIGRvbid0IGd1YXJhbnRl ZSB0aGF0IGFsbCBncm93YWJsZQ0KKwkJICogdm1hcyBpbiBhIG1tIHNoYXJlIHRoZSBzYW1lIHJv b3QgYW5vbiB2bWEuIFNvLCB3ZSByZXVzZSBtbS0+DQorCQkgKiBwYWdlX3RhYmxlX2xvY2sgdG8g Z3VhcmQgYWdhaW5zdCBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLg0KKwkJICovDQorCQlzcGlu X2xvY2soJnZtYS0+dm1fbW0tPnBhZ2VfdGFibGVfbG9jayk7DQorCQlhbm9uX3ZtYV9pbnRlcnZh bF90cmVlX3ByZV91cGRhdGVfdm1hKHZtYSk7DQorCQl2bWEtPnZtX2VuZCA9IGFkZHJlc3M7DQor CQlhbm9uX3ZtYV9pbnRlcnZhbF90cmVlX3Bvc3RfdXBkYXRlX3ZtYSh2bWEpOw0KKwkJaWYgKHZt YS0+dm1fbmV4dCkNCisJCQl2bWFfZ2FwX3VwZGF0ZSh2bWEtPnZtX25leHQpOw0KKwkJZWxzZQ0K KwkJCXZtYS0+dm1fbW0tPmhpZ2hlc3Rfdm1fZW5kID0gYWRkcmVzczsNCisJCXNwaW5fdW5sb2Nr KCZ2bWEtPnZtX21tLT5wYWdlX3RhYmxlX2xvY2spOw0KKw0KKwkJcGVyZl9ldmVudF9tbWFwKHZt YSk7DQogCX0NCiAJdm1hX3VubG9ja19hbm9uX3ZtYSh2bWEpOw0KIAlraHVnZXBhZ2VkX2VudGVy X3ZtYV9tZXJnZSh2bWEsIHZtYS0+dm1fZmxhZ3MpOw0KIAl2YWxpZGF0ZV9tbSh2bWEtPnZtX21t KTsNCisJcmV0dXJuIDA7DQorZXJyOg0KKwl2bWFfdW5sb2NrX2Fub25fdm1hKHZtYSk7DQogCXJl dHVybiBlcnJvcjsNCiB9DQogI2VuZGlmIC8qIENPTkZJR19TVEFDS19HUk9XU1VQIHx8IENPTkZJ R19JQTY0ICovDQpAQCAtMjI2NSwzNiArMjI2NSwzNyBAQCBpbnQgZXhwYW5kX2Rvd253YXJkcyhz dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwNCiAJCXNpemUgPSB2bWEtPnZtX2VuZCAtIGFkZHJl c3M7DQogCQlncm93ID0gKHZtYS0+dm1fc3RhcnQgLSBhZGRyZXNzKSA+PiBQQUdFX1NISUZUOw0K IA0KLQkJZXJyb3IgPSAtRU5PTUVNOw0KLQkJaWYgKGdyb3cgPD0gdm1hLT52bV9wZ29mZikgew0K LQkJCWVycm9yID0gYWNjdF9zdGFja19ncm93dGgodm1hLCBzaXplLCBncm93KTsNCi0JCQlpZiAo IWVycm9yKSB7DQotCQkJCS8qDQotCQkJCSAqIHZtYV9nYXBfdXBkYXRlKCkgZG9lc24ndCBzdXBw b3J0IGNvbmN1cnJlbnQNCi0JCQkJICogdXBkYXRlcywgYnV0IHdlIG9ubHkgaG9sZCBhIHNoYXJl ZCBtbWFwX3NlbQ0KLQkJCQkgKiBsb2NrIGhlcmUsIHNvIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2Fp bnN0DQotCQkJCSAqIGNvbmN1cnJlbnQgdm1hIGV4cGFuc2lvbnMuDQotCQkJCSAqIHZtYV9sb2Nr X2Fub25fdm1hKCkgZG9lc24ndCBoZWxwIGhlcmUsIGFzDQotCQkJCSAqIHdlIGRvbid0IGd1YXJh bnRlZSB0aGF0IGFsbCBncm93YWJsZSB2bWFzDQotCQkJCSAqIGluIGEgbW0gc2hhcmUgdGhlIHNh bWUgcm9vdCBhbm9uIHZtYS4NCi0JCQkJICogU28sIHdlIHJldXNlIG1tLT5wYWdlX3RhYmxlX2xv Y2sgdG8gZ3VhcmQNCi0JCQkJICogYWdhaW5zdCBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLg0K LQkJCQkgKi8NCi0JCQkJc3Bpbl9sb2NrKCZ2bWEtPnZtX21tLT5wYWdlX3RhYmxlX2xvY2spOw0K LQkJCQlhbm9uX3ZtYV9pbnRlcnZhbF90cmVlX3ByZV91cGRhdGVfdm1hKHZtYSk7DQotCQkJCXZt YS0+dm1fc3RhcnQgPSBhZGRyZXNzOw0KLQkJCQl2bWEtPnZtX3Bnb2ZmIC09IGdyb3c7DQotCQkJ CWFub25fdm1hX2ludGVydmFsX3RyZWVfcG9zdF91cGRhdGVfdm1hKHZtYSk7DQotCQkJCXZtYV9n YXBfdXBkYXRlKHZtYSk7DQotCQkJCXNwaW5fdW5sb2NrKCZ2bWEtPnZtX21tLT5wYWdlX3RhYmxl X2xvY2spOw0KLQ0KLQkJCQlwZXJmX2V2ZW50X21tYXAodm1hKTsNCi0JCQl9DQorCQlpZiAoZ3Jv dyA+IHZtYS0+dm1fcGdvZmYpIHsNCisJCQllcnJvciA9IC1FTk9NRU07DQorCQkJZ290byBlcnI7 DQogCQl9DQorCQllcnJvciA9IGFjY3Rfc3RhY2tfZ3Jvd3RoKHZtYSwgc2l6ZSwgZ3Jvdyk7DQor CQlpZiAoZXJyb3IpDQorCQkJZ290byBlcnI7DQorCQkvKg0KKwkJICogdm1hX2dhcF91cGRhdGUo KSBkb2Vzbid0IHN1cHBvcnQgY29uY3VycmVudCB1cGRhdGVzLCBidXQgd2UNCisJCSAqIG9ubHkg aG9sZCBhIHNoYXJlZCBtbWFwX3NlbSBsb2NrIGhlcmUsIHNvIHdlIG5lZWQgdG8gcHJvdGVjdA0K KwkJICogYWdhaW5zdCBjb25jdXJyZW50IHZtYSBleHBhbnNpb25zLiB2bWFfbG9ja19hbm9uX3Zt YSgpDQorCQkgKiBkb2Vzbid0IGhlbHAgaGVyZSwgYXMgd2UgZG9uJ3QgZ3VhcmFudGVlIHRoYXQg YWxsIGdyb3dhYmxlDQorCQkgKiB2bWFzIGluIGEgbW0gc2hhcmUgdGhlIHNhbWUgcm9vdCBhbm9u IHZtYS4gU28sIHdlIHJldXNlIG1tLT4NCisJCSAqIHBhZ2VfdGFibGVfbG9jayB0byBndWFyZCBh Z2FpbnN0IGNvbmN1cnJlbnQgdm1hIGV4cGFuc2lvbnMuDQorCQkgKi8NCisJCXNwaW5fbG9jaygm dm1hLT52bV9tbS0+cGFnZV90YWJsZV9sb2NrKTsNCisJCWFub25fdm1hX2ludGVydmFsX3RyZWVf cHJlX3VwZGF0ZV92bWEodm1hKTsNCisJCXZtYS0+dm1fc3RhcnQgPSBhZGRyZXNzOw0KKwkJdm1h LT52bV9wZ29mZiAtPSBncm93Ow0KKwkJYW5vbl92bWFfaW50ZXJ2YWxfdHJlZV9wb3N0X3VwZGF0 ZV92bWEodm1hKTsNCisJCXZtYV9nYXBfdXBkYXRlKHZtYSk7DQorCQlzcGluX3VubG9jaygmdm1h LT52bV9tbS0+cGFnZV90YWJsZV9sb2NrKTsNCisNCisJCXBlcmZfZXZlbnRfbW1hcCh2bWEpOw0K IAl9DQogCXZtYV91bmxvY2tfYW5vbl92bWEodm1hKTsNCiAJa2h1Z2VwYWdlZF9lbnRlcl92bWFf bWVyZ2Uodm1hLCB2bWEtPnZtX2ZsYWdzKTsNCiAJdmFsaWRhdGVfbW0odm1hLT52bV9tbSk7DQor CXJldHVybiAwOw0KK2VycjoNCisJdm1hX3VubG9ja19hbm9uX3ZtYSh2bWEpOw0KIAlyZXR1cm4g ZXJyb3I7DQogfQ0KIA0KQEAgLTI1NDIsNiArMjU0Myw3IEBAIGludCBkb19tdW5tYXAoc3RydWN0 IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHNpemVfdCBsZW4pDQogew0KIAl1 bnNpZ25lZCBsb25nIGVuZDsNCiAJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsICpwcmV2LCAq bGFzdDsNCisJaW50IGVycm9yOw0KIA0KIAlpZiAoKHN0YXJ0ICYgflBBR0VfTUFTSykgfHwgc3Rh cnQgPiBUQVNLX1NJWkUgfHwgbGVuID4gVEFTS19TSVpFLXN0YXJ0KQ0KIAkJcmV0dXJuIC1FSU5W QUw7DQpAQCAtMjU3MCw4ICsyNTcyLDYgQEAgaW50IGRvX211bm1hcChzdHJ1Y3QgbW1fc3RydWN0 ICptbSwgdW5zaWduZWQgbG9uZyBzdGFydCwgc2l6ZV90IGxlbikNCiAJICogcGxhY2VzIHRtcCB2 bWEgYWJvdmUsIGFuZCBoaWdoZXIgc3BsaXRfdm1hIHBsYWNlcyB0bXAgdm1hIGJlbG93Lg0KIAkg Ki8NCiAJaWYgKHN0YXJ0ID4gdm1hLT52bV9zdGFydCkgew0KLQkJaW50IGVycm9yOw0KLQ0KIAkJ LyoNCiAJCSAqIE1ha2Ugc3VyZSB0aGF0IG1hcF9jb3VudCBvbiByZXR1cm4gZnJvbSBtdW5tYXAo KSB3aWxsDQogCQkgKiBub3QgZXhjZWVkIGl0cyBsaW1pdDsgYnV0IGxldCBtYXBfY291bnQgZ28g anVzdCBhYm92ZQ0KQEAgLTI1ODksNyArMjU4OSw3IEBAIGludCBkb19tdW5tYXAoc3RydWN0IG1t X3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHNpemVfdCBsZW4pDQogCS8qIERvZXMg aXQgc3BsaXQgdGhlIGxhc3Qgb25lPyAqLw0KIAlsYXN0ID0gZmluZF92bWEobW0sIGVuZCk7DQog CWlmIChsYXN0ICYmIGVuZCA+IGxhc3QtPnZtX3N0YXJ0KSB7DQotCQlpbnQgZXJyb3IgPSBfX3Nw bGl0X3ZtYShtbSwgbGFzdCwgZW5kLCAxKTsNCisJCWVycm9yID0gX19zcGxpdF92bWEobW0sIGxh c3QsIGVuZCwgMSk7DQogCQlpZiAoZXJyb3IpDQogCQkJcmV0dXJuIGVycm9yOw0KIAl9DQotLSAN CjEuOS4zDQoNCg== --_b9ff7e81-e9e5-4c46-b797-7eff634a5d80_-- -- 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