Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268239AbUJSBKc (ORCPT ); Mon, 18 Oct 2004 21:10:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268225AbUJSBKb (ORCPT ); Mon, 18 Oct 2004 21:10:31 -0400 Received: from fmr05.intel.com ([134.134.136.6]:18324 "EHLO hermes.jf.intel.com") by vger.kernel.org with ESMTP id S268228AbUJSBJV (ORCPT ); Mon, 18 Oct 2004 21:09:21 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C4B578.40784D87" Subject: Date: Tue, 19 Oct 2004 09:09:13 +0800 Message-ID: <8126E4F969BA254AB43EA03C59F44E849CC86E@pdsmsx404> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Index: AcS1eD9tTxAvvIUuTnOVteb086W4tg== From: "Zhang, Yanmin" To: Cc: "Chen, Kenneth W" X-OriginalArrivalTime: 19 Oct 2004 01:09:15.0585 (UTC) FILETIME=[407CF310:01C4B578] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 23356 Lines: 329 This is a multi-part message in MIME format. ------_=_NextPart_001_01C4B578.40784D87 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable In base kernel 2.6.9-rc4, function hugetlb_get_unmapped_area failed to find an unmapped area while unmapped area is huge. That's because hugetlb_get_unmapped_area just searches forward from mm->free_area_cache. If reaching TASK_SIZE, it does not go back to TASK_UNMAPPED_BASE, just returns -ENOMEM. The attachment is a simple case to trigger it on IA32 machine.=20 The other attachment is the patch to fix it. 1) Add a specific hugetlb_get_unmapped_area on i386. 2) Generic hugetlb_get_unmapped_area is also fixed. Signed-off-by: Zhang Yanmin <> <>=20 ------_=_NextPart_001_01C4B578.40784D87 Content-Type: application/x-tar; name="case.tar" Content-Transfer-Encoding: base64 Content-Description: case.tar Content-Disposition: attachment; filename="case.tar" Y2FzZS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3NTUAMDAwMDAw MAAwMDAwMDAwADAwMDAwMDAwMDAwADEwMTMzMTczMDMyADAxMDQ2NAAgNQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj YXNlL01ha2VmaWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAw ADAwMDAwMDAAMDAwMDAwMDAwNzQAMTAxMzMxNjQxMDcAMDEyMTI1ACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1t YXBfY2FzZTM6bW1hcF9jYXNlMy5jCglnY2MgLWcgLW8gbW1hcF9jYXNlMyBtbWFwX2Nhc2UzLmMK CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY2Fz ZS9SRUFETUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAw MDAwMDAwADAwMDAwMDAwMzY3ADEwMTMzMTY0MDMyADAxMTM0NwAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxKSBD b21waWxlIG1tYXBfY2FzZTMuYwoyKSNta2RpciAvdG1wL21tYXAKMykjbW91bnQgLXQgaHVnZXRs YmZzIG5vbmUgL3RtcC9tbWFwCjQpLi9tbWFwX2Nhc2UzCgpOb3RlczogVGhlIGh1Z2UgcGFnZSBz aXplIGlzIDJNQi4gSWYgNE1CLCBwbHMuIHJldmlldyB0aGUgdGVzdCBwcm9ncmFtLgoKZXJyb3Ig bG9nIG9uIG15IElBMzIgbWFjaGluZToKCm1tYXAgZmFpbGVkOiBDYW5ub3QgYWxsb2NhdGUgbWVt b3J5Cmxvb3AgaT02MwoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNhc2Uv bW1hcF9jYXNlMy5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNzU1ADAwMDAwMDAAMDAw MDAwMAAwMDAwMDAwMjMzMAAxMDEzMzE3MDM1NAAwMTI2NDIAIDAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2luY2x1 ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgoj aW5jbHVkZSA8c3lzL3NobS5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMv bW1hbi5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiNpbmNsdWRl IDxmY250bC5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KCiNkZWZpbmUgSFVHRVBBR0VTSVpFCTIq MTAyNCoxMDI0VUwKI2RlZmluZSBNTUFQX0ZJTEUJIi90bXAvbW1hcC9tMSIKCmludCBpPTA7Cgpp bnQgbW1hcF9vcGVuX21tYXAoaW50ICpmZCwgdm9pZCAqKmFkZHIsIHNpemVfdCBsZW5ndGgsIGlu dCBwcm90LCBpbnQgZmxhZ3MpCnsKICAgICAgICAqZmQgPSBvcGVuKE1NQVBfRklMRSwgT19DUkVB VHxPX1JEV1IsIDA3NTUpOwogICAgICAgIGlmICgqZmQgPCAwKSB7CiAgICAgICAgICAgICAgICBw ZXJyb3IoIk9wZW4gZmFpbGVkIik7CiAgICAgICAgICAgICAgICBleGl0KGVycm5vKTsKICAgICAg ICB9CiAgICAgICAgKmFkZHIgPSBtbWFwKE5VTEwsIGxlbmd0aCwgcHJvdCwgZmxhZ3MsICpmZCwg MCk7CiAgICAgICAgaWYoICphZGRyID09ICh2b2lkICopLTEgKSB7CiAgICAgICAgICAgICAgICBw ZXJyb3IoIm1tYXAgZmFpbGVkIik7CgkJcHJpbnRmKCJsb29wIGk9JWRcbiIsIGkpOwoJCWV4aXQo LTEpOwogICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJu IDA7Cn0KCgp2b2lkIHRlc3QoKQp7CglpbnQgZmQ9LTE7Cgl2b2lkICphZGRyPTA7CglpbnQgZmRf dG1wPS0xOwoJbG9uZyBpPTA7CgkvL2ZkX3RtcD1vcGVuKEZJTEUwMSwgT19SRE9OTFkpOwoKCglt bWFwX29wZW5fbW1hcCgmZmQsICZhZGRyLCBIVUdFUEFHRVNJWkUsIFBST1RfUkVBRHxQUk9UX1dS SVRFLCBNQVBfU0hBUkVEKTsKCXByaW50ZigiYWRkcj0lcFxuIiwgYWRkcik7CgkvL21tYXBfb3Bl bl9tbWFwKCZmZCwgJmFkZHIsIEhVR0VQQUdFU0laRSwgUFJPVF9XUklURXxQUk9UX1JFQUQsIE1B UF9QUklWQVRFKTsKLypmb3IoaT0wO2k8SFVHRVBBR0VTSVpFO2krKykKCXsKCQlhZGRyW2ldID0g JzknOwoJfQoKCXByaW50ZigiU3VjY2VlZCFcbiIpOwoqLwoJbXVubWFwKGFkZHIsIEhVR0VQQUdF U0laRSk7CgljbG9zZShmZCk7Cgl1bmxpbmsoTU1BUF9GSUxFKTsKfQoKbWFpbigpCnsKCglmb3Io aT0wOyBpPDEwMDA7IGkrKykKCXsKCQl0ZXN0KCk7Cgl9Cn0KCgAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== ------_=_NextPart_001_01C4B578.40784D87 Content-Type: application/octet-stream; name="hugetlb_unmapped_area_2.6.9_rc4_i386.patch.diff" Content-Transfer-Encoding: base64 Content-Description: hugetlb_unmapped_area_2.6.9_rc4_i386.patch.diff Content-Disposition: attachment; filename="hugetlb_unmapped_area_2.6.9_rc4_i386.patch.diff" ZGlmZiAtTnJhdXAgbGludXgtMi42LjlfcmM0L2FyY2gvaTM4Ni9tbS9odWdldGxicGFnZS5jIGxp bnV4LTIuNi45X3JjNF9maXgvYXJjaC9pMzg2L21tL2h1Z2V0bGJwYWdlLmMKLS0tIGxpbnV4LTIu Ni45X3JjNC9hcmNoL2kzODYvbW0vaHVnZXRsYnBhZ2UuYwkyMDA0LTA4LTE0IDEzOjM3OjQyLjAw MDAwMDAwMCArMDgwMAorKysgbGludXgtMi42LjlfcmM0X2ZpeC9hcmNoL2kzODYvbW0vaHVnZXRs YnBhZ2UuYwkyMDA0LTEwLTE4IDExOjMzOjA4LjAwMDAwMDAwMCArMDgwMApAQCAtMjgxLDMgKzI4 MSwxNDcgQEAgb3V0OgogCXNwaW5fdW5sb2NrKCZtbS0+cGFnZV90YWJsZV9sb2NrKTsKIAlyZXR1 cm4gcmV0OwogfQorCisvKng4Nl82NCBhbHNvIHVzZXMgdGhpcyBmaWxlKi8KKyNpZmRlZiBIQVZF X0FSQ0hfSFVHRVRMQl9VTk1BUFBFRF9BUkVBCitzdGF0aWMgdW5zaWduZWQgbG9uZyBodWdldGxi X2dldF91bm1hcHBlZF9hcmVhX2JvdHRvbXVwKHN0cnVjdCBmaWxlICpmaWxlLAorCQl1bnNpZ25l ZCBsb25nIGFkZHIsCisJCXVuc2lnbmVkIGxvbmcgbGVuLAorCQl1bnNpZ25lZCBsb25nIHBnb2Zm LAorCQl1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tID0gY3Vy cmVudC0+bW07CisJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWE7CisJdW5zaWduZWQgbG9uZyBz dGFydF9hZGRyOworCisJc3RhcnRfYWRkciA9IG1tLT5mcmVlX2FyZWFfY2FjaGU7CisKK2Z1bGxf c2VhcmNoOgorCWFkZHIgPSBBTElHTihzdGFydF9hZGRyLCBIUEFHRV9TSVpFKTsKKworCWZvciAo dm1hID0gZmluZF92bWEobW0sIGFkZHIpOyA7IHZtYSA9IHZtYS0+dm1fbmV4dCkgeworCQkvKiBB dCB0aGlzIHBvaW50OiAgKCF2bWEgfHwgYWRkciA8IHZtYS0+dm1fZW5kKS4gKi8KKwkJaWYgKFRB U0tfU0laRSAtIGxlbiA8IGFkZHIpIHsKKwkJCS8qCisJCQkgKiBTdGFydCBhIG5ldyBzZWFyY2gg LSBqdXN0IGluIGNhc2Ugd2UgbWlzc2VkCisJCQkgKiBzb21lIGhvbGVzLgorCQkJICovCisJCQlp ZiAoc3RhcnRfYWRkciAhPSBUQVNLX1VOTUFQUEVEX0JBU0UpIHsKKwkJCQlzdGFydF9hZGRyID0g VEFTS19VTk1BUFBFRF9CQVNFOworCQkJCWdvdG8gZnVsbF9zZWFyY2g7CisJCQl9CisJCQlyZXR1 cm4gLUVOT01FTTsKKwkJfQorCQlpZiAoIXZtYSB8fCBhZGRyICsgbGVuIDw9IHZtYS0+dm1fc3Rh cnQpIHsKKwkJCW1tLT5mcmVlX2FyZWFfY2FjaGUgPSBhZGRyICsgbGVuOworCQkJcmV0dXJuIGFk ZHI7CisJCX0KKwkJYWRkciA9IEFMSUdOKHZtYS0+dm1fZW5kLCBIUEFHRV9TSVpFKTsKKwl9CisK K30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgaHVnZXRsYl9nZXRfdW5tYXBwZWRfYXJlYV90b3Bk b3duKHN0cnVjdCBmaWxlICpmaWxlLAorCQl1bnNpZ25lZCBsb25nIGFkZHIwLAorCQl1bnNpZ25l ZCBsb25nIGxlbiwKKwkJdW5zaWduZWQgbG9uZyBwZ29mZiwKKwkJdW5zaWduZWQgbG9uZyBmbGFn cykKK3sKKwlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9IGN1cnJlbnQtPm1tOworCXN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hLCAqcHJldl92bWE7CisJdW5zaWduZWQgbG9uZyBiYXNlID0gbW0tPm1t YXBfYmFzZSwgYWRkciA9IGFkZHIwOworCWludCBmaXJzdF90aW1lID0gMTsKKworCS8qIGRvbnQg YWxsb3cgYWxsb2NhdGlvbnMgYWJvdmUgY3VycmVudCBiYXNlICovCisJaWYgKG1tLT5mcmVlX2Fy ZWFfY2FjaGUgPiBiYXNlKQorCQltbS0+ZnJlZV9hcmVhX2NhY2hlID0gYmFzZTsKKwordHJ5X2Fn YWluOgorCS8qIG1ha2Ugc3VyZSBpdCBjYW4gZml0IGluIHRoZSByZW1haW5pbmcgYWRkcmVzcyBz cGFjZSAqLworCWlmIChtbS0+ZnJlZV9hcmVhX2NhY2hlIDwgbGVuKQorCQlnb3RvIGZhaWw7CisK KwkvKiBlaXRoZXIgbm8gYWRkcmVzcyByZXF1ZXN0ZWQgb3IgY2FudCBmaXQgaW4gcmVxdWVzdGVk IGFkZHJlc3MgaG9sZSAqLworCWFkZHIgPSAobW0tPmZyZWVfYXJlYV9jYWNoZSAtIGxlbikgJiBI UEFHRV9NQVNLOworCWRvIHsKKwkJLyoKKwkJICogTG9va3VwIGZhaWx1cmUgbWVhbnMgbm8gdm1h IGlzIGFib3ZlIHRoaXMgYWRkcmVzcywKKwkJICogaS5lLiByZXR1cm4gd2l0aCBzdWNjZXNzOgor CQkgKi8KKwkJaWYgKCEodm1hID0gZmluZF92bWFfcHJldihtbSwgYWRkciwgJnByZXZfdm1hKSkp CisJCQlyZXR1cm4gYWRkcjsKKworCQkvKgorCQkgKiBuZXcgcmVnaW9uIGZpdHMgYmV0d2VlbiBw cmV2X3ZtYS0+dm1fZW5kIGFuZAorCQkgKiB2bWEtPnZtX3N0YXJ0LCB1c2UgaXQ6CisJCSAqLwor CQlpZiAoYWRkciArIGxlbiA8PSB2bWEtPnZtX3N0YXJ0ICYmCisJCQkJKCFwcmV2X3ZtYSB8fCAo YWRkciA+PSBwcmV2X3ZtYS0+dm1fZW5kKSkpCisJCQkvKiByZW1lbWJlciB0aGUgYWRkcmVzcyBh cyBhIGhpbnQgZm9yIG5leHQgdGltZSAqLworCQkJcmV0dXJuIChtbS0+ZnJlZV9hcmVhX2NhY2hl ID0gYWRkcik7CisJCWVsc2UKKwkJCS8qIHB1bGwgZnJlZV9hcmVhX2NhY2hlIGRvd24gdG8gdGhl IGZpcnN0IGhvbGUgKi8KKwkJCWlmIChtbS0+ZnJlZV9hcmVhX2NhY2hlID09IHZtYS0+dm1fZW5k KQorCQkJCW1tLT5mcmVlX2FyZWFfY2FjaGUgPSB2bWEtPnZtX3N0YXJ0OworCisJCS8qIHRyeSBq dXN0IGJlbG93IHRoZSBjdXJyZW50IHZtYS0+dm1fc3RhcnQgKi8KKwkJYWRkciA9ICh2bWEtPnZt X3N0YXJ0IC0gbGVuKSAmIEhQQUdFX01BU0s7CisJfSB3aGlsZSAobGVuIDw9IHZtYS0+dm1fc3Rh cnQpOworCitmYWlsOgorCS8qCisJICogaWYgaGludCBsZWZ0IHVzIHdpdGggbm8gc3BhY2UgZm9y IHRoZSByZXF1ZXN0ZWQKKwkgKiBtYXBwaW5nIHRoZW4gdHJ5IGFnYWluOgorCSAqLworCWlmIChm aXJzdF90aW1lKSB7CisJCW1tLT5mcmVlX2FyZWFfY2FjaGUgPSBiYXNlOworCQlmaXJzdF90aW1l ID0gMDsKKwkJZ290byB0cnlfYWdhaW47CisJfQorCS8qCisJICogQSBmYWlsZWQgbW1hcCgpIHZl cnkgbGlrZWx5IGNhdXNlcyBhcHBsaWNhdGlvbiBmYWlsdXJlLAorCSAqIHNvIGZhbGwgYmFjayB0 byB0aGUgYm90dG9tLXVwIGZ1bmN0aW9uIGhlcmUuIFRoaXMgc2NlbmFyaW8KKwkgKiBjYW4gaGFw cGVuIHdpdGggbGFyZ2Ugc3RhY2sgbGltaXRzIGFuZCBsYXJnZSBtbWFwKCkKKwkgKiBhbGxvY2F0 aW9ucy4KKwkgKi8KKwltbS0+ZnJlZV9hcmVhX2NhY2hlID0gVEFTS19VTk1BUFBFRF9CQVNFOwor CWFkZHIgPSBodWdldGxiX2dldF91bm1hcHBlZF9hcmVhX2JvdHRvbXVwKGZpbGUsIGFkZHIwLAor CQkJbGVuLCBwZ29mZiwgZmxhZ3MpOworCisJLyoKKwkgKiBSZXN0b3JlIHRoZSB0b3Bkb3duIGJh c2U6CisJICovCisJbW0tPmZyZWVfYXJlYV9jYWNoZSA9IGJhc2U7CisKKwlyZXR1cm4gYWRkcjsK K30KKwordW5zaWduZWQgbG9uZworaHVnZXRsYl9nZXRfdW5tYXBwZWRfYXJlYShzdHJ1Y3QgZmls ZSAqZmlsZSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQl1bnNpZ25lZCBsb25nIGxlbiwgdW5zaWdu ZWQgbG9uZyBwZ29mZiwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgbW1fc3RydWN0 ICptbSA9IGN1cnJlbnQtPm1tOworCXN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hOworCisJaWYg KGxlbiAmIH5IUEFHRV9NQVNLKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobGVuID4gVEFTS19T SVpFKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChhZGRyKSB7CisJCWFkZHIgPSBBTElHTihh ZGRyLCBIUEFHRV9TSVpFKTsKKwkJdm1hID0gZmluZF92bWEobW0sIGFkZHIpOworCQlpZiAoVEFT S19TSVpFIC0gbGVuID49IGFkZHIgJiYKKwkJICAgICghdm1hIHx8IGFkZHIgKyBsZW4gPD0gdm1h LT52bV9zdGFydCkpCisJCQlyZXR1cm4gYWRkcjsKKwl9CisJaWYgKG1tLT5nZXRfdW5tYXBwZWRf YXJlYSA9PSBhcmNoX2dldF91bm1hcHBlZF9hcmVhKQorCQlyZXR1cm4gaHVnZXRsYl9nZXRfdW5t YXBwZWRfYXJlYV9ib3R0b211cChmaWxlLCBhZGRyLCBsZW4sCisJCQkJcGdvZmYsIGZsYWdzKTsK KwllbHNlCisJCXJldHVybiBodWdldGxiX2dldF91bm1hcHBlZF9hcmVhX3RvcGRvd24oZmlsZSwg YWRkciwgbGVuLAorCQkJCXBnb2ZmLCBmbGFncyk7Cit9CisKKyNlbmRpZiAvKkhBVkVfQVJDSF9I VUdFVExCX1VOTUFQUEVEX0FSRUEqLworCmRpZmYgLU5yYXVwIGxpbnV4LTIuNi45X3JjNC9mcy9o dWdldGxiZnMvaW5vZGUuYyBsaW51eC0yLjYuOV9yYzRfZml4L2ZzL2h1Z2V0bGJmcy9pbm9kZS5j Ci0tLSBsaW51eC0yLjYuOV9yYzQvZnMvaHVnZXRsYmZzL2lub2RlLmMJMjAwNC0xMC0xNCAxNjoz MzoyNi4wMDAwMDAwMDAgKzA4MDAKKysrIGxpbnV4LTIuNi45X3JjNF9maXgvZnMvaHVnZXRsYmZz L2lub2RlLmMJMjAwNC0xMC0xOCAxMzoyMDoxMS43MzE3ODc1ODQgKzA4MDAKQEAgLTEwNSw2ICsx MDUsNyBAQCBodWdldGxiX2dldF91bm1hcHBlZF9hcmVhKHN0cnVjdCBmaWxlICpmCiB7CiAJc3Ry dWN0IG1tX3N0cnVjdCAqbW0gPSBjdXJyZW50LT5tbTsKIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg KnZtYTsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHI7CiAKIAlpZiAobGVuICYgfkhQQUdFX01B U0spCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTE5LDEyICsxMjAsMjUgQEAgaHVnZXRsYl9nZXRf dW5tYXBwZWRfYXJlYShzdHJ1Y3QgZmlsZSAqZgogCQkJcmV0dXJuIGFkZHI7CiAJfQogCi0JYWRk ciA9IEFMSUdOKG1tLT5mcmVlX2FyZWFfY2FjaGUsIEhQQUdFX1NJWkUpOworCXN0YXJ0X2FkZHIg PSBtbS0+ZnJlZV9hcmVhX2NhY2hlOworCitmdWxsX3NlYXJjaDoKKwlhZGRyID0gQUxJR04oc3Rh cnRfYWRkciwgSFBBR0VfU0laRSk7CiAKIAlmb3IgKHZtYSA9IGZpbmRfdm1hKG1tLCBhZGRyKTsg OyB2bWEgPSB2bWEtPnZtX25leHQpIHsKIAkJLyogQXQgdGhpcyBwb2ludDogICghdm1hIHx8IGFk ZHIgPCB2bWEtPnZtX2VuZCkuICovCi0JCWlmIChUQVNLX1NJWkUgLSBsZW4gPCBhZGRyKQorCQlp ZiAoVEFTS19TSVpFIC0gbGVuIDwgYWRkcikgeworCQkJLyoKKwkJCSAqIFN0YXJ0IGEgbmV3IHNl YXJjaCAtIGp1c3QgaW4gY2FzZSB3ZSBtaXNzZWQKKwkJCSAqIHNvbWUgaG9sZXMuCisJCQkgKi8K KwkJCWlmIChzdGFydF9hZGRyICE9IFRBU0tfVU5NQVBQRURfQkFTRSkgeworCQkJCXN0YXJ0X2Fk ZHIgPSBUQVNLX1VOTUFQUEVEX0JBU0U7CisJCQkJZ290byBmdWxsX3NlYXJjaDsKKwkJCX0KIAkJ CXJldHVybiAtRU5PTUVNOworCQl9CisKIAkJaWYgKCF2bWEgfHwgYWRkciArIGxlbiA8PSB2bWEt PnZtX3N0YXJ0KQogCQkJcmV0dXJuIGFkZHI7CiAJCWFkZHIgPSBBTElHTih2bWEtPnZtX2VuZCwg SFBBR0VfU0laRSk7CmRpZmYgLU5yYXVwIGxpbnV4LTIuNi45X3JjNC9pbmNsdWRlL2FzbS1pMzg2 L3BhZ2UuaCBsaW51eC0yLjYuOV9yYzRfZml4L2luY2x1ZGUvYXNtLWkzODYvcGFnZS5oCi0tLSBs aW51eC0yLjYuOV9yYzQvaW5jbHVkZS9hc20taTM4Ni9wYWdlLmgJMjAwNC0xMC0xNCAxNDowNDo0 Ni4wMDAwMDAwMDAgKzA4MDAKKysrIGxpbnV4LTIuNi45X3JjNF9maXgvaW5jbHVkZS9hc20taTM4 Ni9wYWdlLmgJMjAwNC0xMC0xOCAwOToyNzoxNy4wMDAwMDAwMDAgKzA4MDAKQEAgLTY0LDYgKzY0 LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIHBncHJvdDsgfQogI2RlZmluZSBI UEFHRV9TSVpFCSgoMVVMKSA8PCBIUEFHRV9TSElGVCkKICNkZWZpbmUgSFBBR0VfTUFTSwkofihI UEFHRV9TSVpFIC0gMSkpCiAjZGVmaW5lIEhVR0VUTEJfUEFHRV9PUkRFUgkoSFBBR0VfU0hJRlQg LSBQQUdFX1NISUZUKQorI2RlZmluZSBIQVZFX0FSQ0hfSFVHRVRMQl9VTk1BUFBFRF9BUkVBCiAj ZW5kaWYKIAogCg== ------_=_NextPart_001_01C4B578.40784D87-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/