Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758469AbYAHKry (ORCPT ); Tue, 8 Jan 2008 05:47:54 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754631AbYAHKpE (ORCPT ); Tue, 8 Jan 2008 05:45:04 -0500 Received: from ms0.nttdata.co.jp ([163.135.193.231]:42773 "EHLO ms0.nttdata.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754194AbYAHKos (ORCPT ); Tue, 8 Jan 2008 05:44:48 -0500 Message-Id: <20080108094958.784947978@nttdata.co.jp> References: <20080108094903.484613061@nttdata.co.jp> User-Agent: quilt/0.46-1 Date: Tue, 08 Jan 2008 18:49:09 +0900 From: Kentaro Takeda To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, Kentaro Takeda , Tetsuo Handa Subject: [TOMOYO #6 06/21] Data structures and prototype defitions. X-OriginalArrivalTime: 08 Jan 2008 09:49:59.0459 (UTC) FILETIME=[D513C730:01C851DB] MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="boundary-1" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 38586 Lines: 508 --boundary-1 Content-Disposition: inline; filename="tomoyo-headers.patch" Content-Type: application/octect-stream Content-Transfer-Encoding: base64 U2lnbmVkLW9mZi1ieTogS2VudGFybyBUYWtlZGEgPHRha2VkYWtuQG50dGRhdGEuY28uanA+DQpT aWduZWQtb2ZmLWJ5OiBUZXRzdW8gSGFuZGEgPHBlbmd1aW4ta2VybmVsQEktbG92ZS5TQUtVUkEu bmUuanA+DQotLS0NCiBzZWN1cml0eS90b21veW8vaW5jbHVkZS9yZWFscGF0aC5oIHwgICA0NSAr Kw0KIHNlY3VyaXR5L3RvbW95by9pbmNsdWRlL3RvbW95by5oICAgfCAgNjk1ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCiAyIGZpbGVzIGNoYW5nZWQsIDc0MCBpbnNlcnRp b25zKCspDQoNCi0tLSAvZGV2L251bGwNCisrKyBsaW51eC0yLjYtbW0vc2VjdXJpdHkvdG9tb3lv L2luY2x1ZGUvcmVhbHBhdGguaA0KQEAgLTAsMCArMSw0NSBAQA0KKy8qDQorICogc2VjdXJpdHkv dG9tb3lvL2luY2x1ZGUvcmVhbHBhdGguaA0KKyAqDQorICogR2V0IHRoZSBjYW5vbmljYWxpemVk IGFic29sdXRlIHBhdGhuYW1lcy4NCisgKiBUaGUgYmFzaXMgZm9yIFRPTU9ZTy4NCisgKi8NCisN CisjaWZuZGVmIF9UTVlfUkVBTFBBVEhfSA0KKyNkZWZpbmUgX1RNWV9SRUFMUEFUSF9IDQorDQor I2luY2x1ZGUgInRvbW95by5oIg0KKw0KK3N0cnVjdCBwYXRoX2luZm87DQorDQorLyogUmV0dXJu cyByZWFscGF0aCgzKSBvZiB0aGUgZ2l2ZW4gcGF0aG5hbWUgYnV0IGlnbm9yZXMgY2hyb290J2Vk IHJvb3QuICovDQoraW50IHRteV9yZWFscGF0aF9kZW50cnkyKHN0cnVjdCBkZW50cnkgKmRlbnRy eSwNCisJCQkgc3RydWN0IHZmc21vdW50ICptbnQsDQorCQkJIGNoYXIgKm5ld25hbWUsDQorCQkJ IGludCBuZXduYW1lX2xlbik7DQorDQorLyogUmV0dXJucyByZWFscGF0aCgzKSBvZiB0aGUgZ2l2 ZW4gcGF0aG5hbWUgYnV0IGlnbm9yZXMgY2hyb290J2VkIHJvb3QuICovDQorLyogVGhlc2UgZnVu Y3Rpb25zIHVzZSB0bXlfYWxsb2MoKSwgc28gY2FsbGVyIG11c3QgdG15X2ZyZWUoKSAqLw0KKy8q IGlmIHRoZXNlIGZ1bmN0aW9ucyBkaWRuJ3QgcmV0dXJuIE5VTEwuICovDQorY2hhciAqdG15X3Jl YWxwYXRoKGNvbnN0IGNoYXIgKnBhdGhuYW1lKTsNCitjaGFyICp0bXlfcmVhbHBhdGhfbm9mb2xs b3coY29uc3QgY2hhciAqcGF0aG5hbWUpOw0KK2NoYXIgKnRteV9yZWFscGF0aF9kZW50cnkoc3Ry dWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgdmZzbW91bnQgKm1udCk7DQorDQorLyogQWxsb2Nh dGUgbWVtb3J5IGZvciBzdHJ1Y3R1cmVzLiAqLw0KKy8qIFRoZSBSQU0gaXMgY2h1bmtlZCwgc28g TkVWRVIgdHJ5IHRvIGtmcmVlKCkgdGhlIHJldHVybmVkIHBvaW50ZXIuICovDQordm9pZCAqdG15 X2FsbG9jX2VsZW1lbnQoY29uc3QgdW5zaWduZWQgaW50IHNpemUpOw0KKw0KKy8qIEdldCB1c2Vk IFJBTSBzaXplIGZvciB0bXlfYWxsb2NfZWxlbWVudHMoKS4gKi8NCit1bnNpZ25lZCBpbnQgdG15 X2dldF9tZW1vcnlfdXNlZF9mb3JfZWxlbWVudHModm9pZCk7DQorDQorLyogS2VlcCB0aGUgZ2l2 ZW4gbmFtZSBvbiB0aGUgUkFNLiAqLw0KKy8qIFRoZSBSQU0gaXMgc2hhcmVkLCBzbyBORVZFUiB0 cnkgdG8gbW9kaWZ5IG9yIGtmcmVlKCkgdGhlIHJldHVybmVkIG5hbWUuICovDQorY29uc3Qgc3Ry dWN0IHBhdGhfaW5mbyAqdG15X3NhdmVfbmFtZShjb25zdCBjaGFyICpuYW1lKTsNCisNCisvKiBH ZXQgdXNlZCBSQU0gc2l6ZSBmb3IgdG15X3NhdmVfbmFtZSgpLiAqLw0KK3Vuc2lnbmVkIGludCB0 bXlfZ2V0X21lbW9yeV91c2VkX2Zvcl9zYXZlX25hbWUodm9pZCk7DQorDQordW5zaWduZWQgaW50 IHRteV9nZXRfbWVtb3J5X3VzZWRfZm9yX2R5bmFtaWModm9pZCk7DQorY2hhciAqc3lzY3RscGF0 aF9mcm9tX3RhYmxlKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlKTsNCisNCisjZW5kaWYNCi0tLSAv ZGV2L251bGwNCisrKyBsaW51eC0yLjYtbW0vc2VjdXJpdHkvdG9tb3lvL2luY2x1ZGUvdG9tb3lv LmgNCkBAIC0wLDAgKzEsNjk1IEBADQorLyoNCisgKiBzZWN1cml0eS90b21veW8vaW5jbHVkZS90 b21veW8uaA0KKyAqDQorICogSGVhZGVyIGZvciBUT01PWU8gTGludXguDQorICovDQorDQorI2lm bmRlZiBfVE9NT1lPX0gNCisjZGVmaW5lIF9UT01PWU9fSA0KKw0KKyNkZWZpbmUgVE9NT1lPX1ZF UlNJT05fQ09ERSAiMi4xLjItcHJlIg0KKw0KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCisj aW5jbHVkZSA8bGludXgvc2NoZWQuaD4NCisNCisjaW5jbHVkZSA8YXNtL2lvY3Rscy5oPg0KKyNp bmNsdWRlIDxsaW51eC9hdWRpdC5oPg0KKyNpbmNsdWRlIDxsaW51eC9iaW5mbXRzLmg+DQorI2lu Y2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4NCisjaW5jbHVk ZSA8bGludXgvaGlnaG1lbS5oPg0KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+DQorI2luY2x1ZGUg PGxpbnV4L21tLmg+DQorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KKyNpbmNsdWRlIDxsaW51 eC9tb3VudC5oPg0KKyNpbmNsdWRlIDxsaW51eC9uYW1laS5oPg0KKyNpbmNsdWRlIDxsaW51eC9u ZXQuaD4NCisjaW5jbHVkZSA8bGludXgvcG9sbC5oPg0KKyNpbmNsdWRlIDxsaW51eC9wcm9jX2Zz Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3NlcV9m aWxlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCisjaW5jbHVkZSA8bGludXgvc21wX2xv Y2suaD4NCisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+DQorI2luY2x1ZGUgPGxpbnV4L3N5c2N0 bC5oPg0KKyNpbmNsdWRlIDxsaW51eC91dGltZS5oPg0KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9u Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2luZXQuaD4NCisjaW5jbHVkZSA8bmV0L2lwLmg+DQorI2lu Y2x1ZGUgPG5ldC9pcHY2Lmg+DQorI2luY2x1ZGUgPHN0ZGFyZy5oPg0KKyNpbmNsdWRlIDxsaW51 eC91YWNjZXNzLmg+DQorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4NCisjaW5jbHVkZSA8bGlu dXgvbW91bnQuaD4NCisjaW5jbHVkZSA8bGludXgvbW50X25hbWVzcGFjZS5oPg0KKw0KKy8qKg0K KyAqIGxpc3RfZm9yX2VhY2hfY29va2llIC0gaXRlcmF0ZSBvdmVyIGEgbGlzdCB3aXRoIGNvb2tp ZS4NCisgKiBAcG9zOiAgICAgICAgdGhlICZzdHJ1Y3QgbGlzdF9oZWFkIHRvIHVzZSBhcyBhIGxv b3AgY3Vyc29yLg0KKyAqIEBjb29raWU6ICAgICB0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNl IGFzIGEgY29va2llLg0KKyAqIEBoZWFkOiAgICAgICB0aGUgaGVhZCBmb3IgeW91ciBsaXN0Lg0K KyAqDQorICogU2FtZSB3aXRoIGxpc3RfZm9yX2VhY2ggZXhjZXB0IHRoYXQgdGhpcyBwcmltaXRp dmUgdXNlcyBjb29raWUNCisgKiBzbyB0aGF0IHdlIGNhbiBjb250aW51ZSBpdGVyYXRpb24uDQor ICovDQorI2RlZmluZSBsaXN0X2Zvcl9lYWNoX2Nvb2tpZShwb3MsIGNvb2tpZSwgaGVhZCkgXA0K Kwlmb3IgKChjb29raWUpIHx8ICgoY29va2llKSA9IChoZWFkKSksIHBvcyA9IChjb29raWUpLT5u ZXh0OyBcDQorCSAgICAgcHJlZmV0Y2gocG9zLT5uZXh0KSwgcG9zICE9IChoZWFkKSB8fCAoKGNv b2tpZSkgPSBOVUxMKTsgXA0KKwkgICAgIChjb29raWUpID0gcG9zLCBwb3MgPSBwb3MtPm5leHQp DQorDQorLyoqDQorICogbGlzdF9hZGRfdGFpbF9tYiAtIGFkZCBhIG5ldyBlbnRyeSB3aXRoIG1l bW9yeSBiYXJyaWVyLg0KKyAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZC4NCisgKiBAaGVh ZDogbGlzdCBoZWFkIHRvIGFkZCBpdCBiZWZvcmUuDQorICoNCisgKiBTYW1lIHdpdGggbGlzdF9h ZGRfdGFpbF9yY3UoKSBleGNlcHQgdGhhdCB0aGlzIHByaW1pdGl2ZSB1c2VzIG1iKCkNCisgKiBz byB0aGF0IHdlIGNhbiB0cmF2ZXJzZSBmb3J3YXJkcyB1c2luZyBsaXN0X2Zvcl9lYWNoKCkgYW5k DQorICogbGlzdF9mb3JfZWFjaF9jb29raWUoKS4NCisgKi8NCitzdGF0aWMgaW5saW5lIHZvaWQg bGlzdF9hZGRfdGFpbF9tYihzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsDQorCQkJCSAgICBzdHJ1Y3Qg bGlzdF9oZWFkICpoZWFkKQ0KK3sNCisJc3RydWN0IGxpc3RfaGVhZCAqcHJldiA9IGhlYWQtPnBy ZXY7DQorCXN0cnVjdCBsaXN0X2hlYWQgKm5leHQgPSBoZWFkOw0KKwluZXctPm5leHQgPSBuZXh0 Ow0KKwluZXctPnByZXYgPSBwcmV2Ow0KKwltYigpOyAvKiBBdm9pZCBvdXQtb2Ytb3JkZXIgZXhl Y3V0aW9uLiAqLw0KKwluZXh0LT5wcmV2ID0gbmV3Ow0KKwlwcmV2LT5uZXh0ID0gbmV3Ow0KK30N CisNCitleHRlcm4gc3RydWN0IHNlcV9vcGVyYXRpb25zIG1vdW50c19vcDsNCitleHRlcm4gc3Ry dWN0IG11dGV4IGRvbWFpbl9hY2xfbG9jazsNCitleHRlcm4gYm9vbCBzYmluX2luaXRfc3RhcnRl ZDsNCisNCitzdHJ1Y3QgdG15X3NlY3VyaXR5IHsNCisJc3RydWN0IGRvbWFpbl9pbmZvICpkb21h aW47DQorCXN0cnVjdCBkb21haW5faW5mbyAqcHJldl9kb21haW47DQorCXUzMiBmbGFnczsNCit9 Ow0KKw0KKyNkZWZpbmUgVE1ZX1NFQ1VSSVRZICgoc3RydWN0IHRteV9zZWN1cml0eSAqKSBjdXJy ZW50LT5zZWN1cml0eSkNCisNCitzdHJ1Y3QgcGF0aF9pbmZvIHsNCisJY29uc3QgY2hhciAqbmFt ZTsNCisJdTMyIGhhc2g7ICAgICAgICAvKiA9IGZ1bGxfbmFtZV9oYXNoKG5hbWUsIHN0cmxlbihu YW1lKSkgKi8NCisJdTE2IHRvdGFsX2xlbjsgICAvKiA9IHN0cmxlbihuYW1lKSAgICAgICAgICAg ICAgICAgICAgICAgKi8NCisJdTE2IGNvbnN0X2xlbjsgICAvKiA9IHRteV9jb25zdF9wYXJ0X2xl bmd0aChuYW1lKSAgICAgICAgKi8NCisJYm9vbCBpc19kaXI7ICAgICAgIC8qID0gdG15X3N0cmVu ZHN3aXRoKG5hbWUsICIvIikgICAgICAgICAqLw0KKwlib29sIGlzX3BhdHRlcm5lZDsgLyogPSBQ YXRoQ29udGFpbnNQYXR0ZXJuKG5hbWUpICAgICAgICAgICovDQorCXUxNiBkZXB0aDsgICAgICAg LyogPSB0bXlfcGF0aF9kZXB0aChuYW1lKSAgICAgICAgICAgICAgICovDQorfTsNCisNCisjZGVm aW5lIFRNWV9NQVhfUEFUSE5BTUVfTEVOIDQwMDANCisNCitzdHJ1Y3QgcGF0aF9ncm91cF9tZW1i ZXIgew0KKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7DQorCWNvbnN0IHN0cnVjdCBwYXRoX2luZm8g Km1lbWJlcl9uYW1lOw0KKwlib29sIGlzX2RlbGV0ZWQ7DQorfTsNCisNCitzdHJ1Y3QgcGF0aF9n cm91cF9lbnRyeSB7DQorCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCisJY29uc3Qgc3RydWN0IHBh dGhfaW5mbyAqZ3JvdXBfbmFtZTsNCisJc3RydWN0IGxpc3RfaGVhZCBwYXRoX2dyb3VwX21lbWJl cl9saXN0Ow0KK307DQorDQorDQorc3RydWN0IG1pbmlfc3RhdCB7DQorCXVpZF90IHVpZDsNCisJ Z2lkX3QgZ2lkOw0KKwlpbm9fdCBpbm87DQorfTsNCitzdHJ1Y3QgZGVudHJ5Ow0KK3N0cnVjdCB2 ZnNtb3VudDsNCitzdHJ1Y3Qgb2JqX2luZm8gew0KKwlib29sIHZhbGlkYXRlX2RvbmU7DQorCWJv b2wgcGF0aDFfdmFsaWQ7DQorCWJvb2wgcGF0aDFfcGFyZW50X3ZhbGlkOw0KKwlib29sIHBhdGgy X3BhcmVudF92YWxpZDsNCisJc3RydWN0IGRlbnRyeSAqcGF0aDFfZGVudHJ5Ow0KKwlzdHJ1Y3Qg dmZzbW91bnQgKnBhdGgxX3Zmc21udDsNCisJc3RydWN0IGRlbnRyeSAqcGF0aDJfZGVudHJ5Ow0K KwlzdHJ1Y3QgdmZzbW91bnQgKnBhdGgyX3Zmc21udDsNCisJc3RydWN0IG1pbmlfc3RhdCBwYXRo MV9zdGF0Ow0KKwkvKiBJIGRvbid0IGhhbmRsZSBwYXRoMl9zdGF0IGZvciByZW5hbWUgb3BlcmF0 aW9uLiAqLw0KKwlzdHJ1Y3QgbWluaV9zdGF0IHBhdGgxX3BhcmVudF9zdGF0Ow0KKwlzdHJ1Y3Qg bWluaV9zdGF0IHBhdGgyX3BhcmVudF9zdGF0Ow0KK307DQorc3RydWN0IGNvbmRpdGlvbl9saXN0 Ow0KKw0KK3N0cnVjdCBsaW51eF9iaW5wcm07DQorc3RydWN0IHB0X3JlZ3M7DQorDQorLyoNCisg KiAgVE9NT1lPIHVzZXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmVzLg0KKyAqICBNZW1vcnkgYWxs b2NhdGVkIGZvciB0aGVzZSBzdHJ1Y3R1cmVzIGFyZSBuZXZlciBrZnJlZSgpZWQuDQorICogIFNp bmNlIG5vIGxvY2tzIGFyZSB1c2VkIGZvciByZWFkaW5nLA0KKyAqICBhc3NpZ25tZW50IG11c3Qg YmUgcGVyZm9ybWVkIGF0b21pY2FsbHkuDQorICovDQorDQorLyoqKioqKioqKioqKioqKioqKioq KioqKiAgVGhlIHN0cnVjdHVyZSBmb3IgZG9tYWlucy4gICoqKioqKioqKioqKioqKioqKioqKioq Ki8NCisNCitzdHJ1Y3QgYWNsX2luZm8gew0KKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7DQorCWNv bnN0IHN0cnVjdCBjb25kaXRpb25fbGlzdCAqY29uZDsNCisJdTggdHlwZTsNCisJYm9vbCBpc19k ZWxldGVkOw0KK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOw0KKw0KK3N0cnVjdCBkb21h aW5faW5mbyB7DQorCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCisJc3RydWN0IGxpc3RfaGVhZCBh Y2xfaW5mb19saXN0Ow0KKwljb25zdCBzdHJ1Y3QgcGF0aF9pbmZvICpkb21haW5uYW1lOyAvKiBO ZXZlciBOVUxMLiAgICovDQorCXU4IHByb2ZpbGU7DQorCXU4IGlzX2RlbGV0ZWQ7IC8qIDA6IGFj dGl2ZSwgMTpkZWxldGVkLCAyNTU6ZGVsZXRlZC1wZXJtYW5lbnRseSAqLw0KKwlib29sIHF1b3Rh X3dhcm5lZDsNCit9Ow0KKw0KKyNkZWZpbmUgVE1ZX01BWF9QUk9GSUxFUyAyNTYNCisNCitzdHJ1 Y3QgZmlsZV9hY2wgew0KKwkvKiB0eXBlID0gVE1ZX1RZUEVfRklMRV9BQ0wgKi8NCisJc3RydWN0 IGFjbF9pbmZvIGhlYWQ7DQorCXU4IHBlcm07DQorCWJvb2wgdV9pc19ncm91cDsNCisJdW5pb24g ew0KKwkJY29uc3Qgc3RydWN0IHBhdGhfaW5mbyAqZmlsZW5hbWU7DQorCQljb25zdCBzdHJ1Y3Qg cGF0aF9ncm91cF9lbnRyeSAqZ3JvdXA7DQorCX0gdTsNCit9Ow0KKw0KK3N0cnVjdCBhcmd2MF9h Y2wgew0KKwkvKiB0eXBlID0gVE1ZX1RZUEVfQVJHVjBfQUNMICovDQorCXN0cnVjdCBhY2xfaW5m byBoZWFkOw0KKwljb25zdCBzdHJ1Y3QgcGF0aF9pbmZvICpmaWxlbmFtZTsgLyogUG9pbnRlciB0 byBzaW5nbGUgcGF0aG5hbWUuICovDQorCWNvbnN0IHN0cnVjdCBwYXRoX2luZm8gKmFyZ3YwOyAg ICAvKiBzdHJyY2hyKGFyZ3ZbMF0sICcvJykgKyAxICAgKi8NCit9Ow0KKw0KK3N0cnVjdCBlbnZf YWNsIHsNCisJLyogdHlwZSA9IFRNWV9UWVBFX0VOVl9BQ0wgKi8NCisJc3RydWN0IGFjbF9pbmZv IGhlYWQ7DQorCWNvbnN0IHN0cnVjdCBwYXRoX2luZm8gKmVudjsgLyogUG9pbnRlciB0byBlbnYg dmFyaWFibGUncyBuYW1lLiAqLw0KK307DQorDQorc3RydWN0IHNpbmdsZV9hY2wgew0KKwkvKiB0 eXBlID0gVE1ZX1RZUEVfKiAqLw0KKwlzdHJ1Y3QgYWNsX2luZm8gaGVhZDsNCisJYm9vbCB1X2lz X2dyb3VwOw0KKwl1bmlvbiB7DQorCQljb25zdCBzdHJ1Y3QgcGF0aF9pbmZvICpmaWxlbmFtZTsN CisJCWNvbnN0IHN0cnVjdCBwYXRoX2dyb3VwX2VudHJ5ICpncm91cDsNCisJfSB1Ow0KK307DQor DQorc3RydWN0IGRvdWJsZV9hY2wgew0KKwkvKiB0eXBlID0gVE1ZX1RZUEVfUkVOQU1FX0FDTCBv ciBUTVlfVFlQRV9MSU5LX0FDTCwgKi8NCisJc3RydWN0IGFjbF9pbmZvIGhlYWQ7DQorCWJvb2wg dTFfaXNfZ3JvdXA7DQorCWJvb2wgdTJfaXNfZ3JvdXA7DQorCXVuaW9uIHsNCisJCWNvbnN0IHN0 cnVjdCBwYXRoX2luZm8gKmZpbGVuYW1lMTsNCisJCWNvbnN0IHN0cnVjdCBwYXRoX2dyb3VwX2Vu dHJ5ICpncm91cDE7DQorCX0gdTE7DQorCXVuaW9uIHsNCisJCWNvbnN0IHN0cnVjdCBwYXRoX2lu Zm8gKmZpbGVuYW1lMjsNCisJCWNvbnN0IHN0cnVjdCBwYXRoX2dyb3VwX2VudHJ5ICpncm91cDI7 DQorCX0gdTI7DQorfTsNCisNCitzdHJ1Y3QgaW42X2FkZHI7DQorc3RydWN0IGFkZHJlc3NfZ3Jv dXBfbWVtYmVyIHsNCisJc3RydWN0IGxpc3RfaGVhZCBsaXN0Ow0KKwl1bmlvbiB7DQorCQl1MzIg aXB2NDsgICAgICAgICAgICAgICAgICAgIC8qIEhvc3QgYnl0ZSBvcmRlciAgICAqLw0KKwkJY29u c3Qgc3RydWN0IGluNl9hZGRyICppcHY2OyAvKiBOZXR3b3JrIGJ5dGUgb3JkZXIgKi8NCisJfSBt aW4sIG1heDsNCisJYm9vbCBpc19kZWxldGVkOw0KKwlib29sIGlzX2lwdjY7DQorfTsNCisNCitz dHJ1Y3QgYWRkcmVzc19ncm91cF9lbnRyeSB7DQorCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCisJ Y29uc3Qgc3RydWN0IHBhdGhfaW5mbyAqZ3JvdXBfbmFtZTsNCisJc3RydWN0IGxpc3RfaGVhZCBh ZGRyZXNzX2dyb3VwX21lbWJlcl9saXN0Ow0KK307DQorDQorI2RlZmluZSBUTVlfVFlQRV9BRERS RVNTX0dST1VQIDANCisjZGVmaW5lIFRNWV9UWVBFX0lQdjQgICAgICAgICAgMQ0KKyNkZWZpbmUg VE1ZX1RZUEVfSVB2NiAgICAgICAgICAyDQorDQorc3RydWN0IG5ldF9hY2wgew0KKwkvKiB0eXBl ID0gVFlQRV9JUF9ORVRXT1JLX0FDTCAqLw0KKwlzdHJ1Y3QgYWNsX2luZm8gaGVhZDsNCisJdTgg b3BlcmF0aW9uX3R5cGU7DQorCXU4IHJlY29yZF90eXBlOw0KKwl1bmlvbiB7DQorCQlzdHJ1Y3Qg ew0KKwkJCXUzMiBtaW47DQorCQkJdTMyIG1heDsNCisJCX0gaXB2NDsNCisJCXN0cnVjdCB7DQor CQkJY29uc3Qgc3RydWN0IGluNl9hZGRyICptaW47DQorCQkJY29uc3Qgc3RydWN0IGluNl9hZGRy ICptYXg7DQorCQl9IGlwdjY7DQorCQljb25zdCBzdHJ1Y3QgYWRkcmVzc19ncm91cF9lbnRyeSAq Z3JvdXA7DQorCX0gdTsNCisJdTE2IG1pbl9wb3J0OyAgICAgICAgICAgLyogU3RhcnQgb2YgcG9y dCBudW1iZXIgcmFuZ2UuICovDQorCXUxNiBtYXhfcG9ydDsgICAgICAgICAgIC8qIEVuZCBvZiBw b3J0IG51bWJlciByYW5nZS4gICAqLw0KK307DQorDQorc3RydWN0IHNpZ25hbF9hY2wgew0KKwkv KiB0eXBlID0gVFlQRV9TSUdOQUxfQUNMICovDQorCXN0cnVjdCBhY2xfaW5mbyBoZWFkOw0KKwl1 MTYgc2lnOw0KKwkvKiBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIHBhdHRlcm4uICAgICAgICAgICAg Ki8NCisJY29uc3Qgc3RydWN0IHBhdGhfaW5mbyAqZG9tYWlubmFtZTsNCit9Ow0KKw0KK3N0cnVj dCBjYXBhYmlsaXR5X2FjbCB7DQorCS8qIHR5cGUgPSBUWVBFX0NBUEFCSUxJVFlfQUNMICovDQor CXN0cnVjdCBhY2xfaW5mbyBoZWFkOw0KKwl1MTYgY2FwYWJpbGl0eTsNCit9Ow0KKw0KKy8qKioq KioqKioqKioqKioqKioqKioqKioqICBLZXl3b3JkcyBmb3IgQUNMcy4gICoqKioqKioqKioqKioq KioqKioqKioqKiovDQorDQorI2RlZmluZSBUTVlfQUdHUkVHQVRPUiAgICAgICAgICAgICAgIAki YWdncmVnYXRvciAiDQorI2RlZmluZSBUTVlfQUdHUkVHQVRPUl9MRU4gICAgICAgICAgIAkoc2l6 ZW9mKFRNWV9BR0dSRUdBVE9SKSAtIDEpDQorI2RlZmluZSBUTVlfQUxJQVMgICAgICAgICAgICAg ICAgICAgIAkiYWxpYXMgIg0KKyNkZWZpbmUgVE1ZX0FMSUFTX0xFTiAgICAgICAgICAgICAgICAJ KHNpemVvZihUTVlfQUxJQVMpIC0gMSkNCisjZGVmaW5lIFRNWV9BTExPV19SRUFEICAgICAgICAg ICAgICAgCSJhbGxvd19yZWFkICINCisjZGVmaW5lIFRNWV9BTExPV19SRUFEX0xFTiAgICAgICAg ICAgCShzaXplb2YoVE1ZX0FMTE9XX1JFQUQpIC0gMSkNCisjZGVmaW5lIFRNWV9ERUxFVEUgICAg ICAgICAgICAgICAgICAgCSJkZWxldGUgIg0KKyNkZWZpbmUgVE1ZX0RFTEVURV9MRU4gICAgICAg ICAgICAgICAJKHNpemVvZihUTVlfREVMRVRFKSAtIDEpDQorI2RlZmluZSBUTVlfREVOWV9SRVdS SVRFICAgICAgICAgICAgIAkiZGVueV9yZXdyaXRlICINCisjZGVmaW5lIFRNWV9ERU5ZX1JFV1JJ VEVfTEVOICAgICAgICAgCShzaXplb2YoVE1ZX0RFTllfUkVXUklURSkgLSAxKQ0KKyNkZWZpbmUg VE1ZX0ZJTEVfUEFUVEVSTiAgICAgICAgICAgICAJImZpbGVfcGF0dGVybiAiDQorI2RlZmluZSBU TVlfRklMRV9QQVRURVJOX0xFTiAgICAgICAgIAkoc2l6ZW9mKFRNWV9GSUxFX1BBVFRFUk4pIC0g MSkNCisjZGVmaW5lIFRNWV9JTklUSUFMSVpFX0RPTUFJTiAgICAgICAgCSJpbml0aWFsaXplX2Rv bWFpbiAiDQorI2RlZmluZSBUTVlfSU5JVElBTElaRV9ET01BSU5fTEVOICAgIAkoc2l6ZW9mKFRN WV9JTklUSUFMSVpFX0RPTUFJTikgLSAxKQ0KKyNkZWZpbmUgVE1ZX0tFRVBfRE9NQUlOICAgICAg ICAgICAgICAJImtlZXBfZG9tYWluICINCisjZGVmaW5lIFRNWV9LRUVQX0RPTUFJTl9MRU4gICAg ICAgICAgCShzaXplb2YoVE1ZX0tFRVBfRE9NQUlOKSAtIDEpDQorI2RlZmluZSBUTVlfTk9fSU5J VElBTElaRV9ET01BSU4gICAgIAkibm9faW5pdGlhbGl6ZV9kb21haW4gIg0KKyNkZWZpbmUgVE1Z X05PX0lOSVRJQUxJWkVfRE9NQUlOX0xFTiAJKHNpemVvZihUTVlfTk9fSU5JVElBTElaRV9ET01B SU4pIC0gMSkNCisjZGVmaW5lIFRNWV9OT19LRUVQX0RPTUFJTiAgICAgICAgICAgCSJub19rZWVw X2RvbWFpbiAiDQorI2RlZmluZSBUTVlfTk9fS0VFUF9ET01BSU5fTEVOICAgICAgIAkoc2l6ZW9m KFRNWV9OT19LRUVQX0RPTUFJTikgLSAxKQ0KKyNkZWZpbmUgVE1ZX1BBVEhfR1JPVVAgICAgICAg ICAgICAgICAJInBhdGhfZ3JvdXAgIg0KKyNkZWZpbmUgVE1ZX1BBVEhfR1JPVVBfTEVOICAgICAg ICAgICAJKHNpemVvZihUTVlfUEFUSF9HUk9VUCkgLSAxKQ0KKyNkZWZpbmUgVE1ZX1NFTEVDVCAg ICAgICAgICAgICAgICAgICAJInNlbGVjdCAiDQorI2RlZmluZSBUTVlfU0VMRUNUX0xFTiAgICAg ICAgICAgICAgIAkoc2l6ZW9mKFRNWV9TRUxFQ1QpIC0gMSkNCisjZGVmaW5lIFRNWV9VTkRFTEVU RSAgICAgICAgICAgICAgICAgCSJ1bmRlbGV0ZSAiDQorI2RlZmluZSBUTVlfVU5ERUxFVEVfTEVO ICAgICAgICAgICAgIAkoc2l6ZW9mKFRNWV9VTkRFTEVURSkgLSAxKQ0KKw0KKyNkZWZpbmUgVE1Z X0FMTE9XX01PVU5UICAgICAgICAgICAgICAgICAiYWxsb3dfbW91bnQgIg0KKyNkZWZpbmUgVE1Z X0FMTE9XX01PVU5UX0xFTiAgICAgICAgICAgICAoc2l6ZW9mKFRNWV9BTExPV19NT1VOVCkgLSAx KQ0KKyNkZWZpbmUgVE1ZX0RFTllfVU5NT1VOVCAgICAgICAgICAgICAgICAiZGVueV91bm1vdW50 ICINCisjZGVmaW5lIFRNWV9ERU5ZX1VOTU9VTlRfTEVOICAgICAgICAgICAgKHNpemVvZihUTVlf REVOWV9VTk1PVU5UKSAtIDEpDQorI2RlZmluZSBUTVlfQUxMT1dfUElWT1RfUk9PVCAgICAgICAg ICAgICJhbGxvd19waXZvdF9yb290ICINCisjZGVmaW5lIFRNWV9BTExPV19QSVZPVF9ST09UX0xF TiAgICAgICAgKHNpemVvZihUTVlfQUxMT1dfUElWT1RfUk9PVCkgLSAxKQ0KKw0KKyNkZWZpbmUg VE1ZX1VTRV9QUk9GSUxFICAgICAgICAgICAgICAgICAidXNlX3Byb2ZpbGUgIg0KKw0KKyNkZWZp bmUgVE1ZX1JPT1RfTkFNRSAJCSAgICAgICAgIjxrZXJuZWw+Ig0KKyNkZWZpbmUgVE1ZX1JPT1Rf TkFNRV9MRU4gCSAgICAgICAgKHNpemVvZihUTVlfUk9PVF9OQU1FKSAtIDEpDQorDQorI2RlZmlu ZSBUTVlfQUxMT1dfQVJHVjAgICAgICAgICAgICAgICAgICJhbGxvd19hcmd2MCAiDQorI2RlZmlu ZSBUTVlfQUxMT1dfQVJHVjBfTEVOICAgICAgICAgICAgIChzaXplb2YoVE1ZX0FMTE9XX0FSR1Yw KSAtIDEpDQorDQorI2RlZmluZSBUTVlfQUxMT1dfRU5WICAgICAgICAgICAgICAgICAgICJhbGxv d19lbnYgIg0KKyNkZWZpbmUgVE1ZX0FMTE9XX0VOVl9MRU4gICAgICAgICAgICAgICAoc2l6ZW9m KFRNWV9BTExPV19FTlYpIC0gMSkNCisNCisjZGVmaW5lIFRNWV9BRERSRVNTX0dST1VQICAgICAg ICAgICAgICAgImFkZHJlc3NfZ3JvdXAgIg0KKyNkZWZpbmUgVE1ZX0FERFJFU1NfR1JPVVBfTEVO ICAgICAgICAgICAoc2l6ZW9mKFRNWV9BRERSRVNTX0dST1VQKSAtIDEpDQorI2RlZmluZSBUTVlf QUxMT1dfTkVUV09SSyAgICAgICAgICAgICAgICJhbGxvd19uZXR3b3JrICINCisjZGVmaW5lIFRN WV9BTExPV19ORVRXT1JLX0xFTiAgICAgICAgICAgKHNpemVvZihUTVlfQUxMT1dfTkVUV09SSykg LSAxKQ0KKw0KKyNkZWZpbmUgVE1ZX0FMTE9XX1NJR05BTCAgICAgICAgICAgICAgICAiYWxsb3df c2lnbmFsICINCisjZGVmaW5lIFRNWV9BTExPV19TSUdOQUxfTEVOICAgICAgICAgICAgKHNpemVv ZihUTVlfQUxMT1dfU0lHTkFMKSAtIDEpDQorDQorI2RlZmluZSBUTVlfQUxMT1dfQ0FQQUJJTElU WSAgICAgICAgICAgICJhbGxvd19jYXBhYmlsaXR5ICINCisjZGVmaW5lIFRNWV9BTExPV19DQVBB QklMSVRZX0xFTiAgICAgICAgKHNpemVvZihUTVlfQUxMT1dfQ0FQQUJJTElUWSkgLSAxKQ0KKyNk ZWZpbmUgVE1ZX01BQ19GT1JfQ0FQQUJJTElUWSAgICAgICAgICAiTUFDX0ZPUl9DQVBBQklMSVRZ OjoiDQorI2RlZmluZSBUTVlfTUFDX0ZPUl9DQVBBQklMSVRZX0xFTiAgICAgIChzaXplb2YoVE1Z X01BQ19GT1JfQ0FQQUJJTElUWSkgLSAxKQ0KKw0KKy8qKioqKioqKioqKioqKioqKioqKiAgSW5k ZXggbnVtYmVycyBmb3IgQWNjZXNzIENvbnRyb2xzLiAgKioqKioqKioqKioqKioqKioqKiovDQor DQorI2RlZmluZSBUTVlfQ09NTUVOVCAgICAgICAgICAgICAgMA0KKyNkZWZpbmUgVE1ZX01BQ19G T1JfRklMRSAgICAgICAgIDENCisjZGVmaW5lIFRNWV9NQUNfRk9SX0FSR1YwICAgICAgICAyDQor I2RlZmluZSBUTVlfTUFDX0ZPUl9FTlYgICAgICAgICAgMw0KKyNkZWZpbmUgVE1ZX01BQ19GT1Jf TkVUV09SSyAgICAgIDQNCisjZGVmaW5lIFRNWV9NQUNfRk9SX1NJR05BTCAgICAgICA1DQorI2Rl ZmluZSBUTVlfREVOWV9DT05DRUFMX01PVU5UICAgNg0KKyNkZWZpbmUgVE1ZX1JFU1RSSUNUX01P VU5UICAgICAgIDcNCisjZGVmaW5lIFRNWV9SRVNUUklDVF9VTU9VTlQgICAgICA4DQorI2RlZmlu ZSBUTVlfUkVTVFJJQ1RfUElWT1RfUk9PVCAgOQ0KKyNkZWZpbmUgVE1ZX01BWF9BQ0NFUFRfRU5U UlkgICAgMTANCisjZGVmaW5lIFRNWV9NQVhfR1JBTlRfTE9HICAgICAgIDExDQorI2RlZmluZSBU TVlfTUFYX1JFSkVDVF9MT0cgICAgICAxMg0KKyNkZWZpbmUgVE1ZX1ZFUkJPU0UgICAgICAgICAg ICAgMTMNCisjZGVmaW5lIFRNWV9BTExPV19FTkZPUkNFX0dSQUNFIDE0DQorI2RlZmluZSBUTVlf TUFYX0NPTlRST0xfSU5ERVggICAxNQ0KKw0KKyNkZWZpbmUgVE1ZX05FVFdPUktfQUNMX1VEUF9C SU5EICAgIDANCisjZGVmaW5lIFRNWV9ORVRXT1JLX0FDTF9VRFBfQ09OTkVDVCAxDQorI2RlZmlu ZSBUTVlfTkVUV09SS19BQ0xfVENQX0JJTkQgICAgMg0KKyNkZWZpbmUgVE1ZX05FVFdPUktfQUNM X1RDUF9MSVNURU4gIDMNCisjZGVmaW5lIFRNWV9ORVRXT1JLX0FDTF9UQ1BfQ09OTkVDVCA0DQor I2RlZmluZSBUTVlfTkVUV09SS19BQ0xfVENQX0FDQ0VQVCAgNQ0KKyNkZWZpbmUgVE1ZX05FVFdP UktfQUNMX1JBV19CSU5EICAgIDYNCisjZGVmaW5lIFRNWV9ORVRXT1JLX0FDTF9SQVdfQ09OTkVD VCA3DQorDQorLyoqKioqKioqKioqKiogIEluZGV4IG51bWJlcnMgZm9yIENhcGFiaWxpdHkgQ29u dHJvbHMuICAqKioqKioqKioqLw0KKw0KKy8qIHNvY2tldChQRl9JTkVUIG9yIFBGX0lORVQ2LCBT T0NLX1NUUkVBTSwgKikgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9JTkVUX1NU UkVBTV9TT0NLRVRfQ1JFQVRFICAgICAgICAgMA0KKy8qIGxpc3RlbigpIGZvciBQRl9JTkVUIG9y IFBGX0lORVQ2LCBTT0NLX1NUUkVBTSAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9J TkVUX1NUUkVBTV9TT0NLRVRfTElTVEVOICAgICAgICAgMQ0KKy8qIGNvbm5lY3QoKSBmb3IgUEZf SU5FVCBvciBQRl9JTkVUNiwgU09DS19TVFJFQU0gICAgICAgICAgICAgICAgKi8NCisjZGVmaW5l IFRNWV9JTkVUX1NUUkVBTV9TT0NLRVRfQ09OTkVDVCAgICAgICAgMg0KKy8qIHNvY2tldChQRl9J TkVUIG9yIFBGX0lORVQ2LCBTT0NLX0RHUkFNLCAqKSAgICAgICAgICAgICAgICAgICAgKi8NCisj ZGVmaW5lIFRNWV9VU0VfSU5FVF9ER1JBTV9TT0NLRVQgICAgICAgICAgICAgMw0KKy8qIHNvY2tl dChQRl9JTkVUIG9yIFBGX0lORVQ2LCBTT0NLX1JBVywgKikgICAgICAgICAgICAgICAgICAgICAg Ki8NCisjZGVmaW5lIFRNWV9VU0VfSU5FVF9SQVdfU09DS0VUICAgICAgICAgICAgICAgNA0KKy8q IHNvY2tldChQRl9ST1VURSwgKiwgKikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKi8NCisjZGVmaW5lIFRNWV9VU0VfUk9VVEVfU09DS0VUICAgICAgICAgICAgICAgICAg NQ0KKy8qIHNvY2tldChQRl9QQUNLRVQsICosICopICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9VU0VfUEFDS0VUX1NPQ0tFVCAgICAgICAgICAg ICAgICAgNg0KKy8qIHN5c19tb3VudCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfTU9VTlQgICAgICAgICAgICAg ICAgICAgICAgICAgNw0KKy8qIHN5c191bW91bnQoKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfVU1PVU5UICAgICAg ICAgICAgICAgICAgICAgICAgOA0KKy8qIHN5c19yZWJvb3QoKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfUkVCT09U ICAgICAgICAgICAgICAgICAgICAgICAgOQ0KKy8qIHN5c19jaHJvb3QoKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNf Q0hST09UICAgICAgICAgICAgICAgICAgICAgICAxMA0KKy8qIHN5c19raWxsKCksIHN5c190a2ls bCgpLCBzeXNfdGdraWxsKCkgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRN WV9TWVNfS0lMTCAgICAgICAgICAgICAgICAgICAgICAgICAxMQ0KKy8qIHN5c192aGFuZ3VwKCkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVm aW5lIFRNWV9TWVNfVkhBTkdVUCAgICAgICAgICAgICAgICAgICAgICAxMg0KKy8qIGRvX3NldHRp bWVvZmRheSgpLCBzeXNfYWRqdGltZXgoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8N CisjZGVmaW5lIFRNWV9TWVNfU0VUVElNRSAgICAgICAgICAgICAgICAgICAgICAxMw0KKy8qIHN5 c19uaWNlKCksIHN5c19zZXRwcmlvcml0eSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfTklDRSAgICAgICAgICAgICAgICAgICAgICAgICAxNA0K Ky8qIHN5c19zZXRob3N0bmFtZSgpLCBzeXNfc2V0ZG9tYWlubmFtZSgpICAgICAgICAgICAgICAg ICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfU0VUSE9TVE5BTUUgICAgICAgICAgICAgICAg ICAxNQ0KKy8qIHN5c19jcmVhdGVfbW9kdWxlKCksIHN5c19pbml0X21vZHVsZSgpLCBzeXNfZGVs ZXRlX21vZHVsZSgpICAgKi8NCisjZGVmaW5lIFRNWV9VU0VfS0VSTkVMX01PRFVMRSAgICAgICAg ICAgICAgICAxNg0KKy8qIHN5c19ta25vZChTX0lGSUZPKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9DUkVBVEVfRklGTyAgICAgICAg ICAgICAgICAgICAgICAxNw0KKy8qIHN5c19ta25vZChTX0lGQkxLKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9DUkVBVEVfQkxPQ0tf REVWICAgICAgICAgICAgICAgICAxOA0KKy8qIHN5c19ta25vZChTX0lGQ0hSKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9DUkVBVEVf Q0hBUl9ERVYgICAgICAgICAgICAgICAgICAxOQ0KKy8qIHN5c19ta25vZChTX0lGU09DSykgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9D UkVBVEVfVU5JWF9TT0NLRVQgICAgICAgICAgICAgICAyMA0KKy8qIHN5c19saW5rKCkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5l IFRNWV9TWVNfTElOSyAgICAgICAgICAgICAgICAgICAgICAgICAyMQ0KKy8qIHN5c19zeW1saW5r KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisj ZGVmaW5lIFRNWV9TWVNfU1lNTElOSyAgICAgICAgICAgICAgICAgICAgICAyMg0KKy8qIHN5c19y ZW5hbWUoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ki8NCisjZGVmaW5lIFRNWV9TWVNfUkVOQU1FICAgICAgICAgICAgICAgICAgICAgICAyMw0KKy8q IHN5c191bmxpbmsoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfVU5MSU5LICAgICAgICAgICAgICAgICAgICAgICAy NA0KKy8qIHN5c19jaG1vZCgpLCBzeXNfZmNobW9kKCkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfQ0hNT0QgICAgICAgICAgICAgICAgICAg ICAgICAyNQ0KKy8qIHN5c19jaG93bigpLCBzeXNfZmNob3duKCksIHN5c19sY2hvd24oKSAgICAg ICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfQ0hPV04gICAgICAgICAgICAg ICAgICAgICAgICAyNg0KKy8qIHN5c19pb2N0bCgpLCBjb21wYXRfc3lzX2lvY3RsKCkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfSU9DVEwgICAgICAg ICAgICAgICAgICAgICAgICAyNw0KKy8qIHN5c19rZXhlY19sb2FkKCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNfS0VYRUNf TE9BRCAgICAgICAgICAgICAgICAgICAyOA0KKy8qIHN5c19waXZvdF9yb290KCkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lIFRNWV9TWVNf UElWT1RfUk9PVCAgICAgICAgICAgICAgICAgICAyOQ0KKyNkZWZpbmUgVE1ZX01BWF9DQVBBQklM SVRZX0lOREVYICAgICAgICAgICAgIDMwDQorDQorLyoqKioqKioqKioqKioqKioqKioqICBJbmRl eCBudW1iZXJzIGZvciB1cGRhdGVzIGNvdW50ZXIuICAqKioqKioqKioqKioqKioqKioqKi8NCisN CisjZGVmaW5lIFRNWV9VUERBVEVfRE9NQUlOUE9MSUNZICAgIDANCisjZGVmaW5lIFRNWV9VUERB VEVfU1lTVEVNUE9MSUNZICAgIDENCisjZGVmaW5lIFRNWV9VUERBVEVfRVhDRVBUSU9OUE9MSUNZ IDINCisjZGVmaW5lIFRNWV9VUERBVEVfUFJPRklMRSAgICAgICAgIDMNCisjZGVmaW5lIFRNWV9V UERBVEVfUVVFUlkgICAgICAgICAgIDQNCisjZGVmaW5lIFRNWV9VUERBVEVfTUFOQUdFUiAgICAg ICAgIDUNCisjZGVmaW5lIFRNWV9VUERBVEVfR1JBTlRfTE9HICAgICAgIDYNCisjZGVmaW5lIFRN WV9VUERBVEVfUkVKRUNUX0xPRyAgICAgIDcNCisjZGVmaW5lIFRNWV9NQVhfVVBEQVRFU19DT1VO VEVSICAgIDgNCisNCisvKioqKioqKioqKioqKioqICBJbmRleGVzIGZvciAvc3lzL2tlcm5lbC9z ZWN1cml0eSBpbnRlcmZhY2VzLiAgKioqKioqKioqKioqKioqLw0KKw0KKyNkZWZpbmUgVE1ZX0RP TUFJTlBPTElDWSAgICAgMA0KKyNkZWZpbmUgVE1ZX1NZU1RFTVBPTElDWSAgICAgMQ0KKyNkZWZp bmUgVE1ZX0VYQ0VQVElPTlBPTElDWSAgMg0KKyNkZWZpbmUgVE1ZX0RPTUFJTl9TVEFUVVMgICAg Mw0KKyNkZWZpbmUgVE1ZX1BST0NFU1NfU1RBVFVTICAgNA0KKyNkZWZpbmUgVE1ZX01FTUlORk8g ICAgICAgICAgNQ0KKyNkZWZpbmUgVE1ZX1NFTEZET01BSU4gICAgICAgNg0KKyNkZWZpbmUgVE1Z X1BST0ZJTEUgICAgICAgICAgNw0KKyNkZWZpbmUgVE1ZX1FVRVJZICAgICAgICAgICAgOA0KKyNk ZWZpbmUgVE1ZX01BTkFHRVIgICAgICAgICAgOQ0KKyNkZWZpbmUgVE1ZX1VQREFURVNDT1VOVEVS ICAxMA0KKyNkZWZpbmUgVE1ZX0dSQU5UX0xPRyAgICAgICAxMQ0KKyNkZWZpbmUgVE1ZX1JFSkVD VF9MT0cgICAgICAxMg0KKyNkZWZpbmUgVE1ZX1ZFUlNJT04gICAgICAgICAxMw0KKw0KKy8qKioq KioqKioqKioqKiogIFRoZSBzdHJ1Y3R1cmUgZm9yIC9zeXMva2VybmVsL3NlY3VyaXR5IGludGVy ZmFjZXMuICAqKioqKioqKiovDQorDQorc3RydWN0IGlvX2J1ZmZlciB7DQorCWludCAoKnJlYWQp IChzdHJ1Y3QgaW9fYnVmZmVyICopOw0KKwlzdHJ1Y3QgbXV0ZXggcmVhZF9tdXRleDsgICAgICAv KiBMb2NrIGZvciByZWFkaW5nLiAgICAgICAgICAgICAgICAgICAgKi8NCisJaW50ICgqd3JpdGUp IChzdHJ1Y3QgaW9fYnVmZmVyICopOw0KKwlzdHJ1Y3QgbXV0ZXggd3JpdGVfbXV0ZXg7ICAgICAv KiBMb2NrIGZvciB1cGRhdGluZy4gICAgICAgICAgICAgICAgICAgKi8NCisJaW50ICgqcG9sbCkg KHN0cnVjdCBmaWxlICpmaWxlLCBwb2xsX3RhYmxlICp3YWl0KTsNCisJc3RydWN0IGxpc3RfaGVh ZCAqcmVhZF92YXIxOyAgLyogVGhlIHBvc2l0aW9uIGN1cnJlbnRseSByZWFkaW5nIGZyb20uICov DQorCXN0cnVjdCBsaXN0X2hlYWQgKnJlYWRfdmFyMjsgIC8qIEV4dHJhIHZhcmlhYmxlcyBmb3Ig cmVhZGluZy4gICAgICAgICAqLw0KKwlzdHJ1Y3QgZG9tYWluX2luZm8gKndyaXRlX3ZhcjE7IC8q IFRoZSBwb3NpdGlvbiBjdXJyZW50bHkgd3JpdGluZyB0by4gKi8NCisJaW50IHJlYWRfc3RlcDsg ICAgICAgICAgICAgICAgLyogVGhlIHN0ZXAgZm9yIHJlYWRpbmcuICAgICAgICAgICAgICAgICov DQorCWNoYXIgKnJlYWRfYnVmOyAgICAgICAgICAgICAgIC8qIEJ1ZmZlciBmb3IgcmVhZGluZy4g ICAgICAgICAgICAgICAgICAqLw0KKwlib29sIHJlYWRfZW9mOyAgICAgICAgICAgICAgICAvKiBF T0YgZmxhZyBmb3IgcmVhZGluZy4gICAgICAgICAgICAgICAgKi8NCisJaW50IHJlYWRfYXZhaWw7 ICAgICAgICAgICAgICAgLyogQnl0ZXMgYXZhaWxhYmxlIGZvciByZWFkaW5nLiAgICAgICAgICov DQorCWludCByZWFkYnVmX3NpemU7ICAgICAgICAgICAgIC8qIFNpemUgb2YgcmVhZCBidWZmZXIu ICAgICAgICAgICAgICAgICAqLw0KKwljaGFyICp3cml0ZV9idWY7ICAgICAgICAgICAgICAvKiBC dWZmZXIgZm9yIHdyaXRpbmcuICAgICAgICAgICAgICAgICAgKi8NCisJaW50IHdyaXRlX2F2YWls OyAgICAgICAgICAgICAgLyogQnl0ZXMgYXZhaWxhYmxlIGZvciB3cml0aW5nLiAgICAgICAgICov DQorCWludCB3cml0ZWJ1Zl9zaXplOyAgICAgICAgICAgIC8qIFNpemUgb2Ygd3JpdGUgYnVmZmVy LiAgICAgICAgICAgICAgICAqLw0KK307DQorDQorLyoqKioqKioqKioqKioqKioqKioqKioqKiog IFBST1RPVFlQRVMgICoqKioqKioqKioqKioqKioqKioqKioqKiovDQorDQorY2hhciAqdG15X2Zp bmRfY29uZGl0aW9uX3BhcnQoY2hhciAqZGF0YSk7DQorY29uc3Qgc3RydWN0IGNvbmRpdGlvbl9s aXN0ICp0bXlfYXNzaWduX2NvbmRpdGlvbihjb25zdCBjaGFyICpjb25kaXRpb24pOw0KK2ludCB0 bXlfY2hlY2tfY29uZGl0aW9uKGNvbnN0IHN0cnVjdCBjb25kaXRpb25fbGlzdCAqcHRyLA0KKwkJ CXN0cnVjdCBvYmpfaW5mbyAqb2JqKTsNCitpbnQgdG15X2R1bXBfY29uZGl0aW9uKHN0cnVjdCBp b19idWZmZXIgKmhlYWQsDQorCQkgICAgICAgY29uc3Qgc3RydWN0IGNvbmRpdGlvbl9saXN0ICpw dHIpOw0KK2NvbnN0IGNoYXIgKnRteV9nZXRfZXhlKHZvaWQpOw0KK2NvbnN0IGNoYXIgKnRteV9n ZXRtc2coYm9vbCBpc19lbmZvcmNlKTsNCitjb25zdCBjaGFyICp0bXlfbGFzdG5hbWUoY29uc3Qg c3RydWN0IGRvbWFpbl9pbmZvICpkb21haW4pOw0KK2NvbnN0IGNoYXIgKnRteV9hY2x0eXBlMmtl eXdvcmQoY29uc3QgdW5zaWduZWQgaW50IGFjbF90eXBlKTsNCisNCitpbnQgdG15X21vdW50X3Bl cm0oY2hhciAqZGV2X25hbWUsDQorCQkgICBjaGFyICpkaXJfbmFtZSwNCisJCSAgIGNoYXIgKnR5 cGUsDQorCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKTsNCitpbnQgdG15X2NvbmNlYWxfbW91bnQo c3RydWN0IG5hbWVpZGF0YSAqbmQpOw0KK2ludCB0bXlfdW1vdW50X3Blcm0oc3RydWN0IHZmc21v dW50ICptbnQpOw0KK2ludCB0bXlfYWRkX21vdW50X3BvbGljeShjaGFyICpkYXRhLCBjb25zdCBi b29sIGlzX2RlbGV0ZSk7DQoraW50IHRteV9yZWFkX21vdW50X3BvbGljeShzdHJ1Y3QgaW9fYnVm ZmVyICpoZWFkKTsNCitpbnQgdG15X2FkZF9ub191bW91bnRfcG9saWN5KGNoYXIgKmRhdGEsIGNv bnN0IGJvb2wgaXNfZGVsZXRlKTsNCitpbnQgdG15X3JlYWRfbm9fdW1vdW50X3BvbGljeShzdHJ1 Y3QgaW9fYnVmZmVyICpoZWFkKTsNCitpbnQgdG15X3Bpdm90X3Jvb3RfcGVybShzdHJ1Y3QgbmFt ZWlkYXRhICpvbGRfbmQsDQorCQkJc3RydWN0IG5hbWVpZGF0YSAqbmV3X25kKTsNCitpbnQgdG15 X2FkZF9waXZvdF9yb290X3BvbGljeShjaGFyICpkYXRhLCBjb25zdCBib29sIGlzX2RlbGV0ZSk7 DQoraW50IHRteV9yZWFkX3Bpdm90X3Jvb3RfcG9saWN5KHN0cnVjdCBpb19idWZmZXIgKmhlYWQp Ow0KKw0KK2ludCB0bXlfYWRkX2FnZ3JlZ2F0b3JfcG9saWN5KGNoYXIgKmRhdGEsIGNvbnN0IGJv b2wgaXNfZGVsZXRlKTsNCitpbnQgdG15X2FkZF9hZGRyZXNzX2dyb3VwX3BvbGljeShjaGFyICpk YXRhLCBjb25zdCBib29sIGlzX2RlbGV0ZSk7DQoraW50IHRteV9hZGRfYWxpYXNfcG9saWN5KGNo YXIgKmRhdGEsIGNvbnN0IGJvb2wgaXNfZGVsZXRlKTsNCitpbnQgdG15X2FkZF9hcmd2MF9wb2xp Y3koY2hhciAqZGF0YSwNCisJCQkgc3RydWN0IGRvbWFpbl9pbmZvICpkb21haW4sDQorCQkJIGNv bnN0IHN0cnVjdCBjb25kaXRpb25fbGlzdCAqY29uZCwNCisJCQkgY29uc3QgYm9vbCBpc19kZWxl dGUpOw0KK2ludCB0bXlfYWRkX2FjbChzdHJ1Y3QgZG9tYWluX2luZm8gKmRvbWFpbiwgc3RydWN0 IGFjbF9pbmZvICphY2wpOw0KK2ludCB0bXlfYWRkX2NhcGFiaWxpdHlfcG9saWN5KGNoYXIgKmRh dGEsDQorCQkJICAgICAgc3RydWN0IGRvbWFpbl9pbmZvICpkb21haW4sDQorCQkJICAgICAgY29u c3Qgc3RydWN0IGNvbmRpdGlvbl9saXN0ICpjb25kLA0KKwkJCSAgICAgIGNvbnN0IGJvb2wgaXNf ZGVsZXRlKTsNCitpbnQgdG15X2FkZF9kb21haW5faW5pdGlhbGl6ZXJfcG9saWN5KGNoYXIgKmRh dGEsDQorCQkJCSAgICAgIGNvbnN0IGJvb2wgaXNfbm90LA0KKwkJCQkgICAgICBjb25zdCBib29s IGlzX2RlbGV0ZSk7DQoraW50IHRteV9hZGRfZG9tYWluX2tlZXBlcl9wb2xpY3koY2hhciAqZGF0 YSwNCisJCQkJIGNvbnN0IGJvb2wgaXNfbm90LA0KKwkJCQkgY29uc3QgYm9vbCBpc19kZWxldGUp Ow0KK2ludCB0bXlfYWRkX2Vudl9wb2xpY3koY2hhciAqZGF0YSwNCisJCSAgICAgICBzdHJ1Y3Qg ZG9tYWluX2luZm8gKmRvbWFpbiwNCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgY29uZGl0aW9uX2xp c3QgKmNvbmQsDQorCQkgICAgICAgY29uc3QgYm9vbCBpc19kZWxldGUpOw0KK2ludCB0bXlfZmls ZV9wZXJtKGNvbnN0IGNoYXIgKmZpbGVuYW1lMCwgY29uc3QgdTggcGVybSwgY29uc3QgY2hhciAq b3BlcmF0aW9uKTsNCitpbnQgdG15X2FkZF9maWxlX3BvbGljeShjaGFyICpkYXRhLA0KKwkJCXN0 cnVjdCBkb21haW5faW5mbyAqZG9tYWluLA0KKwkJCWNvbnN0IHN0cnVjdCBjb25kaXRpb25fbGlz dCAqY29uZCwNCisJCQljb25zdCBib29sIGlzX2RlbGV0ZSk7DQoraW50IHRteV9hZGRfZ2xvYmFs bHlfcmVhZGFibGVfcG9saWN5KGNoYXIgKmRhdGEsIGNvbnN0IGJvb2wgaXNfZGVsZXRlKTsNCitp bnQgdG15X2FkZF9nbG9iYWxseV91c2FibGVfZW52X3BvbGljeShjaGFyICplbnYsIGNvbnN0IGJv b2wgaXNfZGVsZXRlKTsNCitpbnQgdG15X2FkZF9ncm91cF9wb2xpY3koY2hhciAqZGF0YSwgY29u c3QgYm9vbCBpc19kZWxldGUpOw0KK2ludCB0bXlfYWRkX25ldHdvcmtfcG9saWN5KGNoYXIgKmRh dGEsDQorCQkJICAgc3RydWN0IGRvbWFpbl9pbmZvICpkb21haW4sDQorCQkJICAgY29uc3Qgc3Ry dWN0IGNvbmRpdGlvbl9saXN0ICpjb25kLA0KKwkJCSAgIGNvbnN0IGJvb2wgaXNfZGVsZXRlKTsN CitpbnQgdG15X2FkZF9ub19yZXdyaXRlX3BvbGljeShjaGFyICpwYXR0ZXJuLCBjb25zdCBib29s IGlzX2RlbGV0ZSk7DQoraW50IHRteV9hZGRfcGF0dGVybl9wb2xpY3koY2hhciAqZGF0YSwgY29u c3QgYm9vbCBpc19kZWxldGUpOw0KK2ludCB0bXlfc3VwZXJ2aXNvcihjb25zdCBjaGFyICpmbXQs IC4uLikNCisJX19hdHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMSwgMikpKTsNCisjaWZkZWYg Q09ORklHX1NFQ1VSSVRZX1RPTU9ZT19VU0VfQVVESVREDQoraW50IHRteV9hdWRpdChjb25zdCBj aGFyICpmbXQsIC4uLikNCisJX19hdHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMSwgMikpKTsN CisjZWxzZQ0KKyNkZWZpbmUgdG15X2F1ZGl0IHByaW50aw0KKyNlbmRpZg0KKw0KK2ludCB0bXlf ZGVsX2FjbChzdHJ1Y3QgYWNsX2luZm8gKnB0cik7DQoraW50IHRteV9kZWxldGVfZG9tYWluKGNo YXIgKmRhdGEpOw0KK2Jvb2wgdG15X2lzX2NvcnJlY3RfZG9tYWluKGNvbnN0IHVuc2lnbmVkIGNo YXIgKmRvbWFpbm5hbWUsDQorCQkJICBjb25zdCBjaGFyICpmdW5jdGlvbik7DQorYm9vbCB0bXlf Y29ycmVjdF9wYXRoKGNvbnN0IGNoYXIgKmZpbGVuYW1lLA0KKwkJICAgICBjb25zdCBpbnQgc3Rh cnRfdHlwZSwNCisJCSAgICAgY29uc3QgaW50IHBhdHRlcm5fdHlwZSwNCisJCSAgICAgY29uc3Qg aW50IGVuZF90eXBlLA0KKwkJICAgICBjb25zdCBjaGFyICpmdW5jdGlvbik7DQorYm9vbCB0bXlf aXNfZG9tYWluX2RlZihjb25zdCB1bnNpZ25lZCBjaGFyICpidWZmZXIpOw0KK2Jvb2wgdG15X3Bh dGhfbWF0Y2goY29uc3Qgc3RydWN0IHBhdGhfaW5mbyAqcGF0aG5hbWUwLA0KKwkJICAgY29uc3Qg c3RydWN0IHBhdGhfaW5mbyAqcGF0dGVybjApOw0KK2ludCB0bXlfcmVhZF9hZ2dyZWdhdG9yX3Bv bGljeShzdHJ1Y3QgaW9fYnVmZmVyICpoZWFkKTsNCitpbnQgdG15X3JlYWRfYWxpYXNfcG9saWN5 KHN0cnVjdCBpb19idWZmZXIgKmhlYWQpOw0KK2ludCB0bXlfcmVhZF9kb21haW5faW5pdGlhbGl6 ZXJfcG9saWN5KHN0cnVjdCBpb19idWZmZXIgKmhlYWQpOw0KK2ludCB0bXlfcmVhZF9kb21haW5f a2VlcGVyX3BvbGljeShzdHJ1Y3QgaW9fYnVmZmVyICpoZWFkKTsNCitpbnQgdG15X3JlYWRfZ2xv YmFsbHlfcmVhZGFibGVfcG9saWN5KHN0cnVjdCBpb19idWZmZXIgKmhlYWQpOw0KK2ludCB0bXlf cmVhZF9nbG9iYWxseV91c2FibGVfZW52X3BvbGljeShzdHJ1Y3QgaW9fYnVmZmVyICpoZWFkKTsN CitpbnQgdG15X3JlYWRfcGF0aF9ncm91cF9wb2xpY3koc3RydWN0IGlvX2J1ZmZlciAqaGVhZCk7 DQoraW50IHRteV9yZWFkX25vX3Jld3JpdGVfcG9saWN5KHN0cnVjdCBpb19idWZmZXIgKmhlYWQp Ow0KK2ludCB0bXlfcmVhZF9wYXR0ZXJuX3BvbGljeShzdHJ1Y3QgaW9fYnVmZmVyICpoZWFkKTsN CitpbnQgdG15X3JlYWRfYWRkcmVzc19ncm91cF9wb2xpY3koc3RydWN0IGlvX2J1ZmZlciAqaGVh ZCk7DQoraW50IHRteV9hcmd2MF9wZXJtKGNvbnN0IHN0cnVjdCBwYXRoX2luZm8gKmZpbGVuYW1l LCBjb25zdCBjaGFyICphcmd2MCk7DQoraW50IHRteV9lbnZfcGVybShjb25zdCBjaGFyICplbnYs IGNvbnN0IHU4IHByb2ZpbGUsIGNvbnN0IHVuc2lnbmVkIGludCBtb2RlKTsNCitpbnQgdG15X2Nh cGFibGUoY29uc3QgdW5zaWduZWQgaW50IGNhcGFiaWxpdHkpOw0KK2ludCB0bXlfbmV0d29ya19s aXN0ZW5fYWNsKGNvbnN0IGJvb2wgaXNfaXB2NiwNCisJCQkgICBjb25zdCB1OCAqYWRkcmVzcywN CisJCQkgICBjb25zdCB1MTYgcG9ydCk7DQoraW50IHRteV9uZXR3b3JrX2Nvbm5lY3RfYWNsKGNv bnN0IGJvb2wgaXNfaXB2NiwNCisJCQkgICAgY29uc3QgaW50IHNvY2tfdHlwZSwNCisJCQkgICAg Y29uc3QgdTggKmFkZHJlc3MsDQorCQkJICAgIGNvbnN0IHUxNiBwb3J0KTsNCitpbnQgdG15X25l dHdvcmtfYmluZF9hY2woY29uc3QgYm9vbCBpc19pcHY2LA0KKwkJCSBjb25zdCBpbnQgc29ja190 eXBlLA0KKwkJCSBjb25zdCB1OCAqYWRkcmVzcywNCisJCQkgY29uc3QgdTE2IHBvcnQpOw0KK2lu dCB0bXlfbmV0d29ya19zZW5kbXNnX2FjbChjb25zdCBib29sIGlzX2lwdjYsDQorCQkJICAgIGNv bnN0IGludCBzb2NrX3R5cGUsDQorCQkJICAgIGNvbnN0IHU4ICphZGRyZXNzLA0KKwkJCSAgICBj b25zdCB1MTYgcG9ydCk7DQoraW50IHRteV9uZXR3b3JrX2FjY2VwdF9hY2woY29uc3QgYm9vbCBp c19pcHY2LA0KKwkJCSAgIGNvbnN0IHU4ICphZGRyZXNzLA0KKwkJCSAgIGNvbnN0IHUxNiBwb3J0 KTsNCitpbnQgdG15X25ldHdvcmtfcmVjdm1zZ19hY2woY29uc3QgYm9vbCBpc19pcHY2LA0KKwkJ CSAgICBjb25zdCBpbnQgc29ja190eXBlLA0KKwkJCSAgICBjb25zdCB1OCAqYWRkcmVzcywNCisJ CQkgICAgY29uc3QgdTE2IHBvcnQpOw0KKw0KK2ludCB0bXlfc2lnbmFsX2FjbChpbnQgc2lnLCBp bnQgcGlkKTsNCitpbnQgdG15X2FkZF9zaWduYWxfcG9saWN5KGNoYXIgKmRhdGEsDQorCQkJICBz dHJ1Y3QgZG9tYWluX2luZm8gKmRvbWFpbiwNCisJCQkgIGNvbnN0IHN0cnVjdCBjb25kaXRpb25f bGlzdCAqY29uZCwNCisJCQkgIGNvbnN0IGJvb2wgaXNfZGVsZXRlKTsNCisNCitjaGFyICp0bXlf aW5pdF9hdWRpdF9sb2coaW50ICpsZW4sIGNvbnN0IHU4IHByb2ZpbGUsIGNvbnN0IHVuc2lnbmVk IGludCBtb2RlKTsNCitpbnQgdG15X3dyaXRlX2F1ZGl0X2xvZyhjaGFyICpsb2csIGNvbnN0IGJv b2wgaXNfZ3JhbnRlZCk7DQoraW50IHRteV9hY2x0eXBlMnBhdGhzKGNvbnN0IHVuc2lnbmVkIGlu dCBhY2xfdHlwZSk7DQoraW50IHRteV9pb19wcmludGYoc3RydWN0IGlvX2J1ZmZlciAqaGVhZCwg Y29uc3QgY2hhciAqZm10LCAuLi4pDQorCV9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDIs IDMpKSk7DQoraW50IHRteV9zbmNhdHByaW50ZihjaGFyICpidWYsIGludCBsZW4sIGNvbnN0IGNo YXIgKmZtdCwgLi4uKQ0KKwlfX2F0dHJpYnV0ZV9fKChmb3JtYXQocHJpbnRmLCAzLCA0KSkpOw0K K3N0cnVjdCBkb21haW5faW5mbyAqdG15X2ZpbmRfZG9tYWluKGNvbnN0IGNoYXIgKmRvbWFpbm5h bWUpOw0KK3N0cnVjdCBkb21haW5faW5mbyAqdG15X25ld19kb21haW4oY29uc3QgY2hhciAqZG9t YWlubmFtZSwgY29uc3QgdTggcHJvZmlsZSk7DQorc3RydWN0IGRvbWFpbl9pbmZvICp0bXlfdW5k ZWxldGVfZG9tYWluKGNvbnN0IGNoYXIgKmRvbWFpbm5hbWUwKTsNCitib29sIHRteV9xdW90YSh2 b2lkKTsNCit1bnNpZ25lZCBpbnQgdG15X2ZsYWdzKGNvbnN0IHVuc2lnbmVkIGludCBpbmRleCk7 DQorYm9vbCB0bXlfYXVkaXRfZ3JhbnQodm9pZCk7DQorYm9vbCB0bXlfYXVkaXRfcmVqZWN0KHZv aWQpOw0KK3ZvaWQgdG15X3VwZGF0ZV9jb3VudGVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgaW5kZXgp Ow0KK3ZvaWQgKnRteV9hbGxvYyhjb25zdCBzaXplX3Qgc2l6ZSk7DQordm9pZCB0bXlfZnJlZShj b25zdCB2b2lkICpwKTsNCit2b2lkIHRteV9maWxsX3BhdGhfaW5mbyhzdHJ1Y3QgcGF0aF9pbmZv ICpwdHIpOw0KK2NvbnN0IGNoYXIgKnRteV9jYXBhYmlsaXR5MmtleXdvcmQoY29uc3QgdW5zaWdu ZWQgaW50IGNhcGFiaWxpdHkpOw0KK2ludCB0bXlfcmVhZF9jYXBhYmlsaXR5X3Byb2ZpbGUoc3Ry dWN0IGlvX2J1ZmZlciAqaGVhZCk7DQoraW50IHRteV9zZXRfY2FwYWJpbGl0eV9wcm9maWxlKGNv bnN0IGNoYXIgKmRhdGEsIHVuc2lnbmVkIGludCB2YWx1ZSwNCisJCQkgICAgICAgY29uc3QgdW5z aWduZWQgaW50IHByb2ZpbGUpOw0KKw0KK2ludCB0bXlfcmVhZF9ncmFudF9sb2coc3RydWN0IGlv X2J1ZmZlciAqaGVhZCk7DQoraW50IHRteV9wb2xsX2dyYW50X2xvZyhzdHJ1Y3QgZmlsZSAqZmls ZSwgcG9sbF90YWJsZSAqd2FpdCk7DQoraW50IHRteV9yZWFkX3JlamVjdF9sb2coc3RydWN0IGlv X2J1ZmZlciAqaGVhZCk7DQoraW50IHRteV9wb2xsX3JlamVjdF9sb2coc3RydWN0IGZpbGUgKmZp bGUsIHBvbGxfdGFibGUgKndhaXQpOw0KKw0KK3N0YXRpYyBpbmxpbmUgYm9vbCB0bXlfcGF0aGNt cChjb25zdCBzdHJ1Y3QgcGF0aF9pbmZvICphLA0KKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGF0 aF9pbmZvICpiKQ0KK3sNCisJcmV0dXJuIGEtPmhhc2ggIT0gYi0+aGFzaCB8fCBzdHJjbXAoYS0+ bmFtZSwgYi0+bmFtZSk7DQorfQ0KKw0KK2V4dGVybiBzdHJ1Y3QgZG9tYWluX2luZm8gS0VSTkVM X0RPTUFJTjsNCitleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBkb21haW5fbGlzdDsNCit2b2lkIHRt eV9sb2FkX3BvbGljeShjb25zdCBjaGFyICpmaWxlbmFtZSk7DQoraW50IHRteV9maW5kX25leHRf ZG9tYWluKHN0cnVjdCBsaW51eF9iaW5wcm0gKiwNCisJCQkgc3RydWN0IGRvbWFpbl9pbmZvICoq KTsNCitpbnQgdG15X2NoZWNrX2Vudmlyb24oc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSk7DQor DQorc3RydWN0IHBhdGhfaW5mbzsNCisNCitpbnQgdG15X2V4ZWNfcGVybShjb25zdCBzdHJ1Y3Qg cGF0aF9pbmZvICpmaWxlbmFtZSwgc3RydWN0IGZpbGUgKmZpbHApOw0KKy8qIENoZWNrIHdoZXRo ZXIgdGhlIGdpdmVuIGRlbnRyeSBpcyBhbGxvd2VkIHRvIHJlYWQvd3JpdGUvZXhlY3V0ZS4gKi8N CitpbnQgdG15X29wZW5fcGVybShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCB2ZnNtb3Vu dCAqbW50LCBjb25zdCBpbnQgZmxhZyk7DQorLyogQ2hlY2sgd2hldGhlciB0aGUgZ2l2ZW4gZGVu dHJ5IGlzIGFsbG93ZWQgdG8gd3JpdGUuICovDQoraW50IHRteV9zaW5nbGVfd3JpdGVfcGVybShj b25zdCB1bnNpZ25lZCBpbnQgb3BlcmF0aW9uLA0KKwkJCSAgc3RydWN0IGRlbnRyeSAqZGVudHJ5 LA0KKwkJCSAgc3RydWN0IHZmc21vdW50ICptbnQpOw0KK2ludCB0bXlfZG91YmxlX3dyaXRlX3Bl cm0oY29uc3QgdW5zaWduZWQgaW50IG9wZXJhdGlvbiwNCisJCQkgIHN0cnVjdCBkZW50cnkgKmRl bnRyeTEsDQorCQkJICBzdHJ1Y3QgdmZzbW91bnQgKm1udDEsDQorCQkJICBzdHJ1Y3QgZGVudHJ5 ICpkZW50cnkyLA0KKwkJCSAgc3RydWN0IHZmc21vdW50ICptbnQyKTsNCitpbnQgdG15X3Jld3Jp dGVfcGVybShzdHJ1Y3QgZmlsZSAqZmlscCk7DQorDQorc3RydWN0IGlub2RlOw0KKw0KKy8qKioq KioqKioqKioqKioqKioqKiAgSW5kZXggbnVtYmVycyBmb3IgQWNjZXNzIENvbnRyb2xzLiAgKioq KioqKioqKioqKioqKioqKiovDQorDQorI2RlZmluZSBUTVlfVFlQRV9DUkVBVEVfQUNMICAgICAg IDANCisjZGVmaW5lIFRNWV9UWVBFX1VOTElOS19BQ0wgICAgICAgMQ0KKyNkZWZpbmUgVE1ZX1RZ UEVfTUtESVJfQUNMICAgICAgICAyDQorI2RlZmluZSBUTVlfVFlQRV9STURJUl9BQ0wgICAgICAg IDMNCisjZGVmaW5lIFRNWV9UWVBFX01LRklGT19BQ0wgICAgICAgNA0KKyNkZWZpbmUgVE1ZX1RZ UEVfTUtTT0NLX0FDTCAgICAgICA1DQorI2RlZmluZSBUTVlfVFlQRV9NS0JMT0NLX0FDTCAgICAg IDYNCisjZGVmaW5lIFRNWV9UWVBFX01LQ0hBUl9BQ0wgICAgICAgNw0KKyNkZWZpbmUgVE1ZX1RZ UEVfVFJVTkNBVEVfQUNMICAgICA4DQorI2RlZmluZSBUTVlfVFlQRV9TWU1MSU5LX0FDTCAgICAg IDkNCisjZGVmaW5lIFRNWV9UWVBFX0xJTktfQUNMICAgICAgICAxMA0KKyNkZWZpbmUgVE1ZX1RZ UEVfUkVOQU1FX0FDTCAgICAgIDExDQorI2RlZmluZSBUTVlfVFlQRV9SRVdSSVRFX0FDTCAgICAg MTINCisNCisjZGVmaW5lIFRNWV9UWVBFX0ZJTEVfQUNMICAgIAkxMDANCisjZGVmaW5lIFRNWV9U WVBFX0FSR1YwX0FDTCAgICAgIDEwMQ0KKyNkZWZpbmUgVE1ZX1RZUEVfRU5WX0FDTCAgICAgICAg MTAyDQorI2RlZmluZSBUTVlfVFlQRV9JUF9ORVRXT1JLX0FDTCAxMDMNCisjZGVmaW5lIFRNWV9U WVBFX1NJR05BTF9BQ0wgICAgIDEwNA0KKyNkZWZpbmUgVE1ZX1RZUEVfQ0FQQUJJTElUWV9BQ0wg MTA1DQorDQorI2RlZmluZSBUTVlfQ0hFQ0tfUkVBRF9GT1JfT1BFTl9FWEVDIDENCisNCitjaGFy ICp0bXlfcHJpbnRfaXB2NihjaGFyICpidWZmZXIsIGNvbnN0IGludCBidWZmZXJfbGVuLA0KKwkJ ICAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmlwKTsNCitjb25zdCBjaGFyICp0bXlfbmV0d29y azJrZXl3b3JkKGNvbnN0IHVuc2lnbmVkIGludCBvcGVyYXRpb24pOw0KKw0KKy8qIHRvIGNoZWNr ICJpZiB0YXNrLnBhcmVudC5waWQiIGNvbmRpdGlvbi4gKi8NCitleHRlcm4gYXNtbGlua2FnZSBs b25nIHN5c19nZXRwcGlkKHZvaWQpOw0KKw0KKyNlbmRpZg0KDQotLSANCg== --boundary-1-- -- 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/