From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from web65614.mail.ac4.yahoo.com ([76.13.9.82]:20313 "HELO web65614.mail.ac4.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753392AbZKTTen (ORCPT ); Fri, 20 Nov 2009 14:34:43 -0500 Message-ID: <84273.93065.qm@web65614.mail.ac4.yahoo.com> Date: Fri, 20 Nov 2009 11:28:07 -0800 (PST) From: Mr Momcilo Medic Subject: Problem installing driver To: linux-media@vger.kernel.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-779069198-1258745287=:93065" Sender: linux-media-owner@vger.kernel.org List-ID: --0-779069198-1258745287=:93065 Content-Type: text/plain; charset=us-ascii Hello, I am Momcilo Medic from Serbia, and I was advised to write you mail with my problem. I am trying to install simple driver and it returns an error. In attachment is error message as well as driver I am trying to install. I am pretty much a newbie for Linux, so if I left something out please do tell and I will send as many info as you need. Thanks in advance, Momcilo. --0-779069198-1258745287=:93065 Content-Type: application/octet-stream; name="smartcam.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smartcam.c" LyoKICogU21hcnRDYW0gVmlkZW8gQ2FwdHVyZSBkcml2ZXIgLSBUaGlzIGNv ZGUgZW11bGF0ZXMgYSByZWFsIHZpZGVvIGRldmljZSB3aXRoIHY0bDIgYXBp CiAqCiAqIENvcHlyaWdodCAoQykgMjAwOCBJb251dCBEZWRpdSA8ZGVpb251 dEB5YWhvby5jb20+CiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIKICoKICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICog dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZiB0aGUgTGljZW5zZSwgb3IKICogKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICog WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCiAqLwoKIC8qCiAgKiBBdXRob3JzOgogICogSW9udXQgRGVkaXUgPGRl aW9udXRAeWFob28uY29tPiA6IG1haW4gYXV0aG9yCiAgKiBUb21hcyBKYW5v dXNlayA8dG9taUBub21pLmN6PiA6IGltcGxlbWVudCBZVVlWIHBpeGVsIGZv cm1hdCwgZml4IHBvbGwgYW5kIG5vbmJsb2NrCiAgKi8KCi8vI2luY2x1ZGUg PGxpbnV4L21vZHVsZS5oPgovLyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgov LyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLy8jaW5jbHVkZSA8bGludXgv dm1hbGxvYy5oPgojaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgojaW5jbHVk ZSA8bGludXgvbW0uaD4KI2luY2x1ZGUgPG1lZGlhL3Y0bDItaW9jdGwuaD4K I2luY2x1ZGUgPG1lZGlhL3Y0bDItZGV2Lmg+CiNpbmNsdWRlIDxsaW51eC92 ZXJzaW9uLmg+CiNpbmNsdWRlIDxsaW51eC92aWRlb2RldjIuaD4KCiNpZmRl ZiBDT05GSUdfVklERU9fVjRMMV9DT01QQVQKLyogSW5jbHVkZSBWNEwxIHNw ZWNpZmljIGZ1bmN0aW9ucy4gU2hvdWxkIGJlIHJlbW92ZWQgc29vbiAqLwoj aW5jbHVkZSA8bGludXgvdmlkZW9kZXYuaD4KI2VuZGlmCi8vI2luY2x1ZGUg PGxpbnV4L2ludGVycnVwdC5oPgovLyNpbmNsdWRlIDxtZWRpYS92NGwyLWNv bW1vbi5oPgoKI2RlZmluZSBTTUFSVENBTV9NQUpPUl9WRVJTSU9OIDAKI2Rl ZmluZSBTTUFSVENBTV9NSU5PUl9WRVJTSU9OIDEKI2RlZmluZSBTTUFSVENB TV9SRUxFQVNFIDAKI2RlZmluZSBTTUFSVENBTV9WRVJTSU9OIEtFUk5FTF9W RVJTSU9OKFNNQVJUQ0FNX01BSk9SX1ZFUlNJT04sIFNNQVJUQ0FNX01JTk9S X1ZFUlNJT04sIFNNQVJUQ0FNX1JFTEVBU0UpCgojZGVmaW5lIFNNQVJUQ0FN X0ZSQU1FX1dJRFRICTMyMAojZGVmaW5lIFNNQVJUQ0FNX0ZSQU1FX0hFSUdI VAkyNDAKI2RlZmluZSBTTUFSVENBTV9ZVVlWX0ZSQU1FX1NJWkUJU01BUlRD QU1fRlJBTUVfV0lEVEggKiBTTUFSVENBTV9GUkFNRV9IRUlHSFQgKiAyCiNk ZWZpbmUgU01BUlRDQU1fUkdCX0ZSQU1FX1NJWkUJU01BUlRDQU1fRlJBTUVf V0lEVEggKiBTTUFSVENBTV9GUkFNRV9IRUlHSFQgKiAzCiNkZWZpbmUgU01B UlRDQU1fQlVGRkVSX1NJWkUJKChTTUFSVENBTV9SR0JfRlJBTUVfU0laRSAr IFBBR0VfU0laRSAtIDEpICYgfihQQUdFX1NJWkUgLSAxKSkKI2RlZmluZSBN QVhfU1RSRUFNSU5HX0JVRkZFUlMJNwojZGVmaW5lIFNNQVJUQ0FNX05GT1JN QVRTIDIKCi8vI2RlZmluZSBTTUFSVENBTV9ERUJVRwojdW5kZWYgU0NBTV9N U0cJCQkJLyogdW5kZWYgaXQsIGp1c3QgaW4gY2FzZSAqLwojaWZkZWYgU01B UlRDQU1fREVCVUcKIyAgICAgZGVmaW5lIFNDQU1fTVNHKGZtdCwgYXJncy4u LikgcHJpbnRrKEtFUk5fQUxFUlQgInNtYXJ0Y2FtOiIgZm10LCAjIyBhcmdz KQojIGVsc2UKIyAgICAgZGVmaW5lIFNDQU1fTVNHKGZtdCwgYXJncy4uLikJ Lyogbm90IGRlYnVnZ2luZzogbm90aGluZyAqLwojZW5kaWYKCi8qIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQoJQmFzaWMgc3RydWN0dXJlcwogICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0qLwoKc3RydWN0IHNtYXJ0Y2FtX3ByaXZhdGVfZGF0 YSB7Cn07CgoKc3RhdGljIHN0cnVjdCB2NGwyX3BpeF9mb3JtYXQgZm9ybWF0 c1tdID0gewp7Cgkud2lkdGggPSBTTUFSVENBTV9GUkFNRV9XSURUSCwKCS5o ZWlnaHQgPSBTTUFSVENBTV9GUkFNRV9IRUlHSFQsCgkucGl4ZWxmb3JtYXQg PSBWNEwyX1BJWF9GTVRfWVVZViwKCS5maWVsZCA9IFY0TDJfRklFTERfTk9O RSwKCS5ieXRlc3BlcmxpbmUgPSBTTUFSVENBTV9ZVVlWX0ZSQU1FX1NJWkUg LyBTTUFSVENBTV9GUkFNRV9IRUlHSFQsCgkuc2l6ZWltYWdlID0gU01BUlRD QU1fWVVZVl9GUkFNRV9TSVpFLAoJLmNvbG9yc3BhY2UgPSBWNEwyX0NPTE9S U1BBQ0VfU01QVEUxNzBNLAoJLnByaXYgPSAwLAp9LCB7Cgkud2lkdGggPSBT TUFSVENBTV9GUkFNRV9XSURUSCwKCS5oZWlnaHQgPSBTTUFSVENBTV9GUkFN RV9IRUlHSFQsCgkucGl4ZWxmb3JtYXQgPSBWNEwyX1BJWF9GTVRfUkdCMjQs CgkuZmllbGQgPSBWNEwyX0ZJRUxEX05PTkUsCgkuYnl0ZXNwZXJsaW5lID0g U01BUlRDQU1fUkdCX0ZSQU1FX1NJWkUgLyBTTUFSVENBTV9GUkFNRV9IRUlH SFQsCgkuc2l6ZWltYWdlID0gU01BUlRDQU1fUkdCX0ZSQU1FX1NJWkUsCgku Y29sb3JzcGFjZSA9IFY0TDJfQ09MT1JTUEFDRV9TUkdCLAoJLnByaXYgPSAw LAp9IH07CgpzdGF0aWMgY29uc3QgY2hhciBmbXRkZXNjWzJdWzVdID0geyAi WVVZViIsICJSR0IzIiB9OwoKc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9I RUFEKHdxKTsKCnN0YXRpYyBjaGFyKiBmcmFtZV9kYXRhID0gTlVMTDsKc3Rh dGljIF9fdTMyIGZyYW1lX3NlcXVlbmNlID0gMDsKc3RhdGljIF9fdTMyIGxh c3RfcmVhZF9mcmFtZSA9IDA7CnN0YXRpYyBfX3UzMiBmb3JtYXQgPSAwOwpz dGF0aWMgc3RydWN0IHRpbWV2YWwgZnJhbWVfdGltZXN0YW1wOwoKLyogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCglJT0NUTCB2aWRpb2MgaGFuZGxpbmcKICAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8Kc3RhdGljIGludCB2aWRpb2NfcXVl cnljYXAoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgICpwcml2LCBzdHJ1Y3Qg djRsMl9jYXBhYmlsaXR5ICpjYXApCnsKCXN0cmNweShjYXAtPmRyaXZlciwg InNtYXJ0Y2FtIik7CglzdHJjcHkoY2FwLT5jYXJkLCAic21hcnRjYW0iKTsK CWNhcC0+dmVyc2lvbiA9IFNNQVJUQ0FNX1ZFUlNJT047CgljYXAtPmNhcGFi aWxpdGllcyA9CVY0TDJfQ0FQX1ZJREVPX0NBUFRVUkUgfAoJCQkJVjRMMl9D QVBfU1RSRUFNSU5HICAgICB8CgkJCQlWNEwyX0NBUF9SRUFEV1JJVEU7CglT Q0FNX01TRygiKCVzKSAlcyBjYWxsZWRcbiIsIGN1cnJlbnQtPmNvbW0sIF9f RlVOQ1RJT05fXyk7CglyZXR1cm4gMDsKfQoKc3RhdGljIGludCB2aWRpb2Nf ZW51bV9mbXRfY2FwKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICAqcHJpdiwg c3RydWN0IHY0bDJfZm10ZGVzYyAqZikKewoJU0NBTV9NU0coIiglcykgJXMg Y2FsbGVkLCBpbmRleD0lZFxuIiwgY3VycmVudC0+Y29tbSwgX19GVU5DVElP Tl9fLCBmLT5pbmRleCk7CglpZihmLT5pbmRleCA+PSBTTUFSVENBTV9ORk9S TUFUUykKCQlyZXR1cm4gLUVJTlZBTDsKCXN0cmxjcHkoZi0+ZGVzY3JpcHRp b24sIGZtdGRlc2NbZi0+aW5kZXhdLCBzaXplb2YoZi0+ZGVzY3JpcHRpb24p KTsKCWYtPnBpeGVsZm9ybWF0ID0gZm9ybWF0c1tmLT5pbmRleF0ucGl4ZWxm b3JtYXQ7CgoJcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdmlkaW9jX2dfZm10 X2NhcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwgc3RydWN0IHY0 bDJfZm9ybWF0ICpmKQp7CglmLT5mbXQucGl4ID0gZm9ybWF0c1tmb3JtYXRd OwoKCVNDQU1fTVNHKCIoJXMpICVzIGNhbGxlZFxuIiwgY3VycmVudC0+Y29t bSwgX19GVU5DVElPTl9fKTsKCXJldHVybiAwOwp9CgpzdGF0aWMgaW50IHZp ZGlvY190cnlfZm10X2NhcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJp diwgc3RydWN0IHY0bDJfZm9ybWF0ICpmKQp7CglpbnQgaTsKCglTQ0FNX01T RygiKCVzKSAlcyBjYWxsZWRcbiIsIGN1cnJlbnQtPmNvbW0sIF9fRlVOQ1RJ T05fXyk7CgoJZm9yIChpID0gMDsgaSA8IFNNQVJUQ0FNX05GT1JNQVRTOyBp KyspIHsKCQlpZiAoZi0+Zm10LnBpeC5waXhlbGZvcm1hdCA9PSBmb3JtYXRz W2ldLnBpeGVsZm9ybWF0KSB7CgkJCWYtPmZtdC5waXggPSBmb3JtYXRzW2Zv cm1hdF07CgkJCXJldHVybiAwOwoJCX0KCX0KCglyZXR1cm4gLUVJTlZBTDsK fQoKc3RhdGljIGludCB2aWRpb2Nfc19mbXRfY2FwKHN0cnVjdCBmaWxlICpm aWxlLCB2b2lkICpwcml2LCBzdHJ1Y3QgdjRsMl9mb3JtYXQgKmYpCnsKCWlu dCBpOwoKCVNDQU1fTVNHKCIlcyBjYWxsZWRcbiIsIF9fRlVOQ1RJT05fXyk7 CgoJZm9yIChpID0gMDsgaSA8IFNNQVJUQ0FNX05GT1JNQVRTOyBpKyspIHsK CQlpZiAoKGYtPmZtdC5waXgud2lkdGggPT0gZm9ybWF0c1tpXS53aWR0aCkg JiYKCQkgICAgKGYtPmZtdC5waXguaGVpZ2h0ID09IGZvcm1hdHNbaV0uaGVp Z2h0KSAmJgoJCSAgICAoZi0+Zm10LnBpeC5waXhlbGZvcm1hdCA9PSBmb3Jt YXRzW2ldLnBpeGVsZm9ybWF0KSkgewoJCQlmb3JtYXQgPSBpOwoJCQlmLT5m bXQucGl4ID0gZm9ybWF0c1tmb3JtYXRdOwoJCQlyZXR1cm4gMDsKCQl9Cgl9 CgoJcHJpbnRrKEtFUk5fQUxFUlQgInNtYXJ0Y2FtICglcyk6IHZpZGlvY19z X2ZtdF9jYXAgY2FsbGVkXG5cdFx0d2lkdGg9JWQ7IFwKaGVpZ2h0PSVkOyBw aXhlbGZvcm1hdD0lc1xuXHRcdGZpZWxkPSVkOyBieXRlc3BlcmxpbmU9JWQ7 IHNpemVpbWFnZT0lZDsgY29sc3BhY2UgPSAlZDsgcmV0dXJuIEVJTlZBTFxu IiwKCWN1cnJlbnQtPmNvbW0sIGYtPmZtdC5waXgud2lkdGgsIGYtPmZtdC5w aXguaGVpZ2h0LCAoY2hhciopJmYtPmZtdC5waXgucGl4ZWxmb3JtYXQsIAoJ Zi0+Zm10LnBpeC5maWVsZCwgZi0+Zm10LnBpeC5ieXRlc3BlcmxpbmUsIGYt PmZtdC5waXguc2l6ZWltYWdlLCBmLT5mbXQucGl4LmNvbG9yc3BhY2UpOwoK CXJldHVybiAtRUlOVkFMOwp9CgovKioqKioqKioqKioqKioqKioqKioqKioq IFNUUkVBTUlORyBJTyAvIE1NQVAgKioqKioqKioqKioqKioqKioqKioqKioq KioqLwoKc3RhdGljIGludCBzbWFydGNhbV9tbWFwKHN0cnVjdCBmaWxlICpm aWxlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKewogICAgICAgIGlu dCByZXQ7CiAgICAgICAgbG9uZyBsZW5ndGggPSB2bWEtPnZtX2VuZCAtIHZt YS0+dm1fc3RhcnQ7CiAgICAgICAgdW5zaWduZWQgbG9uZyBzdGFydCA9IHZt YS0+dm1fc3RhcnQ7CiAgICAgICAgY2hhciAqdm1hbGxvY19hcmVhX3B0ciA9 IGZyYW1lX2RhdGE7CiAgICAgICAgdW5zaWduZWQgbG9uZyBwZm47CgoJU0NB TV9NU0coIiglcykgJXMgY2FsbGVkXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZV TkNUSU9OX18pOwoKICAgICAgICBpZiAobGVuZ3RoID4gU01BUlRDQU1fQlVG RkVSX1NJWkUpCiAgICAgICAgICAgICAgICByZXR1cm4gLUVJTzsKCiAgICAg ICAgLyogbG9vcCBvdmVyIGFsbCBwYWdlcywgbWFwIGVhY2ggcGFnZSBpbmRp dmlkdWFsbHkgKi8KICAgICAgICB3aGlsZSAobGVuZ3RoID4gMCkKCXsKICAg ICAgICAgICAgICAgIHBmbiA9IHZtYWxsb2NfdG9fcGZuICh2bWFsbG9jX2Fy ZWFfcHRyKTsKICAgICAgICAgICAgICAgIHJldCA9IHJlbWFwX3Bmbl9yYW5n ZSh2bWEsIHN0YXJ0LCBwZm4sIFBBR0VfU0laRSwgUEFHRV9TSEFSRUQpOwoJ CWlmKHJldCA8IDApCgkJewogICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gcmV0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc3Rh cnQgKz0gUEFHRV9TSVpFOwogICAgICAgICAgICAgICAgdm1hbGxvY19hcmVh X3B0ciArPSBQQUdFX1NJWkU7CiAgICAgICAgICAgICAgICBsZW5ndGggLT0g UEFHRV9TSVpFOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIDA7Cn0KCnN0 YXRpYyBpbnQgdmlkaW9jX3JlcWJ1ZnMoc3RydWN0IGZpbGUgKmZpbGUsIHZv aWQgKnByaXYsIHN0cnVjdCB2NGwyX3JlcXVlc3RidWZmZXJzICpyZXFidWYp CnsKCVNDQU1fTVNHKCIoJXMpICVzIGNhbGxlZFxuIiwgY3VycmVudC0+Y29t bSwgX19GVU5DVElPTl9fKTsKCglpZihyZXFidWYtPnR5cGUgIT0gVjRMMl9C VUZfVFlQRV9WSURFT19DQVBUVVJFKQoJewoJCXJldHVybiAtRUlOVkFMOwoJ fQoJaWYocmVxYnVmLT5tZW1vcnkgIT0gVjRMMl9NRU1PUllfTU1BUCkKCXsK CQlyZXR1cm4gLUVJTlZBTDsKCX0KCWlmKHJlcWJ1Zi0+Y291bnQgPCAxKQoJ CXJlcWJ1Zi0+Y291bnQgPSAxOwoJaWYocmVxYnVmLT5jb3VudCA+IE1BWF9T VFJFQU1JTkdfQlVGRkVSUykKCQlyZXFidWYtPmNvdW50ID0gTUFYX1NUUkVB TUlOR19CVUZGRVJTOwoJcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdmlkaW9j X3F1ZXJ5YnVmKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCBzdHJ1 Y3QgdjRsMl9idWZmZXIgKnZpZGJ1ZikKewoJU0NBTV9NU0coIiglcykgJXMg Y2FsbGVkXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZVTkNUSU9OX18pOwoKCWlm KHZpZGJ1Zi0+aW5kZXggPCAwIHx8IHZpZGJ1Zi0+aW5kZXggPj0gTUFYX1NU UkVBTUlOR19CVUZGRVJTKQoJewoJCVNDQU1fTVNHKCJ2aWRpb2NfcXVlcnli dWYgY2FsbGVkIC0gaW52YWxpZCBidWYgaW5kZXhcbiIpOwoJCXJldHVybiAt RUlOVkFMOwoJfQoJaWYodmlkYnVmLT50eXBlICE9IFY0TDJfQlVGX1RZUEVf VklERU9fQ0FQVFVSRSkKCXsKCQlTQ0FNX01TRygidmlkaW9jX3F1ZXJ5YnVm IGNhbGxlZCAtIGludmFsaWQgYnVmIHR5cGVcbiIpOwoJCXJldHVybiAtRUlO VkFMOwoJfQoJaWYodmlkYnVmLT5tZW1vcnkgIT0gVjRMMl9NRU1PUllfTU1B UCkKCXsKCQlTQ0FNX01TRygidmlkaW9jX3F1ZXJ5YnVmIGNhbGxlZCAtIGlu dmFsaWQgbWVtb3J5IHR5cGVcbiIpOwoJCXJldHVybiAtRUlOVkFMOwoJfQoJ dmlkYnVmLT5sZW5ndGggPSBTTUFSVENBTV9CVUZGRVJfU0laRTsKCXZpZGJ1 Zi0+Ynl0ZXN1c2VkID0gZm9ybWF0c1tmb3JtYXRdLnNpemVpbWFnZTsKCXZp ZGJ1Zi0+ZmxhZ3MgPSBWNEwyX0JVRl9GTEFHX01BUFBFRDsKCXZpZGJ1Zi0+ bS5vZmZzZXQgPSAyICogdmlkYnVmLT5pbmRleCAqIHZpZGJ1Zi0+bGVuZ3Ro OwoJdmlkYnVmLT5yZXNlcnZlZCA9IDA7CglyZXR1cm4gMDsKfQoKc3RhdGlj IGludCB2aWRpb2NfcWJ1ZihzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJp diwgc3RydWN0IHY0bDJfYnVmZmVyICp2aWRidWYpCnsKCVNDQU1fTVNHKCIo JXMpICVzIGNhbGxlZFxuIiwgY3VycmVudC0+Y29tbSwgX19GVU5DVElPTl9f KTsKCglpZih2aWRidWYtPmluZGV4IDwgMCB8fCB2aWRidWYtPmluZGV4ID49 IE1BWF9TVFJFQU1JTkdfQlVGRkVSUykKCXsKCQlyZXR1cm4gLUVJTlZBTDsK CX0KCWlmKHZpZGJ1Zi0+dHlwZSAhPSBWNEwyX0JVRl9UWVBFX1ZJREVPX0NB UFRVUkUpCgl7CgkJcmV0dXJuIC1FSU5WQUw7Cgl9CglpZih2aWRidWYtPm1l bW9yeSAhPSBWNEwyX01FTU9SWV9NTUFQKQoJewoJCXJldHVybiAtRUlOVkFM OwoJfQoJdmlkYnVmLT5sZW5ndGggPSBTTUFSVENBTV9CVUZGRVJfU0laRTsK CXZpZGJ1Zi0+Ynl0ZXN1c2VkID0gZm9ybWF0c1tmb3JtYXRdLnNpemVpbWFn ZTsKCXZpZGJ1Zi0+ZmxhZ3MgPSBWNEwyX0JVRl9GTEFHX01BUFBFRDsKCXJl dHVybiAwOwp9CgpzdGF0aWMgaW50IHZpZGlvY19kcWJ1ZihzdHJ1Y3QgZmls ZSAqZmlsZSwgdm9pZCAqcHJpdiwgc3RydWN0IHY0bDJfYnVmZmVyICp2aWRi dWYpCnsKCWlmKGZpbGUtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQoJCVNDQU1f TVNHKCIoJXMpICVzIGNhbGxlZCAobm9uLWJsb2NraW5nKVxuIiwgY3VycmVu dC0+Y29tbSwgX19GVU5DVElPTl9fKTsKCWVsc2UKCQlTQ0FNX01TRygiKCVz KSAlcyBjYWxsZWQgKGJsb2NraW5nKVxuIiwgY3VycmVudC0+Y29tbSwgX19G VU5DVElPTl9fKTsKCglpZih2aWRidWYtPmluZGV4IDwgMCB8fCB2aWRidWYt PmluZGV4ID49IE1BWF9TVFJFQU1JTkdfQlVGRkVSUykKCXsKCQlyZXR1cm4g LUVJTlZBTDsKCX0KCWlmKHZpZGJ1Zi0+dHlwZSAhPSBWNEwyX0JVRl9UWVBF X1ZJREVPX0NBUFRVUkUpCgl7CgkJcmV0dXJuIC1FSU5WQUw7Cgl9CglpZih2 aWRidWYtPm1lbW9yeSAhPSBWNEwyX01FTU9SWV9NTUFQKQoJewoJCXJldHVy biAtRUlOVkFMOwoJfQoKCWlmKCEoZmlsZS0+Zl9mbGFncyAmIE9fTk9OQkxP Q0spKQoJCWludGVycnVwdGlibGVfc2xlZXBfb25fdGltZW91dCgmd3EsIEha KTsgLyogd2FpdCBtYXggMSBzZWNvbmQgKi8KCgl2aWRidWYtPmxlbmd0aCA9 IFNNQVJUQ0FNX0JVRkZFUl9TSVpFOwoJdmlkYnVmLT5ieXRlc3VzZWQgPSBm b3JtYXRzW2Zvcm1hdF0uc2l6ZWltYWdlOwoJdmlkYnVmLT5mbGFncyA9IFY0 TDJfQlVGX0ZMQUdfTUFQUEVEOwoJdmlkYnVmLT50aW1lc3RhbXAgPSBmcmFt ZV90aW1lc3RhbXA7Cgl2aWRidWYtPnNlcXVlbmNlID0gZnJhbWVfc2VxdWVu Y2U7CglsYXN0X3JlYWRfZnJhbWUgPSBmcmFtZV9zZXF1ZW5jZTsKCXJldHVy biAwOwp9CgojaWZkZWYgQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUCnN0YXRp YyBpbnQgdmlkaW9jZ21idWYgKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpw cml2LCBzdHJ1Y3QgdmlkZW9fbWJ1ZiAqbWJ1ZikKewoJU0NBTV9NU0coIigl cykgJXMgY2FsbGVkXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZVTkNUSU9OX18p OwoJcmV0dXJuIDA7Cn0KI2VuZGlmCgpzdGF0aWMgaW50IHZpZGlvY19zdHJl YW1vbihzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwgZW51bSB2NGwy X2J1Zl90eXBlIGkpCnsKCVNDQU1fTVNHKCIoJXMpICVzIGNhbGxlZFxuIiwg Y3VycmVudC0+Y29tbSwgX19GVU5DVElPTl9fKTsKCXJldHVybiAwOwp9Cgpz dGF0aWMgaW50IHZpZGlvY19zdHJlYW1vZmYoc3RydWN0IGZpbGUgKmZpbGUs IHZvaWQgKnByaXYsIGVudW0gdjRsMl9idWZfdHlwZSBpKQp7CglTQ0FNX01T RygiKCVzKSAlcyBjYWxsZWRcbiIsIGN1cnJlbnQtPmNvbW0sIF9fRlVOQ1RJ T05fXyk7CglyZXR1cm4gMDsKfQoKc3RhdGljIGludCB2aWRpb2Nfc19zdGQg KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCB2NGwyX3N0ZF9pZCAq aSkKewoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVkXG4iLCBjdXJyZW50LT5j b21tLCBfX0ZVTkNUSU9OX18pOwoJcmV0dXJuIDA7Cn0KCi8qIG9ubHkgb25l IGlucHV0ICovCnN0YXRpYyBpbnQgdmlkaW9jX2VudW1faW5wdXQoc3RydWN0 IGZpbGUgKmZpbGUsIHZvaWQgKnByaXYsIHN0cnVjdCB2NGwyX2lucHV0ICpp bnApCnsKCWlmKGlucC0+aW5kZXggIT0gMCkKCXsKCQlTQ0FNX01TRygiKCVz KSAlcyBjYWxsZWQgLSByZXR1cm4gRUlOVkFMXG4iLCBjdXJyZW50LT5jb21t LCBfX0ZVTkNUSU9OX18pOwoJCXJldHVybiAtRUlOVkFMOwoJfQoJZWxzZQoJ ewoJCVNDQU1fTVNHKCIoJXMpICVzIGNhbGxlZCAtIHJldHVybiAwXG4iLCBj dXJyZW50LT5jb21tLCBfX0ZVTkNUSU9OX18pOwoJfQoJaW5wLT50eXBlID0g VjRMMl9JTlBVVF9UWVBFX0NBTUVSQTsKCWlucC0+c3RkID0gVjRMMl9TVERf TlRTQ19NOwoJc3RyY3B5KGlucC0+bmFtZSwgInNtYXJ0Y2FtIGlucHV0Iik7 CgoJcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdmlkaW9jX2dfaW5wdXQoc3Ry dWN0IGZpbGUgKmZpbGUsIHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCAqaSkK ewoJKmkgPSAwOwoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVkXG4iLCBjdXJy ZW50LT5jb21tLCBfX0ZVTkNUSU9OX18pOwoJcmV0dXJuIDA7Cn0KCnN0YXRp YyBpbnQgdmlkaW9jX3NfaW5wdXQoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQg KnByaXYsIHVuc2lnbmVkIGludCBpKQp7CglTQ0FNX01TRygiKCVzKSAlcyBj YWxsZWQsIGlucHV0ID0gJWRcbiIsIGN1cnJlbnQtPmNvbW0sIF9fRlVOQ1RJ T05fXywgaSk7CglpZihpID4gMCkKCQlyZXR1cm4gLUVJTlZBTDsKCglyZXR1 cm4gMDsKfQoKLyogLS0tIGNvbnRyb2xzIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8Kc3RhdGljIGludCB2aWRp b2NfcXVlcnljdHJsKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCBz dHJ1Y3QgdjRsMl9xdWVyeWN0cmwgKnFjKQp7CglTQ0FNX01TRygiKCVzKSAl cyBjYWxsZWRcbiIsIGN1cnJlbnQtPmNvbW0sIF9fRlVOQ1RJT05fXyk7Cgly ZXR1cm4gLUVJTlZBTDsKfQoKc3RhdGljIGludCB2aWRpb2NfZ19jdHJsKHN0 cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCBzdHJ1Y3QgdjRsMl9jb250 cm9sICpjdHJsKQp7CglTQ0FNX01TRygiKCVzKSAlcyBjYWxsZWQgLSByZXR1 cm4gRUlOVkFMXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZVTkNUSU9OX18pOwoJ cmV0dXJuIC1FSU5WQUw7Cn0KCnN0YXRpYyBpbnQgdmlkaW9jX3NfY3RybChz dHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwJc3RydWN0IHY0bDJfY29u dHJvbCAqY3RybCkKewoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVkIC0gcmV0 dXJuIEVJTlZBTFxuIiwgY3VycmVudC0+Y29tbSwgX19GVU5DVElPTl9fKTsK CXJldHVybiAtRUlOVkFMOwp9CgpzdGF0aWMgaW50IHZpZGlvY19jcm9wY2Fw KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCBzdHJ1Y3QgdjRsMl9j cm9wY2FwICpjcm9wY2FwKQp7CglzdHJ1Y3QgdjRsMl9yZWN0IGRlZnJlY3Q7 CgoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVkIC0gcmV0dXJuIDBcbiIsIGN1 cnJlbnQtPmNvbW0sIF9fRlVOQ1RJT05fXyk7CgoJZGVmcmVjdC5sZWZ0ID0g ZGVmcmVjdC50b3AgPSAwOwoJZGVmcmVjdC53aWR0aCA9IFNNQVJUQ0FNX0ZS QU1FX1dJRFRIOwoJZGVmcmVjdC5oZWlnaHQgPSBTTUFSVENBTV9GUkFNRV9I RUlHSFQ7CgoJY3JvcGNhcC0+dHlwZSA9IFY0TDJfQlVGX1RZUEVfVklERU9f Q0FQVFVSRTsKCWNyb3BjYXAtPmJvdW5kcyA9IGNyb3BjYXAtPmRlZnJlY3Qg PSBkZWZyZWN0OwoJcmV0dXJuIDA7CgkKfQoKc3RhdGljIGludCB2aWRpb2Nf Z19jcm9wKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCBzdHJ1Y3Qg djRsMl9jcm9wICpjcm9wKQp7CglTQ0FNX01TRygiJXMgY2FsbGVkIC0gcmV0 dXJuIEVJTlZBTFxuIiwgX19GVU5DVElPTl9fKTsKCXJldHVybiAtRUlOVkFM Owp9CgpzdGF0aWMgaW50IHZpZGlvY19zX2Nyb3Aoc3RydWN0IGZpbGUgKmZp bGUsIHZvaWQgKnByaXYsIHN0cnVjdCB2NGwyX2Nyb3AgKmNyb3ApCnsKCVND QU1fTVNHKCIoJXMpICVzIGNhbGxlZCAtIHJldHVybiBFSU5WQUxcbiIsIGN1 cnJlbnQtPmNvbW0sIF9fRlVOQ1RJT05fXyk7CgkvL3JldHVybiAtRUlOVkFM OwoJcmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgdmlkaW9jX2dfcGFybShzdHJ1 Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwgc3RydWN0IHY0bDJfc3RyZWFt cGFybSAqc3RyZWFtcGFybSkKewoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVk IC0gcmV0dXJuIDBcbiIsIGN1cnJlbnQtPmNvbW0sIF9fRlVOQ1RJT05fXyk7 CgoJbWVtc2V0KHN0cmVhbXBhcm0sIDAsIHNpemVvZigqc3RyZWFtcGFybSkp OwoJc3RyZWFtcGFybS0+dHlwZSA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQ VFVSRTsKCXN0cmVhbXBhcm0tPnBhcm0uY2FwdHVyZS5jYXBhYmlsaXR5ID0g VjRMMl9DQVBfVElNRVBFUkZSQU1FOwoJc3RyZWFtcGFybS0+cGFybS5jYXB0 dXJlLmNhcHR1cmVtb2RlID0gMDsKCXN0cmVhbXBhcm0tPnBhcm0uY2FwdHVy ZS50aW1lcGVyZnJhbWUubnVtZXJhdG9yID0gMTsKCXN0cmVhbXBhcm0tPnBh cm0uY2FwdHVyZS50aW1lcGVyZnJhbWUuZGVub21pbmF0b3IgPSAxMDsKCXN0 cmVhbXBhcm0tPnBhcm0uY2FwdHVyZS5leHRlbmRlZG1vZGUgPSAwOwoJc3Ry ZWFtcGFybS0+cGFybS5jYXB0dXJlLnJlYWRidWZmZXJzID0gMzsKCglyZXR1 cm4gMDsKfQoKc3RhdGljIGludCB2aWRpb2Nfc19wYXJtKHN0cnVjdCBmaWxl ICpmaWxlLCB2b2lkICpwcml2LCBzdHJ1Y3QgdjRsMl9zdHJlYW1wYXJtICpz dHJlYW1wYXJtKQp7CglpZihzdHJlYW1wYXJtLT50eXBlICE9IFY0TDJfQlVG X1RZUEVfVklERU9fQ0FQVFVSRSkKCXsKCQlTQ0FNX01TRygiKCVzKSAlcyBj YWxsZWQ7IG51bWVyYXRvcj0lZCwgZGVub21pbmF0b3I9JWQgLSByZXR1cm4g RUlOVkFMXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZVTkNUSU9OX18sCgkJCSBz dHJlYW1wYXJtLT5wYXJtLmNhcHR1cmUudGltZXBlcmZyYW1lLm51bWVyYXRv ciwgc3RyZWFtcGFybS0+cGFybS5jYXB0dXJlLnRpbWVwZXJmcmFtZS5kZW5v bWluYXRvcik7CgkJcmV0dXJuIC1FSU5WQUw7Cgl9CglTQ0FNX01TRygiKCVz KSAlcyBjYWxsZWQ7IG51bWVyYXRvcj0lZCwgZGVub21pbmF0b3I9JWQsIHJl YWRidWZmZXJzPSVkIC0gcmV0dXJuIDBcbiIsIGN1cnJlbnQtPmNvbW0sIF9f RlVOQ1RJT05fXywKCQkgc3RyZWFtcGFybS0+cGFybS5jYXB0dXJlLnRpbWVw ZXJmcmFtZS5udW1lcmF0b3IsCgkJIHN0cmVhbXBhcm0tPnBhcm0uY2FwdHVy ZS50aW1lcGVyZnJhbWUuZGVub21pbmF0b3IsCgkJIHN0cmVhbXBhcm0tPnBh cm0uY2FwdHVyZS5yZWFkYnVmZmVycyk7CgoJcmV0dXJuIDA7Cn0KCi8qIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQoJRmlsZSBvcGVyYXRpb25zIGZvciB0aGUg ZGV2aWNlCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgpzdGF0aWMgaW50 IHNtYXJ0Y2FtX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZp bGUgKmZpbGUpCnsKCWludCBtaW5vciA9IDA7CgltaW5vciA9IGltaW5vcihp bm9kZSk7CglTQ0FNX01TRygiKCVzKSAlcyBjYWxsZWQgKG1pbm9yPSVkKVxu IiwgY3VycmVudC0+Y29tbSwgX19GVU5DVElPTl9fLCBtaW5vcik7CglyZXR1 cm4gMDsKfQoKc3RhdGljIHNzaXplX3Qgc21hcnRjYW1fcmVhZChzdHJ1Y3Qg ZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKmRhdGEsIHNpemVfdCBjb3VudCwg bG9mZl90ICpmX3BvcykKewoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVkIChj b3VudD0lZCwgZl9wb3MgPSAlZClcbiIsIGN1cnJlbnQtPmNvbW0sIF9fRlVO Q1RJT05fXywgY291bnQsIChpbnQpICpmX3Bvcyk7CgoJaWYoKmZfcG9zID49 IGZvcm1hdHNbZm9ybWF0XS5zaXplaW1hZ2UpCgkJcmV0dXJuIDA7CgoJaWYg KCEoZmlsZS0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spKQoJCWludGVycnVwdGli bGVfc2xlZXBfb25fdGltZW91dCgmd3EsIEhaLzEwKTsgLyogd2FpdCBtYXgg MSBzZWNvbmQgKi8KCWxhc3RfcmVhZF9mcmFtZSA9IGZyYW1lX3NlcXVlbmNl OwoKCWlmKCpmX3BvcyArIGNvdW50ID4gZm9ybWF0c1tmb3JtYXRdLnNpemVp bWFnZSkKCQljb3VudCA9IGZvcm1hdHNbZm9ybWF0XS5zaXplaW1hZ2UgLSAq Zl9wb3M7CglpZihjb3B5X3RvX3VzZXIoZGF0YSwgZnJhbWVfZGF0YSArICpm X3BvcywgY291bnQpKQoJewoJCXJldHVybiAtRUZBVUxUOwoJfQoJcmV0dXJu IDA7Cn0KCnN0YXRpYyBpbnQgQ2xhbXAgKGludCB4KQp7CiAgICAgICAgaW50 IHIgPSB4OyAgICAgIC8qIHJvdW5kIHRvIG5lYXJlc3QgKi8KCiAgICAgICAg aWYgKHIgPCAwKSAgICAgICAgIHJldHVybiAwOwogICAgICAgIGVsc2UgaWYg KHIgPiAyNTUpICByZXR1cm4gMjU1OwogICAgICAgIGVsc2UgICAgICAgICAg ICAgICByZXR1cm4gcjsKfQoKc3RhdGljIHZvaWQgcmdiX3RvX3l1eXYodm9p ZCkKewoJdW5zaWduZWQgY2hhciAqcnAgPSBmcmFtZV9kYXRhLCAqd3AgPSBm cmFtZV9kYXRhOwoJZm9yICg7IHJwIDwgKHVuc2lnbmVkIGNoYXIgKikoZnJh bWVfZGF0YSArIFNNQVJUQ0FNX1JHQl9GUkFNRV9TSVpFKTsKCQkJcnAgKz0g Niwgd3AgKz0gNCkgewoJCXVuc2lnbmVkIGNoYXIgcjEgPSBycFswXSwgZzEg PSBycFsxXSwgYjEgPSBycFsyXTsKCQl1bnNpZ25lZCBjaGFyIHIyID0gcnBb M10sIGcyID0gcnBbNF0sIGIyID0gcnBbNV07CgoJCXVuc2lnbmVkIGNoYXIg eTEgPSBDbGFtcCgoMjk5ICogcjEgKyA1ODcgKiBnMSArIDExNCAqIGIxKSAv IDEwMDApOwoJCXVuc2lnbmVkIGNoYXIgdTEgPSBDbGFtcCgoLTE2OSAqIHIx IC0gMzMxICogZzEgKyA1MDAgKiBiMSkgLyAxMDAwICsgMTI4KTsKCQl1bnNp Z25lZCBjaGFyIHYxID0gQ2xhbXAoKDUwMCAqIHIxIC0gNDE5ICogZzEgLSA4 MSAqIGIxKSAvIDEwMDAgKyAxMjgpOwoJCXVuc2lnbmVkIGNoYXIgeTIgPSBD bGFtcCgoMjk5ICogcjIgKyA1ODcgKiBnMiArIDExNCAqIGIyKSAvIDEwMDAp OwoJCS8qdW5zaWduZWQgY2hhciB1MiA9IENsYW1wKCgtMTY5ICogcjIgLSAz MzEgKiBnMiArIDUwMCAqIGIyKSAvIDEwMDAgKyAxMjgpOwoJCXVuc2lnbmVk IGNoYXIgdjIgPSBDbGFtcCgoNTAwICogcjIgLSA0MTkgKiBnMiAtIDgxICog YjIpIC8gMTAwMCArIDEyOCk7Ki8KCgkJd3BbMF0gPSB5MTsKCQl3cFsxXSA9 IHUxOwoJCXdwWzJdID0geTI7CgkJd3BbM10gPSB2MTsKCX0KfQoKc3RhdGlj IHNzaXplX3Qgc21hcnRjYW1fd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNv bnN0IGNoYXIgX191c2VyICpkYXRhLCBzaXplX3QgY291bnQsIGxvZmZfdCAq Zl9wb3MpCnsKCVNDQU1fTVNHKCIoJXMpICVzIGNhbGxlZCAoY291bnQ9JWQs IGZfcG9zID0gJWQpXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZVTkNUSU9OX18s IGNvdW50LCAoaW50KSAqZl9wb3MpOwoKCWlmIChjb3VudCA+PSBTTUFSVENB TV9SR0JfRlJBTUVfU0laRSkKCSAgICBjb3VudCA9IFNNQVJUQ0FNX1JHQl9G UkFNRV9TSVpFOwoKCWlmKGNvcHlfZnJvbV91c2VyKGZyYW1lX2RhdGEsIGRh dGEsIGNvdW50KSkKCXsKCQlyZXR1cm4gLUVGQVVMVDsKCX0KCSsrIGZyYW1l X3NlcXVlbmNlOwoKCWlmIChmb3JtYXRzW2Zvcm1hdF0ucGl4ZWxmb3JtYXQg PT0gVjRMMl9QSVhfRk1UX1lVWVYpCgkJcmdiX3RvX3l1eXYoKTsKCglkb19n ZXR0aW1lb2ZkYXkoJmZyYW1lX3RpbWVzdGFtcCk7Cgl3YWtlX3VwX2ludGVy cnVwdGlibGVfYWxsKCZ3cSk7CglyZXR1cm4gY291bnQ7Cn0KCnN0YXRpYyB1 bnNpZ25lZCBpbnQgc21hcnRjYW1fcG9sbChzdHJ1Y3QgZmlsZSAqZmlsZSwg c3RydWN0IHBvbGxfdGFibGVfc3RydWN0ICp3YWl0KQp7CglpbnQgbWFzayA9 IChQT0xMT1VUIHwgUE9MTFdSTk9STSk7CS8qIHdyaXRhYmxlICovCglpZiAo bGFzdF9yZWFkX2ZyYW1lICE9IGZyYW1lX3NlcXVlbmNlKQoJICAgIG1hc2sg fD0gKFBPTExJTiB8IFBPTExSRE5PUk0pCS8qIHJlYWRhYmxlICovCgoJU0NB TV9NU0coIiglcykgJXMgY2FsbGVkXG4iLCBjdXJyZW50LT5jb21tLCBfX0ZV TkNUSU9OX18pOwoKCXBvbGxfd2FpdChmaWxlLCAmd3EsIHdhaXQpOwoKCXJl dHVybiBtYXNrOwp9CgpzdGF0aWMgaW50IHNtYXJ0Y2FtX3JlbGVhc2Uoc3Ry dWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCnsKCVNDQU1f TVNHKCIoJXMpICVzIGNhbGxlZFxuIiwgY3VycmVudC0+Y29tbSwgX19GVU5D VElPTl9fKTsKCXJldHVybiAwOwp9CgpzdGF0aWMgY29uc3Qgc3RydWN0IGZp bGVfb3BlcmF0aW9ucyBzbWFydGNhbV9mb3BzID0gewoJLm93bmVyCQk9IFRI SVNfTU9EVUxFLAoJLm9wZW4gICAgICAgICAgID0gc21hcnRjYW1fb3BlbiwK CS5yZWxlYXNlICAgICAgICA9IHNtYXJ0Y2FtX3JlbGVhc2UsCgkucmVhZCAg ICAgICAgICAgPSBzbWFydGNhbV9yZWFkLAoJLndyaXRlICAgICAgICAgID0g c21hcnRjYW1fd3JpdGUsCgkucG9sbAkJPSBzbWFydGNhbV9wb2xsLAoJLmlv Y3RsICAgICAgICAgID0gdmlkZW9faW9jdGwyLCAvKiBWNEwyIGlvY3RsIGhh bmRsZXIgKi8KCS5tbWFwCQk9IHNtYXJ0Y2FtX21tYXAsCgkubGxzZWVrICAg ICAgICAgPSBub19sbHNlZWssCn07CgpzdGF0aWMgY29uc3Qgc3RydWN0IHY0 bDJfaW9jdGxfb3BzIHNtYXJ0Y2FtX2lvY3RsX29wcyA9IHsKCS52aWRpb2Nf cXVlcnljYXAgICAgICA9IHZpZGlvY19xdWVyeWNhcCwKCS52aWRpb2NfZW51 bV9mbXRfdmlkX2NhcCAgPSB2aWRpb2NfZW51bV9mbXRfY2FwLAoJLnZpZGlv Y19nX2ZtdF92aWRfY2FwICAgICA9IHZpZGlvY19nX2ZtdF9jYXAsCgkudmlk aW9jX3RyeV9mbXRfdmlkX2NhcCAgID0gdmlkaW9jX3RyeV9mbXRfY2FwLAoJ LnZpZGlvY19zX2ZtdF92aWRfY2FwICAgICA9IHZpZGlvY19zX2ZtdF9jYXAs CgkudmlkaW9jX3JlcWJ1ZnMgICAgICAgPSB2aWRpb2NfcmVxYnVmcywKCS52 aWRpb2NfcXVlcnlidWYgICAgICA9IHZpZGlvY19xdWVyeWJ1ZiwKCS52aWRp b2NfcWJ1ZiAgICAgICAgICA9IHZpZGlvY19xYnVmLAoJLnZpZGlvY19kcWJ1 ZiAgICAgICAgID0gdmlkaW9jX2RxYnVmLAoJLnZpZGlvY19zX3N0ZCAgICAg ICAgID0gdmlkaW9jX3Nfc3RkLAoJLnZpZGlvY19lbnVtX2lucHV0ICAgID0g dmlkaW9jX2VudW1faW5wdXQsCgkudmlkaW9jX2dfaW5wdXQgICAgICAgPSB2 aWRpb2NfZ19pbnB1dCwKCS52aWRpb2Nfc19pbnB1dCAgICAgICA9IHZpZGlv Y19zX2lucHV0LAoJLnZpZGlvY19xdWVyeWN0cmwgICAgID0gdmlkaW9jX3F1 ZXJ5Y3RybCwKCS52aWRpb2NfZ19jdHJsICAgICAgICA9IHZpZGlvY19nX2N0 cmwsCgkudmlkaW9jX3NfY3RybCAgICAgICAgPSB2aWRpb2Nfc19jdHJsLAoJ LnZpZGlvY19jcm9wY2FwCSAgICAgID0gdmlkaW9jX2Nyb3BjYXAsCgkudmlk aW9jX2dfY3JvcAkgICAgICA9IHZpZGlvY19nX2Nyb3AsCgkudmlkaW9jX3Nf Y3JvcAkgICAgICA9IHZpZGlvY19zX2Nyb3AsCgkudmlkaW9jX2dfcGFybQkg ICAgICA9IHZpZGlvY19nX3Bhcm0sCgkudmlkaW9jX3NfcGFybQkgICAgICA9 IHZpZGlvY19zX3Bhcm0sCgkudmlkaW9jX3N0cmVhbW9uICAgICAgPSB2aWRp b2Nfc3RyZWFtb24sCgkudmlkaW9jX3N0cmVhbW9mZiAgICAgPSB2aWRpb2Nf c3RyZWFtb2ZmLAojaWZkZWYgQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUCgku dmlkaW9jZ21idWYgICAgICAgICAgPSB2aWRpb2NnbWJ1ZiwKI2VuZGlmCn07 CgpzdGF0aWMgc3RydWN0IHZpZGVvX2RldmljZSBzbWFydGNhbV92aWQgPSB7 CgkubmFtZQkJPSAic21hcnRjYW0iLAoJLnZmbF90eXBlCQk9IFZJRF9UWVBF X0NBUFRVUkUsCgkvLy5oYXJkd2FyZQk9IDAsCgkuZm9wcyAgICAgICAgICAg PSAmc21hcnRjYW1fZm9wcywKCS5taW5vcgkJPSAtMSwKCS5yZWxlYXNlCT0g dmlkZW9fZGV2aWNlX3JlbGVhc2VfZW1wdHksCgkudHZub3JtcyAgICAgICAg PSBWNEwyX1NURF9OVFNDX00sCgkuY3VycmVudF9ub3JtICAgPSBWNEwyX1NU RF9OVFNDX00sCgkuaW9jdGxfb3BzCT0gJnNtYXJ0Y2FtX2lvY3RsX29wcywK fTsKCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglJbml0aWFsaXphdGlvbiBh bmQgbW9kdWxlIHN0dWZmCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgpz dGF0aWMgaW50IF9faW5pdCBzbWFydGNhbV9pbml0KHZvaWQpCnsKCWludCBy ZXQgPSAwOwoJZnJhbWVfZGF0YSA9ICAoY2hhciopIHZtYWxsb2MoU01BUlRD QU1fQlVGRkVSX1NJWkUpOwoJaWYoIWZyYW1lX2RhdGEpCgl7CgkJcmV0dXJu IC1FTk9NRU07Cgl9CglmcmFtZV9zZXF1ZW5jZSA9IGxhc3RfcmVhZF9mcmFt ZSA9IDA7CglyZXQgPSB2aWRlb19yZWdpc3Rlcl9kZXZpY2UoJnNtYXJ0Y2Ft X3ZpZCwgVkZMX1RZUEVfR1JBQkJFUiwgLTEpOwoJU0NBTV9NU0coIiglcykg bG9hZCBzdGF0dXM6ICVkXG4iLCBjdXJyZW50LT5jb21tLCByZXQpOwoJcmV0 dXJuIHJldDsKfQoKc3RhdGljIHZvaWQgX19leGl0IHNtYXJ0Y2FtX2V4aXQo dm9pZCkKewoJU0NBTV9NU0coIiglcykgJXMgY2FsbGVkXG4iLCBjdXJyZW50 LT5jb21tLCBfX0ZVTkNUSU9OX18pOwoJZnJhbWVfc2VxdWVuY2UgPSAwOwoJ dmZyZWUoZnJhbWVfZGF0YSk7Cgl2aWRlb191bnJlZ2lzdGVyX2RldmljZSgm c21hcnRjYW1fdmlkKTsKfQoKbW9kdWxlX2luaXQoc21hcnRjYW1faW5pdCk7 Cm1vZHVsZV9leGl0KHNtYXJ0Y2FtX2V4aXQpOwoKTU9EVUxFX0RFU0NSSVBU SU9OKCJTbWFydHBob25lIFdlYmNhbSIpOwpNT0RVTEVfQVVUSE9SKCJJb251 dCBEZWRpdSIpOwpNT0RVTEVfTElDRU5TRSgiRHVhbCBCU0QvR1BMIik7Cgo= --0-779069198-1258745287=:93065 Content-Type: text/plain; name="Error.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Error.txt" W3Jvb3RARGV2b3VyZXIgZHJpdmVyX3NyY10jIG1ha2UgLUMgL2xpYi9tb2R1 bGVzLzIuNi4zMC45LTk2LmZjMTEueDg2XzY0L2J1aWxkLyBNPWBwd2RgCm1h a2U6IEVudGVyaW5nIGRpcmVjdG9yeSBgL3Vzci9zcmMva2VybmVscy8yLjYu MzAuOS05Ni5mYzExLng4Nl82NCcKICBMRCAgICAgIC91c3Ivc3JjL3NtYXJ0 Y2FtLTEuNC4wL2RyaXZlcl9zcmMvYnVpbHQtaW4ubwogIENDIFtNXSAgL3Vz ci9zcmMvc21hcnRjYW0tMS40LjAvZHJpdmVyX3NyYy9zbWFydGNhbS5vCi91 c3Ivc3JjL3NtYXJ0Y2FtLTEuNC4wL2RyaXZlcl9zcmMvc21hcnRjYW0uYzo1 NjM6IHdhcm5pbmc6IGluaXRpYWxpemF0aW9uIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZQovdXNyL3NyYy9zbWFydGNhbS0xLjQuMC9kcml2ZXJf c3JjL3NtYXJ0Y2FtLmM6NTk5OiBlcnJvcjog4oCYVklEX1RZUEVfQ0FQVFVS ReKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKQovdXNy L3NyYy9zbWFydGNhbS0xLjQuMC9kcml2ZXJfc3JjL3NtYXJ0Y2FtLmM6NjAx OiB3YXJuaW5nOiBpbml0aWFsaXphdGlvbiBmcm9tIGluY29tcGF0aWJsZSBw b2ludGVyIHR5cGUKbWFrZVsxXTogKioqIFsvdXNyL3NyYy9zbWFydGNhbS0x LjQuMC9kcml2ZXJfc3JjL3NtYXJ0Y2FtLm9dIEVycm9yIDEKbWFrZTogKioq IFtfbW9kdWxlXy91c3Ivc3JjL3NtYXJ0Y2FtLTEuNC4wL2RyaXZlcl9zcmNd IEVycm9yIDIKbWFrZTogTGVhdmluZyBkaXJlY3RvcnkgYC91c3Ivc3JjL2tl cm5lbHMvMi42LjMwLjktOTYuZmMxMS54ODZfNjQnCg== --0-779069198-1258745287=:93065--