Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753719AbYC2PlA (ORCPT ); Sat, 29 Mar 2008 11:41:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752038AbYC2Pkv (ORCPT ); Sat, 29 Mar 2008 11:40:51 -0400 Received: from fg-out-1718.google.com ([72.14.220.154]:53032 "EHLO fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751983AbYC2Pkt (ORCPT ); Sat, 29 Mar 2008 11:40:49 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:cc:mime-version:content-type; b=lrwLHzPhAh2DQuHsw+2hH/oo+NYG9Uewpq6IXTA8K4KBCUzOLAyZI9vsLjrs4q00ZyeXRCSdzLA5JIP5xw316Q82C9UfEjtZp61g9B1vamKlZ8AEBYnbp3fwtgnOfMfKKcK1daiWcvdX97D8Hg74ihFSp7xjLY7d5OB2wa8rLxc= Message-ID: <6101e8c40803290840y678a8df5m959629d9b81ac815@mail.gmail.com> Date: Sat, 29 Mar 2008 16:40:26 +0100 From: "Oliver Pinter" To: linux-kernel@vger.kernel.org Subject: v2.6.22.21-op1-rc2 Cc: "Andrew Morton" , "Dave Kleikamp" , "Przemyslaw Wegrzyn" , "Christoph Lameter" , "Joe Korty" , "Linus Torvalds" , "Neil Brown" , "Steve French" , "Suresh Jayaraman" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_14792_23016319.1206805226099" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 43738 Lines: 605 ------=_Part_14792_23016319.1206805226099 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline linux v2.6.22.21-op1-rc2 "stable" review patch what is this tree? it is my long term supported kernel, when i have time for it, i backported the most important fixes. http://repo.or.cz/w/linux-2.6.22.y-op.git rc -- Makefile | 2 +- drivers/md/raid5.c | 14 ++--- drivers/net/tulip/tulip_core.c | 4 + fs/cifs/cifs_debug.c | 92 +++-------------------------- fs/cifs/cifsglob.h | 11 ++++ fs/cifs/cifsproto.h | 4 +- fs/cifs/cifssmb.c | 130 ++++++++++++++++++---------------------- fs/cifs/connect.c | 9 ++- fs/cifs/file.c | 14 ++-- fs/cifs/sess.c | 3 +- fs/cifs/transport.c | 88 +++++++++++++++++++++------ mm/slab.c | 5 +- 12 files changed, 174 insertions(+), 202 deletions(-) -- Joe Korty (1): slab: NUMA slab allocator migration bugfix NeilBrown (1): md: fix an occasional deadlock in raid5 Oliver Pinter (1): v2.6.22.21-op1-rc2 Steve French (1): Fix buffer overflow if server sends corrupt response to small Suresh Jayaraman (1): Fix sign mount option and sign proc config setting andrew.patterson <> hp.com (1): MCA when shutting down tulip quad-NIC -- Thanks, Oliver ------=_Part_14792_23016319.1206805226099 Content-Type: text/x-diff; name=patch-v2.6.22.20-op1-v2.6.22.21-op1-rc2 Content-Transfer-Encoding: base64 X-Attachment-Id: file0 Content-Disposition: attachment; filename=patch-v2.6.22.20-op1-v2.6.22.21-op1-rc2 ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggNGZkZWY1MS4uMTA4M2FmNSAx MDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTEsNyArMSw3IEBACiBWRVJT SU9OID0gMgogUEFUQ0hMRVZFTCA9IDYKIFNVQkxFVkVMID0gMjIKLUVYVFJBVkVSU0lPTiA9IC4y MC1vcDEKK0VYVFJBVkVSU0lPTiA9IC4yMS1vcDEtcmMyCiBOQU1FID0gSG9seSBEYW5jaW5nIE1h bmF0ZWVzLCBCYXRtYW4hCiAKICMgKkRPQ1VNRU5UQVRJT04qCmRpZmYgLS1naXQgYS9kcml2ZXJz L21kL3JhaWQ1LmMgYi9kcml2ZXJzL21kL3JhaWQ1LmMKaW5kZXggMDYxMzc1ZS4uODFlZDg4ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9tZC9yYWlkNS5jCisrKyBiL2RyaXZlcnMvbWQvcmFpZDUuYwpA QCAtMjUyNSw3ICsyNTI1LDggQEAgc3RhdGljIHZvaWQgcmFpZDVfYWN0aXZhdGVfZGVsYXllZChy YWlkNV9jb25mX3QgKmNvbmYpCiAJCQkJYXRvbWljX2luYygmY29uZi0+cHJlcmVhZF9hY3RpdmVf c3RyaXBlcyk7CiAJCQlsaXN0X2FkZF90YWlsKCZzaC0+bHJ1LCAmY29uZi0+aGFuZGxlX2xpc3Qp OwogCQl9Ci0JfQorCX0gZWxzZQorCQlibGtfcGx1Z19kZXZpY2UoY29uZi0+bWRkZXYtPnF1ZXVl KTsKIH0KIAogc3RhdGljIHZvaWQgYWN0aXZhdGVfYml0X2RlbGF5KHJhaWQ1X2NvbmZfdCAqY29u ZikKQEAgLTI5NDksNyArMjk1MCw4IEBAIHN0YXRpYyBpbnQgbWFrZV9yZXF1ZXN0KHJlcXVlc3Rf cXVldWVfdCAqcSwgc3RydWN0IGJpbyAqIGJpKQogCQkJCWdvdG8gcmV0cnk7CiAJCQl9CiAJCQlm aW5pc2hfd2FpdCgmY29uZi0+d2FpdF9mb3Jfb3ZlcmxhcCwgJncpOwotCQkJaGFuZGxlX3N0cmlw ZShzaCwgTlVMTCk7CisJCQlzZXRfYml0KFNUUklQRV9IQU5ETEUsICZzaC0+c3RhdGUpOworCQkJ Y2xlYXJfYml0KFNUUklQRV9ERUxBWUVELCAmc2gtPnN0YXRlKTsKIAkJCXJlbGVhc2Vfc3RyaXBl KHNoKTsKIAkJfSBlbHNlIHsKIAkJCS8qIGNhbm5vdCBnZXQgc3RyaXBlIGZvciByZWFkLWFoZWFk LCBqdXN0IGdpdmUtdXAgKi8KQEAgLTMyNjcsNyArMzI2OSw3IEBAIHN0YXRpYyBpbnQgIHJldHJ5 X2FsaWduZWRfcmVhZChyYWlkNV9jb25mX3QgKmNvbmYsIHN0cnVjdCBiaW8gKnJhaWRfYmlvKQog ICogRHVyaW5nIHRoZSBzY2FuLCBjb21wbGV0ZWQgc3RyaXBlcyBhcmUgc2F2ZWQgZm9yIHVzIGJ5 IHRoZSBpbnRlcnJ1cHQKICAqIGhhbmRsZXIsIHNvIHRoYXQgdGhleSB3aWxsIG5vdCBoYXZlIHRv IHdhaXQgZm9yIG91ciBuZXh0IHdha2V1cC4KICAqLwotc3RhdGljIHZvaWQgcmFpZDVkIChtZGRl dl90ICptZGRldikKK3N0YXRpYyB2b2lkIHJhaWQ1ZChtZGRldl90ICptZGRldikKIHsKIAlzdHJ1 Y3Qgc3RyaXBlX2hlYWQgKnNoOwogCXJhaWQ1X2NvbmZfdCAqY29uZiA9IG1kZGV2X3RvX2NvbmYo bWRkZXYpOwpAQCAtMzI5MiwxMiArMzI5NCw2IEBAIHN0YXRpYyB2b2lkIHJhaWQ1ZCAobWRkZXZf dCAqbWRkZXYpCiAJCQlhY3RpdmF0ZV9iaXRfZGVsYXkoY29uZik7CiAJCX0KIAotCQlpZiAobGlz dF9lbXB0eSgmY29uZi0+aGFuZGxlX2xpc3QpICYmCi0JCSAgICBhdG9taWNfcmVhZCgmY29uZi0+ cHJlcmVhZF9hY3RpdmVfc3RyaXBlcykgPCBJT19USFJFU0hPTEQgJiYKLQkJICAgICFibGtfcXVl dWVfcGx1Z2dlZChtZGRldi0+cXVldWUpICYmCi0JCSAgICAhbGlzdF9lbXB0eSgmY29uZi0+ZGVs YXllZF9saXN0KSkKLQkJCXJhaWQ1X2FjdGl2YXRlX2RlbGF5ZWQoY29uZik7Ci0KIAkJd2hpbGUg KChiaW8gPSByZW1vdmVfYmlvX2Zyb21fcmV0cnkoY29uZikpKSB7CiAJCQlpbnQgb2s7CiAJCQlz cGluX3VubG9ja19pcnEoJmNvbmYtPmRldmljZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L3R1bGlwL3R1bGlwX2NvcmUuYyBiL2RyaXZlcnMvbmV0L3R1bGlwL3R1bGlwX2NvcmUuYwpp bmRleCAwNDFhZjYzLi40ZGYwMjg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90dWxpcC90dWxp cF9jb3JlLmMKKysrIGIvZHJpdmVycy9uZXQvdHVsaXAvdHVsaXBfY29yZS5jCkBAIC0xNzk0LDYg KzE3OTQsMTAgQEAgc3RhdGljIHZvaWQgX19kZXZleGl0IHR1bGlwX3JlbW92ZV9vbmUgKHN0cnVj dCBwY2lfZGV2ICpwZGV2KQogCQlyZXR1cm47CiAKIAl0cCA9IG5ldGRldl9wcml2KGRldik7CisK KwkvKiBzaG9vdCBOSUMgaW4gdGhlIGhlYWQgYmVmb3JlIGRlYWxsb2NhdGluZyBkZXNjcmlwdG9y cyAqLworCXBjaV9kaXNhYmxlX2RldmljZSh0cC0+cGRldik7CisKIAl1bnJlZ2lzdGVyX25ldGRl dihkZXYpOwogCXBjaV9mcmVlX2NvbnNpc3RlbnQgKHBkZXYsCiAJCQkgICAgIHNpemVvZiAoc3Ry dWN0IHR1bGlwX3J4X2Rlc2MpICogUlhfUklOR19TSVpFICsKZGlmZiAtLWdpdCBhL2ZzL2NpZnMv Y2lmc19kZWJ1Zy5jIGIvZnMvY2lmcy9jaWZzX2RlYnVnLmMKaW5kZXggMDc4MzhiMi4uZDA1YzEw OCAxMDA2NDQKLS0tIGEvZnMvY2lmcy9jaWZzX2RlYnVnLmMKKysrIGIvZnMvY2lmcy9jaWZzX2Rl YnVnLmMKQEAgLTkwMSw5MCArOTAxLDE0IEBAIHNlY3VyaXR5X2ZsYWdzX3dyaXRlKHN0cnVjdCBm aWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAogCX0KIAkvKiBmbGFncyBsb29r IG9rIC0gdXBkYXRlIHRoZSBnbG9iYWwgc2VjdXJpdHkgZmxhZ3MgZm9yIGNpZnMgbW9kdWxlICov CiAJZXh0ZW5kZWRfc2VjdXJpdHkgPSBmbGFnczsKKwlpZiAoZXh0ZW5kZWRfc2VjdXJpdHkgJiBD SUZTU0VDX01VU1RfU0lHTikgeworCQkvKiByZXF1aXJpbmcgc2lnbmluZyBpbXBsaWVzIHNpZ25p bmcgaXMgYWxsb3dlZCAqLworCQlleHRlbmRlZF9zZWN1cml0eSB8PSBDSUZTU0VDX01BWV9TSUdO OworCQljRllJKDEsICgicGFja2V0IHNpZ25pbmcgbm93IHJlcXVpcmVkIikpOworCX0gZWxzZSBp ZiAoKGV4dGVuZGVkX3NlY3VyaXR5ICYgQ0lGU1NFQ19NQVlfU0lHTikgPT0gMCkgeworCQljRllJ KDEsICgicGFja2V0IHNpZ25pbmcgZGlzYWJsZWQiKSk7CisJfQorCS8qIEJCIHNob3VsZCB3ZSB0 dXJuIG9uIE1BWSBmbGFncyBmb3Igb3RoZXIgTVVTVCBvcHRpb25zPyAqLwogCXJldHVybiBjb3Vu dDsKIH0KLQotLyogc3RhdGljIGludAotbnRsbXYyX2VuYWJsZWRfcmVhZChjaGFyICpwYWdlLCBj aGFyICoqc3RhcnQsIG9mZl90IG9mZiwKLQkJICAgICAgIGludCBjb3VudCwgaW50ICplb2YsIHZv aWQgKmRhdGEpCi17Ci0JaW50IGxlbjsKLQotCWxlbiA9IHNwcmludGYocGFnZSwgIiVkXG4iLCBu dGxtdjJfc3VwcG9ydCk7Ci0KLQlsZW4gLT0gb2ZmOwotCSpzdGFydCA9IHBhZ2UgKyBvZmY7Ci0K LQlpZiAobGVuID4gY291bnQpCi0JCWxlbiA9IGNvdW50OwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0K LQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47Ci19Ci1zdGF0aWMgaW50 Ci1udGxtdjJfZW5hYmxlZF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3Vz ZXIgKmJ1ZmZlciwKLQkJCXVuc2lnbmVkIGxvbmcgY291bnQsIHZvaWQgKmRhdGEpCi17Ci0JY2hh ciBjOwotCWludCByYzsKLQotCXJjID0gZ2V0X3VzZXIoYywgYnVmZmVyKTsKLQlpZiAocmMpCi0J CXJldHVybiByYzsKLQlpZiAoYyA9PSAnMCcgfHwgYyA9PSAnbicgfHwgYyA9PSAnTicpCi0JCW50 bG12Ml9zdXBwb3J0ID0gMDsKLQllbHNlIGlmIChjID09ICcxJyB8fCBjID09ICd5JyB8fCBjID09 ICdZJykKLQkJbnRsbXYyX3N1cHBvcnQgPSAxOwotCWVsc2UgaWYgKGMgPT0gJzInKQotCQludGxt djJfc3VwcG9ydCA9IDI7Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci0KLXN0YXRpYyBpbnQKLXBhY2tl dF9zaWduaW5nX2VuYWJsZWRfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9m ZiwKLQkJICAgICAgIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCi17Ci0JaW50IGxl bjsKLQotCWxlbiA9IHNwcmludGYocGFnZSwgIiVkXG4iLCBzaWduX0NJRlNfUERVcyk7Ci0KLQls ZW4gLT0gb2ZmOwotCSpzdGFydCA9IHBhZ2UgKyBvZmY7Ci0KLQlpZiAobGVuID4gY291bnQpCi0J CWxlbiA9IGNvdW50OwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVu ID0gMDsKLQotCXJldHVybiBsZW47Ci19Ci1zdGF0aWMgaW50Ci1wYWNrZXRfc2lnbmluZ19lbmFi bGVkX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAot CQkJdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKLXsKLQljaGFyIGM7Ci0JaW50IHJj OwotCi0JcmMgPSBnZXRfdXNlcihjLCBidWZmZXIpOwotCWlmIChyYykKLQkJcmV0dXJuIHJjOwot CWlmIChjID09ICcwJyB8fCBjID09ICduJyB8fCBjID09ICdOJykKLQkJc2lnbl9DSUZTX1BEVXMg PSAwOwotCWVsc2UgaWYgKGMgPT0gJzEnIHx8IGMgPT0gJ3knIHx8IGMgPT0gJ1knKQotCQlzaWdu X0NJRlNfUERVcyA9IDE7Ci0JZWxzZSBpZiAoYyA9PSAnMicpCi0JCXNpZ25fQ0lGU19QRFVzID0g MjsKLQotCXJldHVybiBjb3VudDsKLX0gKi8KLQotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2ZzL2Np ZnMvY2lmc2dsb2IuaCBiL2ZzL2NpZnMvY2lmc2dsb2IuaAppbmRleCAyMzY1NWRlLi41ZDZmMTIw IDEwMDY0NAotLS0gYS9mcy9jaWZzL2NpZnNnbG9iLmgKKysrIGIvZnMvY2lmcy9jaWZzZ2xvYi5o CkBAIC00NDIsNiArNDQyLDE3IEBAIHN0cnVjdCBkaXJfbm90aWZ5X3JlcSB7CiAjZGVmaW5lICAg Q0lGU19MQVJHRV9CVUZGRVIgICAgIDIKICNkZWZpbmUgICBDSUZTX0lPVkVDICAgICAgICAgICAg NCAgICAvKiBhcnJheSBvZiByZXNwb25zZSBidWZmZXJzICovCiAKKy8qIFR5cGUgb2YgUmVxdWVz dCB0byBTZW5kUmVjZWl2ZTIgKi8KKyNkZWZpbmUgICBDSUZTX1NURF9PUAkgICAgICAgIDAgICAg Lyogbm9ybWFsIHJlcXVlc3QgdGltZW91dCAqLworI2RlZmluZSAgIENJRlNfTE9OR19PUCAgICAg ICAgICAxICAgIC8qIGxvbmcgb3AgKHVwIHRvIDQ1IHNlYywgb3Bsb2NrIHRpbWUpICovCisjZGVm aW5lICAgQ0lGU19WTE9OR19PUCAgICAgICAgIDIgICAgLyogc2xvb3cgb3AgLSBjYW4gdGFrZSB1 cCB0byAxODAgc2Vjb25kcyAqLworI2RlZmluZSAgIENJRlNfQkxPQ0tJTkdfT1AgICAgICA0ICAg IC8qIG9wZXJhdGlvbiBjYW4gYmxvY2sgKi8KKyNkZWZpbmUgICBDSUZTX0FTWU5DX09QICAgICAg ICAgOCAgICAvKiBkbyBub3Qgd2FpdCBmb3IgcmVzcG9uc2UgKi8KKyNkZWZpbmUgICBDSUZTX1RJ TUVPVVRfTUFTSyAweDAwRiAgICAvKiBvbmx5IG9uZSBvZiA1IGFib3ZlIHNldCBpbiByZXEgKi8K KyNkZWZpbmUgICBDSUZTX0xPR19FUlJPUiAgICAweDAxMCAgICAvKiBsb2cgTlQgU1RBVFVTIGlm IG5vbi16ZXJvICovCisjZGVmaW5lICAgQ0lGU19MQVJHRV9CVUZfT1AgMHgwMjAgICAgLyogbGFy Z2UgcmVxdWVzdCBidWZmZXIgKi8KKyNkZWZpbmUgICBDSUZTX05PX1JFU1AgICAgICAweDA0MCAg ICAvKiBubyByZXNwb25zZSBidWZmZXIgcmVxdWlyZWQgKi8KKwogLyogU2VjdXJpdHkgRmxhZ3M6 IGluZGljYXRlIHR5cGUgb2Ygc2Vzc2lvbiBzZXR1cCBuZWVkZWQgKi8KICNkZWZpbmUgICBDSUZT U0VDX01BWV9TSUdOCTB4MDAwMDEKICNkZWZpbmUgICBDSUZTU0VDX01BWV9OVExNCTB4MDAwMDIK ZGlmZiAtLWdpdCBhL2ZzL2NpZnMvY2lmc3Byb3RvLmggYi9mcy9jaWZzL2NpZnNwcm90by5oCmlu ZGV4IDVkMTYzZTIuLmYzMjRjY2MgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvY2lmc3Byb3RvLmgKKysr IGIvZnMvY2lmcy9jaWZzcHJvdG8uaApAQCAtNDgsOSArNDgsMTEgQEAgZXh0ZXJuIGludCBTZW5k UmVjZWl2ZShjb25zdCB1bnNpZ25lZCBpbnQgLyogeGlkICovICwgc3RydWN0IGNpZnNTZXNJbmZv ICosCiAJCQlzdHJ1Y3Qgc21iX2hkciAqIC8qIGlucHV0ICovICwKIAkJCXN0cnVjdCBzbWJfaGRy ICogLyogb3V0ICovICwKIAkJCWludCAqIC8qIGJ5dGVzIHJldHVybmVkICovICwgY29uc3QgaW50 IGxvbmdfb3ApOworZXh0ZXJuIGludCBTZW5kUmVjZWl2ZU5vUnNwKGNvbnN0IHVuc2lnbmVkIGlu dCB4aWQsIHN0cnVjdCBjaWZzU2VzSW5mbyAqc2VzLAorCQkJc3RydWN0IHNtYl9oZHIgKmluX2J1 ZiwgaW50IGZsYWdzKTsKIGV4dGVybiBpbnQgU2VuZFJlY2VpdmUyKGNvbnN0IHVuc2lnbmVkIGlu dCAvKiB4aWQgKi8gLCBzdHJ1Y3QgY2lmc1Nlc0luZm8gKiwKIAkJCXN0cnVjdCBrdmVjICosIGlu dCAvKiBudmVjIHRvIHNlbmQgKi8sIAotCQkJaW50ICogLyogdHlwZSBvZiBidWYgcmV0dXJuZWQg Ki8gLCBjb25zdCBpbnQgbG9uZ19vcCk7CisJCQlpbnQgKiAvKiB0eXBlIG9mIGJ1ZiByZXR1cm5l ZCAqLyAsIGNvbnN0IGludCBmbGFncyk7CiBleHRlcm4gaW50IFNlbmRSZWNlaXZlQmxvY2tpbmdM b2NrKGNvbnN0IHVuc2lnbmVkIGludCAvKiB4aWQgKi8gLCAKIAkJCQkJc3RydWN0IGNpZnNUY29u SW5mbyAqLAogCQkJCXN0cnVjdCBzbWJfaGRyICogLyogaW5wdXQgKi8gLApkaWZmIC0tZ2l0IGEv ZnMvY2lmcy9jaWZzc21iLmMgYi9mcy9jaWZzL2NpZnNzbWIuYwppbmRleCA1NzQxOWExLi5kYjhk MTEwIDEwMDY0NAotLS0gYS9mcy9jaWZzL2NpZnNzbWIuYworKysgYi9mcy9jaWZzL2NpZnNzbWIu YwpAQCAtNDI2LDExICs0MjYsMTEgQEAgQ0lGU1NNQk5lZ290aWF0ZSh1bnNpZ25lZCBpbnQgeGlk LCBzdHJ1Y3QgY2lmc1Nlc0luZm8gKnNlcykKIAogCS8qIGlmIGFueSBvZiBhdXRoIGZsYWdzIChp ZSBub3Qgc2lnbiBvciBzZWFsKSBhcmUgb3ZlcnJpZGVuIHVzZSB0aGVtICovCiAJaWYoc2VzLT5v dmVycmlkZVNlY0ZsZyAmICh+KENJRlNTRUNfTVVTVF9TSUdOIHwgQ0lGU1NFQ19NVVNUX1NFQUwp KSkKLQkJc2VjRmxhZ3MgPSBzZXMtPm92ZXJyaWRlU2VjRmxnOworCQlzZWNGbGFncyA9IHNlcy0+ b3ZlcnJpZGVTZWNGbGc7IC8qIEJCIEZJWE1FIGZpeCBzaWduIGZsYWdzPyAqLwogCWVsc2UgLyog aWYgb3ZlcnJpZGUgZmxhZ3Mgc2V0IG9ubHkgc2lnbi9zZWFsIE9SIHRoZW0gd2l0aCBnbG9iYWwg YXV0aCAqLwogCQlzZWNGbGFncyA9IGV4dGVuZGVkX3NlY3VyaXR5IHwgc2VzLT5vdmVycmlkZVNl Y0ZsZzsKIAotCWNGWUkoMSwoInNlY0ZsYWdzIDB4JXgiLHNlY0ZsYWdzKSk7CisJY0ZZSSgxLCAo InNlY0ZsYWdzIDB4JXgiLCBzZWNGbGFncykpOwogCiAJcFNNQi0+aGRyLk1pZCA9IEdldE5leHRN aWQoc2VydmVyKTsKIAlwU01CLT5oZHIuRmxhZ3MyIHw9IChTTUJGTEcyX1VOSUNPREUgfCBTTUJG TEcyX0VSUl9TVEFUVVMpOwpAQCAtNjMzLDIyICs2MzMsMzIgQEAgQ0lGU1NNQk5lZ290aWF0ZSh1 bnNpZ25lZCBpbnQgeGlkLCBzdHJ1Y3QgY2lmc1Nlc0luZm8gKnNlcykKICNpZmRlZiBDT05GSUdf Q0lGU19XRUFLX1BXX0hBU0gKIHNpZ25pbmdfY2hlY2s6CiAjZW5kaWYKLQlpZihzaWduX0NJRlNf UERVcyA9PSBGQUxTRSkgeyAgICAgICAgCisJaWYgKChzZWNGbGFncyAmIENJRlNTRUNfTUFZX1NJ R04pID09IDApIHsKKwkJLyogTVVTVF9TSUdOIGFscmVhZHkgaW5jbHVkZXMgdGhlIE1BWV9TSUdO IEZMQUcKKyAJCSAgIHNvIGlmIHRoaXMgaXMgemVybyBpdCBtZWFucyB0aGF0IHNpZ25pbmcgaXMg ZGlzYWJsZWQgKi8KKwkJY0ZZSSgxLCAoIlNpZ25pbmcgZGlzYWJsZWQiKSk7CiAJCWlmKHNlcnZl ci0+c2VjTW9kZSAmIFNFQ01PREVfU0lHTl9SRVFVSVJFRCkKLQkJCWNFUlJPUigxLCgiU2VydmVy IHJlcXVpcmVzICIKLQkJCQkgIi9wcm9jL2ZzL2NpZnMvUGFja2V0U2lnbmluZ0VuYWJsZWQgdG8g YmUgb24iKSk7CisJCQljRVJST1IoMSwgKCJTZXJ2ZXIgcmVxdWlyZXMgIgorCQkJCSAiL3Byb2Mv ZnMvY2lmcy9QYWNrZXRTaWduaW5nRW5hYmxlZCAiCisJCQkJICJ0byBiZSBvbiIpKTsKIAkJc2Vy dmVyLT5zZWNNb2RlICY9IAogCQkJfihTRUNNT0RFX1NJR05fRU5BQkxFRCB8IFNFQ01PREVfU0lH Tl9SRVFVSVJFRCk7Ci0JfSBlbHNlIGlmKHNpZ25fQ0lGU19QRFVzID09IDEpIHsKKwl9IGVsc2Ug aWYgKChzZWNGbGFncyAmIENJRlNTRUNfTVVTVF9TSUdOKSA9PSBDSUZTU0VDX01VU1RfU0lHTikg eworCQkvKiBzaWduaW5nIHJlcXVpcmVkICovCisJCWNGWUkoMSwgKCJNdXN0IHNpZ24gLSBzZWNG bGFncyAweCV4Iiwgc2VjRmxhZ3MpKTsKKwkJaWYoKHNlcnZlci0+c2VjTW9kZSAmCisJCQkoU0VD TU9ERV9TSUdOX0VOQUJMRUQgfCBTRUNNT0RFX1NJR05fUkVRVUlSRUQpKSA9PSAwKSB7CisJCQlj RVJST1IoMSwKKwkJCQkoInNpZ25pbmcgcmVxdWlyZWQgYnV0IHNlcnZlciBsYWNrcyBzdXBwb3J0 IikpOworCQl9IGVsc2UKKwkJCXNlcnZlci0+c2VjTW9kZSB8PSBTRUNNT0RFX1NJR05fUkVRVUlS RUQ7CisJfSBlbHNlIHsKKwkJLyogc2lnbmluZyBvcHRpb25hbCBpZSBDSUZTU0VDX01BWV9TSUdO ICovCiAJCWlmKChzZXJ2ZXItPnNlY01vZGUgJiBTRUNNT0RFX1NJR05fUkVRVUlSRUQpID09IDAp Ci0JCQlzZXJ2ZXItPnNlY01vZGUgJj0gCisJCQlzZXJ2ZXItPnNlY01vZGUgJj0KIAkJCQl+KFNF Q01PREVfU0lHTl9FTkFCTEVEIHwgU0VDTU9ERV9TSUdOX1JFUVVJUkVEKTsKLQl9IGVsc2UgaWYo c2lnbl9DSUZTX1BEVXMgPT0gMikgewotCQlpZigoc2VydmVyLT5zZWNNb2RlICYgCi0JCQkoU0VD TU9ERV9TSUdOX0VOQUJMRUQgfCBTRUNNT0RFX1NJR05fUkVRVUlSRUQpKSA9PSAwKSB7Ci0JCQlj RVJST1IoMSwoInNpZ25pbmcgcmVxdWlyZWQgYnV0IHNlcnZlciBsYWNrcyBzdXBwb3J0IikpOwot CQl9CiAJfQorCiBuZWdfZXJyX2V4aXQ6CQogCWNpZnNfYnVmX3JlbGVhc2UocFNNQik7CiAKQEAg LTY2MCw5ICs2NzAsNyBAQCBpbnQKIENJRlNTTUJURGlzKGNvbnN0IGludCB4aWQsIHN0cnVjdCBj aWZzVGNvbkluZm8gKnRjb24pCiB7CiAJc3RydWN0IHNtYl9oZHIgKnNtYl9idWZmZXI7Ci0Jc3Ry dWN0IHNtYl9oZHIgKnNtYl9idWZmZXJfcmVzcG9uc2U7IC8qIEJCIHJlbW92ZW1lIEJCICovCiAJ aW50IHJjID0gMDsKLQlpbnQgbGVuZ3RoOwogCiAJY0ZZSSgxLCAoIkluIHRyZWUgZGlzY29ubmVj dCIpKTsKIAkvKgpAQCAtNjk5LDE2ICs3MDcsMTIgQEAgQ0lGU1NNQlREaXMoY29uc3QgaW50IHhp ZCwgc3RydWN0IGNpZnNUY29uSW5mbyAqdGNvbikKIAlpZiAocmMpIHsKIAkJdXAoJnRjb24tPnRj b25TZW0pOwogCQlyZXR1cm4gcmM7Ci0JfSBlbHNlIHsKLQkJc21iX2J1ZmZlcl9yZXNwb25zZSA9 IHNtYl9idWZmZXI7IC8qIEJCIHJlbW92ZW1lIEJCICovCiAJfQotCXJjID0gU2VuZFJlY2VpdmUo eGlkLCB0Y29uLT5zZXMsIHNtYl9idWZmZXIsIHNtYl9idWZmZXJfcmVzcG9uc2UsCi0JCQkgJmxl bmd0aCwgMCk7CisKKwlyYyA9IFNlbmRSZWNlaXZlTm9Sc3AoeGlkLCB0Y29uLT5zZXMsIHNtYl9i dWZmZXIsIDApOwogCWlmIChyYykKIAkJY0ZZSSgxLCAoIlRyZWUgZGlzY29ubmVjdCBmYWlsZWQg JWQiLCByYykpOwogCi0JaWYgKHNtYl9idWZmZXIpCi0JCWNpZnNfc21hbGxfYnVmX3JlbGVhc2Uo c21iX2J1ZmZlcik7CiAJdXAoJnRjb24tPnRjb25TZW0pOwogCiAJLyogTm8gbmVlZCB0byByZXR1 cm4gZXJyb3Igb24gdGhpcyBvcGVyYXRpb24gaWYgdGlkIGludmFsaWRhdGVkIGFuZCAKQEAgLTcy MiwxMCArNzI2LDggQEAgQ0lGU1NNQlREaXMoY29uc3QgaW50IHhpZCwgc3RydWN0IGNpZnNUY29u SW5mbyAqdGNvbikKIGludAogQ0lGU1NNQkxvZ29mZihjb25zdCBpbnQgeGlkLCBzdHJ1Y3QgY2lm c1Nlc0luZm8gKnNlcykKIHsKLQlzdHJ1Y3Qgc21iX2hkciAqc21iX2J1ZmZlcl9yZXNwb25zZTsK IAlMT0dPRkZfQU5EWF9SRVEgKnBTTUI7CiAJaW50IHJjID0gMDsKLQlpbnQgbGVuZ3RoOwogCiAJ Y0ZZSSgxLCAoIkluIFNNQkxvZ29mZiBmb3Igc2Vzc2lvbiBkaXNjb25uZWN0IikpOwogCWlmIChz ZXMpCkBAIC03NDQsOCArNzQ2LDYgQEAgQ0lGU1NNQkxvZ29mZihjb25zdCBpbnQgeGlkLCBzdHJ1 Y3QgY2lmc1Nlc0luZm8gKnNlcykKIAkJcmV0dXJuIHJjOwogCX0KIAotCXNtYl9idWZmZXJfcmVz cG9uc2UgPSAoc3RydWN0IHNtYl9oZHIgKilwU01COyAvKiBCQiByZW1vdmVtZSBCQiAqLwotCQog CWlmKHNlcy0+c2VydmVyKSB7CiAJCXBTTUItPmhkci5NaWQgPSBHZXROZXh0TWlkKHNlcy0+c2Vy dmVyKTsKIApAQCAtNzU3LDggKzc1Nyw3IEBAIENJRlNTTUJMb2dvZmYoY29uc3QgaW50IHhpZCwg c3RydWN0IGNpZnNTZXNJbmZvICpzZXMpCiAJcFNNQi0+aGRyLlVpZCA9IHNlcy0+U3VpZDsKIAog CXBTTUItPkFuZFhDb21tYW5kID0gMHhGRjsKLQlyYyA9IFNlbmRSZWNlaXZlKHhpZCwgc2VzLCAo c3RydWN0IHNtYl9oZHIgKikgcFNNQiwKLQkJCSBzbWJfYnVmZmVyX3Jlc3BvbnNlLCAmbGVuZ3Ro LCAwKTsKKwlyYyA9IFNlbmRSZWNlaXZlTm9Sc3AoeGlkLCBzZXMsIChzdHJ1Y3Qgc21iX2hkciAq KSBwU01CLCAwKTsKIAlpZiAoc2VzLT5zZXJ2ZXIpIHsKIAkJYXRvbWljX2RlYygmc2VzLT5zZXJ2 ZXItPnNvY2tldFVzZUNvdW50KTsKIAkJaWYgKGF0b21pY19yZWFkKCZzZXMtPnNlcnZlci0+c29j a2V0VXNlQ291bnQpID09IDApIHsKQEAgLTc2OSw3ICs3NjgsNiBAQCBDSUZTU01CTG9nb2ZmKGNv bnN0IGludCB4aWQsIHN0cnVjdCBjaWZzU2VzSW5mbyAqc2VzKQogCQl9CiAJfQogCXVwKCZzZXMt PnNlc1NlbSk7Ci0JY2lmc19zbWFsbF9idWZfcmVsZWFzZShwU01CKTsKIAogCS8qIGlmIHNlc3Np b24gZGVhZCB0aGVuIHdlIGRvIG5vdCBuZWVkIHRvIGRvIHVsb2dvZmYsCiAJCXNpbmNlIHNlcnZl ciBjbG9zZWQgc21iIHNlc3Npb24sIG5vIHNlbnNlIHJlcG9ydGluZyAKQEAgLTExNDMsNyArMTE0 MSw3IEBAIE9sZE9wZW5SZXRyeToKIAlwU01CLT5CeXRlQ291bnQgPSBjcHVfdG9fbGUxNihjb3Vu dCk7CiAJLyogbG9uZ19vcCBzZXQgdG8gMSB0byBhbGxvdyBmb3Igb3Bsb2NrIGJyZWFrIHRpbWVv dXRzICovCiAJcmMgPSBTZW5kUmVjZWl2ZSh4aWQsIHRjb24tPnNlcywgKHN0cnVjdCBzbWJfaGRy ICopIHBTTUIsCi0JCSAgICAgICAgIChzdHJ1Y3Qgc21iX2hkciAqKSBwU01CciwgJmJ5dGVzX3Jl dHVybmVkLCAxKTsKKwkJCShzdHJ1Y3Qgc21iX2hkciAqKXBTTUJyLCAmYnl0ZXNfcmV0dXJuZWQs IENJRlNfTE9OR19PUCk7CiAJY2lmc19zdGF0c19pbmMoJnRjb24tPm51bV9vcGVucyk7CiAJaWYg KHJjKSB7CiAJCWNGWUkoMSwgKCJFcnJvciBpbiBPcGVuID0gJWQiLCByYykpOwpAQCAtMTI1Nyw3 ICsxMjU1LDcgQEAgb3BlblJldHJ5OgogCXBTTUItPkJ5dGVDb3VudCA9IGNwdV90b19sZTE2KGNv dW50KTsKIAkvKiBsb25nX29wIHNldCB0byAxIHRvIGFsbG93IGZvciBvcGxvY2sgYnJlYWsgdGlt ZW91dHMgKi8KIAlyYyA9IFNlbmRSZWNlaXZlKHhpZCwgdGNvbi0+c2VzLCAoc3RydWN0IHNtYl9o ZHIgKikgcFNNQiwKLQkJCSAoc3RydWN0IHNtYl9oZHIgKikgcFNNQnIsICZieXRlc19yZXR1cm5l ZCwgMSk7CisJCQkoc3RydWN0IHNtYl9oZHIgKilwU01CciwgJmJ5dGVzX3JldHVybmVkLCBDSUZT X0xPTkdfT1ApOwogCWNpZnNfc3RhdHNfaW5jKCZ0Y29uLT5udW1fb3BlbnMpOwogCWlmIChyYykg ewogCQljRllJKDEsICgiRXJyb3IgaW4gT3BlbiA9ICVkIiwgcmMpKTsKQEAgLTEzMzcsNyArMTMz NSw3IEBAIENJRlNTTUJSZWFkKGNvbnN0IGludCB4aWQsIHN0cnVjdCBjaWZzVGNvbkluZm8gKnRj b24sCiAJaW92WzBdLmlvdl9sZW4gPSBwU01CLT5oZHIuc21iX2J1Zl9sZW5ndGggKyA0OwogCXJj ID0gU2VuZFJlY2VpdmUyKHhpZCwgdGNvbi0+c2VzLCBpb3YsIAogCQkJICAxIC8qIG51bSBpb3Zl Y3MgKi8sCi0JCQkgICZyZXNwX2J1Zl90eXBlLCAwKTsgCisJCQkgJnJlc3BfYnVmX3R5cGUsIENJ RlNfU1REX09QIHwgQ0lGU19MT0dfRVJST1IpOwogCWNpZnNfc3RhdHNfaW5jKCZ0Y29uLT5udW1f cmVhZHMpOwogCXBTTUJyID0gKFJFQURfUlNQICopaW92WzBdLmlvdl9iYXNlOwogCWlmIChyYykg ewpAQCAtMTU5Niw3ICsxNTk0LDcgQEAgQ0lGU1NNQkxvY2soY29uc3QgaW50IHhpZCwgc3RydWN0 IGNpZnNUY29uSW5mbyAqdGNvbiwKIAlpbnQgdGltZW91dCA9IDA7CiAJX191MTYgY291bnQ7CiAK LQljRllJKDEsICgiSW4gQ0lGU1NNQkxvY2sgLSB0aW1lb3V0ICVkIG51bUxvY2sgJWQiLHdhaXRG bGFnLG51bUxvY2spKTsKKwljRllJKDEsICgiQ0lGU1NNQkxvY2sgdGltZW91dCAlZCBudW1Mb2Nr ICVkIiwgd2FpdEZsYWcsIG51bUxvY2spKTsKIAlyYyA9IHNtYWxsX3NtYl9pbml0KFNNQl9DT01f TE9DS0lOR19BTkRYLCA4LCB0Y29uLCAodm9pZCAqKikgJnBTTUIpOwogCiAJaWYgKHJjKQpAQCAt MTYwNSwxMCArMTYwMywxMCBAQCBDSUZTU01CTG9jayhjb25zdCBpbnQgeGlkLCBzdHJ1Y3QgY2lm c1Rjb25JbmZvICp0Y29uLAogCXBTTUJyID0gKExPQ0tfUlNQICopcFNNQjsgLyogQkIgcmVtb3Zl bWUgQkIgKi8KIAogCWlmKGxvY2tUeXBlID09IExPQ0tJTkdfQU5EWF9PUExPQ0tfUkVMRUFTRSkg ewotCQl0aW1lb3V0ID0gLTE7IC8qIG5vIHJlc3BvbnNlIGV4cGVjdGVkICovCisJCXRpbWVvdXQg PSBDSUZTX0FTWU5DX09QOyAvKiBubyByZXNwb25zZSBleHBlY3RlZCAqLwogCQlwU01CLT5UaW1l b3V0ID0gMDsKIAl9IGVsc2UgaWYgKHdhaXRGbGFnID09IFRSVUUpIHsKLQkJdGltZW91dCA9IDM7 ICAvKiBibG9ja2luZyBvcGVyYXRpb24sIG5vIHRpbWVvdXQgKi8KKwkJdGltZW91dCA9IENJRlNf QkxPQ0tJTkdfT1A7IC8qIGJsb2NraW5nIG9wZXJhdGlvbiwgbm8gdGltZW91dCAqLwogCQlwU01C LT5UaW1lb3V0ID0gY3B1X3RvX2xlMzIoLTEpOy8qIGJsb2NraW5nIC0gZG8gbm90IHRpbWUgb3V0 ICovCiAJfSBlbHNlIHsKIAkJcFNNQi0+VGltZW91dCA9IDA7CkBAIC0xNjM4LDE1ICsxNjM2LDE2 IEBAIENJRlNTTUJMb2NrKGNvbnN0IGludCB4aWQsIHN0cnVjdCBjaWZzVGNvbkluZm8gKnRjb24s CiAJaWYgKHdhaXRGbGFnKSB7CiAJCXJjID0gU2VuZFJlY2VpdmVCbG9ja2luZ0xvY2soeGlkLCB0 Y29uLCAoc3RydWN0IHNtYl9oZHIgKikgcFNNQiwKIAkJCShzdHJ1Y3Qgc21iX2hkciAqKSBwU01C ciwgJmJ5dGVzX3JldHVybmVkKTsKKwkJY2lmc19zbWFsbF9idWZfcmVsZWFzZShwU01CKTsKIAl9 IGVsc2UgewotCQlyYyA9IFNlbmRSZWNlaXZlKHhpZCwgdGNvbi0+c2VzLCAoc3RydWN0IHNtYl9o ZHIgKikgcFNNQiwKLQkJCSAoc3RydWN0IHNtYl9oZHIgKikgcFNNQnIsICZieXRlc19yZXR1cm5l ZCwgdGltZW91dCk7CisJCXJjID0gU2VuZFJlY2VpdmVOb1JzcCh4aWQsIHRjb24tPnNlcywgKHN0 cnVjdCBzbWJfaGRyICopcFNNQiwKKwkJCQkgICAgICB0aW1lb3V0KTsKKwkJLyogU01CIGJ1ZmZl ciBmcmVlZCBieSBmdW5jdGlvbiBhYm92ZSAqLwogCX0KIAljaWZzX3N0YXRzX2luYygmdGNvbi0+ bnVtX2xvY2tzKTsKIAlpZiAocmMpIHsKIAkJY0ZZSSgxLCAoIlNlbmQgZXJyb3IgaW4gTG9jayA9 ICVkIiwgcmMpKTsKIAl9Ci0JY2lmc19zbWFsbF9idWZfcmVsZWFzZShwU01CKTsKIAogCS8qIE5v dGU6IE9uIC1FQUdBSU4gZXJyb3Igb25seSBjYWxsZXIgY2FuIHJldHJ5IG9uIGhhbmRsZSBiYXNl ZCBjYWxscyAKIAlzaW5jZSBmaWxlIGhhbmRsZSBwYXNzZWQgaW4gbm8gbG9uZ2VyIHZhbGlkICov CkBAIC0xNjY2LDcgKzE2NjUsOSBAQCBDSUZTU01CUG9zaXhMb2NrKGNvbnN0IGludCB4aWQsIHN0 cnVjdCBjaWZzVGNvbkluZm8gKnRjb24sCiAJaW50IHJjID0gMDsKIAlpbnQgdGltZW91dCA9IDA7 CiAJaW50IGJ5dGVzX3JldHVybmVkID0gMDsKKwlpbnQgcmVzcF9idWZfdHlwZSA9IDA7CiAJX191 MTYgcGFyYW1zLCBwYXJhbV9vZmZzZXQsIG9mZnNldCwgYnl0ZV9jb3VudCwgY291bnQ7CisJc3Ry dWN0IGt2ZWMgaW92WzFdOwogCiAJY0ZZSSgxLCAoIlBvc2l4IExvY2siKSk7CiAKQEAgLTE3MTAs NyArMTcxMSw3IEBAIENJRlNTTUJQb3NpeExvY2soY29uc3QgaW50IHhpZCwgc3RydWN0IGNpZnNU Y29uSW5mbyAqdGNvbiwKIAogCXBhcm1fZGF0YS0+bG9ja190eXBlID0gY3B1X3RvX2xlMTYobG9j a190eXBlKTsKIAlpZih3YWl0RmxhZykgewotCQl0aW1lb3V0ID0gMzsgIC8qIGJsb2NraW5nIG9w ZXJhdGlvbiwgbm8gdGltZW91dCAqLworCQl0aW1lb3V0ID0gQ0lGU19CTE9DS0lOR19PUDsgLyog YmxvY2tpbmcgb3BlcmF0aW9uLCBubyB0aW1lb3V0ICovCiAJCXBhcm1fZGF0YS0+bG9ja19mbGFn cyA9IGNwdV90b19sZTE2KDEpOwogCQlwU01CLT5UaW1lb3V0ID0gY3B1X3RvX2xlMzIoLTEpOwog CX0gZWxzZQpAQCAtMTczMCw4ICsxNzMxLDEzIEBAIENJRlNTTUJQb3NpeExvY2soY29uc3QgaW50 IHhpZCwgc3RydWN0IGNpZnNUY29uSW5mbyAqdGNvbiwKIAkJcmMgPSBTZW5kUmVjZWl2ZUJsb2Nr aW5nTG9jayh4aWQsIHRjb24sIChzdHJ1Y3Qgc21iX2hkciAqKSBwU01CLAogCQkJKHN0cnVjdCBz bWJfaGRyICopIHBTTUJyLCAmYnl0ZXNfcmV0dXJuZWQpOwogCX0gZWxzZSB7Ci0JCXJjID0gU2Vu ZFJlY2VpdmUoeGlkLCB0Y29uLT5zZXMsIChzdHJ1Y3Qgc21iX2hkciAqKSBwU01CLAotCQkJKHN0 cnVjdCBzbWJfaGRyICopIHBTTUJyLCAmYnl0ZXNfcmV0dXJuZWQsIHRpbWVvdXQpOworCQlpb3Zb MF0uaW92X2Jhc2UgPSAoY2hhciAqKXBTTUI7CisJCWlvdlswXS5pb3ZfbGVuID0gcFNNQi0+aGRy LnNtYl9idWZfbGVuZ3RoICsgNDsKKwkJcmMgPSBTZW5kUmVjZWl2ZTIoeGlkLCB0Y29uLT5zZXMs IGlvdiwgMSAvKiBudW0gaW92ZWNzICovLAorCQkJCSZyZXNwX2J1Zl90eXBlLCB0aW1lb3V0KTsK KwkJcFNNQiA9IE5VTEw7IC8qIHJlcXVlc3QgYnVmIGFscmVhZHkgZnJlZWQgYnkgU2VuZFJlY2Vp dmUyLiBEbworCQkJCW5vdCB0cnkgdG8gZnJlZSBpdCB0d2ljZSBiZWxvdyBvbiBleGl0ICovCisJ CXBTTUJyID0gKHN0cnVjdCBzbWJfY29tX3RyYW5zYWN0aW9uMl9zZmlfcnNwICopaW92WzBdLmlv dl9iYXNlOwogCX0KIAogCWlmIChyYykgewpAQCAtMTc2Niw2ICsxNzcyLDExIEBAIHBsa19lcnJf ZXhpdDoKIAlpZiAocFNNQikKIAkJY2lmc19zbWFsbF9idWZfcmVsZWFzZShwU01CKTsKIAorCWlm IChyZXNwX2J1Zl90eXBlID09IENJRlNfU01BTExfQlVGRkVSKQorCQljaWZzX3NtYWxsX2J1Zl9y ZWxlYXNlKGlvdlswXS5pb3ZfYmFzZSk7CisJZWxzZSBpZiAocmVzcF9idWZfdHlwZSA9PSBDSUZT X0xBUkdFX0JVRkZFUikKKwkJY2lmc19idWZfcmVsZWFzZShpb3ZbMF0uaW92X2Jhc2UpOworCiAJ LyogTm90ZTogT24gLUVBR0FJTiBlcnJvciBvbmx5IGNhbGxlciBjYW4gcmV0cnkgb24gaGFuZGxl IGJhc2VkIGNhbGxzCiAJICAgc2luY2UgZmlsZSBoYW5kbGUgcGFzc2VkIGluIG5vIGxvbmdlciB2 YWxpZCAqLwogCkBAIC0xNzc4LDggKzE3ODksNiBAQCBDSUZTU01CQ2xvc2UoY29uc3QgaW50IHhp ZCwgc3RydWN0IGNpZnNUY29uSW5mbyAqdGNvbiwgaW50IHNtYl9maWxlX2lkKQogewogCWludCBy YyA9IDA7CiAJQ0xPU0VfUkVRICpwU01CID0gTlVMTDsKLQlDTE9TRV9SU1AgKnBTTUJyID0gTlVM TDsKLQlpbnQgYnl0ZXNfcmV0dXJuZWQ7CiAJY0ZZSSgxLCAoIkluIENJRlNTTUJDbG9zZSIpKTsK IAogLyogZG8gbm90IHJldHJ5IG9uIGRlYWQgc2Vzc2lvbiBvbiBjbG9zZSAqLwpAQCAtMTc4OSwx MyArMTc5OCwxMCBAQCBDSUZTU01CQ2xvc2UoY29uc3QgaW50IHhpZCwgc3RydWN0IGNpZnNUY29u SW5mbyAqdGNvbiwgaW50IHNtYl9maWxlX2lkKQogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCi0J cFNNQnIgPSAoQ0xPU0VfUlNQICopcFNNQjsgLyogQkIgcmVtb3ZlbWUgQkIgKi8KLQogCXBTTUIt PkZpbGVJRCA9IChfX3UxNikgc21iX2ZpbGVfaWQ7CiAJcFNNQi0+TGFzdFdyaXRlVGltZSA9IDB4 RkZGRkZGRkY7CiAJcFNNQi0+Qnl0ZUNvdW50ID0gMDsKLQlyYyA9IFNlbmRSZWNlaXZlKHhpZCwg dGNvbi0+c2VzLCAoc3RydWN0IHNtYl9oZHIgKikgcFNNQiwKLQkJCSAoc3RydWN0IHNtYl9oZHIg KikgcFNNQnIsICZieXRlc19yZXR1cm5lZCwgMCk7CisJcmMgPSBTZW5kUmVjZWl2ZU5vUnNwKHhp ZCwgdGNvbi0+c2VzLCAoc3RydWN0IHNtYl9oZHIgKikgcFNNQiwgMCk7CiAJY2lmc19zdGF0c19p bmMoJnRjb24tPm51bV9jbG9zZXMpOwogCWlmIChyYykgewogCQlpZihyYyE9LUVJTlRSKSB7CkBA IC0xODA0LDggKzE4MTAsNiBAQCBDSUZTU01CQ2xvc2UoY29uc3QgaW50IHhpZCwgc3RydWN0IGNp ZnNUY29uSW5mbyAqdGNvbiwgaW50IHNtYl9maWxlX2lkKQogCQl9CiAJfQogCi0JY2lmc19zbWFs bF9idWZfcmVsZWFzZShwU01CKTsKLQogCS8qIFNpbmNlIHNlc3Npb24gaXMgZGVhZCwgZmlsZSB3 aWxsIGJlIGNsb3NlZCBvbiBzZXJ2ZXIgYWxyZWFkeSAqLwogCWlmKHJjID09IC1FQUdBSU4pCiAJ CXJjID0gMDsKQEAgLTI5ODksNyArMjk5Myw4IEBAIENJRlNTTUJHZXRDSUZTQUNMKGNvbnN0IGlu dCB4aWQsIHN0cnVjdCBjaWZzVGNvbkluZm8gKnRjb24sIF9fdTE2IGZpZCwKIAlpb3ZbMF0uaW92 X2Jhc2UgPSAoY2hhciAqKXBTTUI7CiAJaW92WzBdLmlvdl9sZW4gPSBwU01CLT5oZHIuc21iX2J1 Zl9sZW5ndGggKyA0OwogCi0JcmMgPSBTZW5kUmVjZWl2ZTIoeGlkLCB0Y29uLT5zZXMsIGlvdiwg MSAvKiBudW0gaW92ZWMgKi8sICZidWZfdHlwZSwgMCk7CisJcmMgPSBTZW5kUmVjZWl2ZTIoeGlk LCB0Y29uLT5zZXMsIGlvdiwgMSAvKiBudW0gaW92ZWMgKi8sICZidWZfdHlwZSwKKwkJCSBDSUZT X1NURF9PUCk7CiAJY2lmc19zdGF0c19pbmMoJnRjb24tPm51bV9hY2xfZ2V0KTsKIAlpZiAocmMp IHsKIAkJY0ZZSSgxLCAoIlNlbmQgZXJyb3IgaW4gUXVlcnlTZWNEZXNjID0gJWQiLCByYykpOwpA QCAtMzYzNCw4ICszNjM5LDYgQEAgQ0lGU0ZpbmRDbG9zZShjb25zdCBpbnQgeGlkLCBzdHJ1Y3Qg Y2lmc1Rjb25JbmZvICp0Y29uLCBjb25zdCBfX3UxNiBzZWFyY2hIYW5kbGUKIHsKIAlpbnQgcmMg PSAwOwogCUZJTkRDTE9TRV9SRVEgKnBTTUIgPSBOVUxMOwotCUNMT1NFX1JTUCAqcFNNQnIgPSBO VUxMOyAvKiBCQiByZW1vdmVtZSBCQiAqLwotCWludCBieXRlc19yZXR1cm5lZDsKIAogCWNGWUko MSwgKCJJbiBDSUZTU01CRmluZENsb3NlIikpOwogCXJjID0gc21hbGxfc21iX2luaXQoU01CX0NP TV9GSU5EX0NMT1NFMiwgMSwgdGNvbiwgKHZvaWQgKiopJnBTTUIpOwpAQCAtMzY0NywxNiArMzY1 MCwxMyBAQCBDSUZTRmluZENsb3NlKGNvbnN0IGludCB4aWQsIHN0cnVjdCBjaWZzVGNvbkluZm8g KnRjb24sIGNvbnN0IF9fdTE2IHNlYXJjaEhhbmRsZQogCWlmIChyYykKIAkJcmV0dXJuIHJjOwog Ci0JcFNNQnIgPSAoQ0xPU0VfUlNQICopcFNNQjsgIC8qIEJCIHJlbW92ZW1lIEJCICovCiAJcFNN Qi0+RmlsZUlEID0gc2VhcmNoSGFuZGxlOwogCXBTTUItPkJ5dGVDb3VudCA9IDA7Ci0JcmMgPSBT ZW5kUmVjZWl2ZSh4aWQsIHRjb24tPnNlcywgKHN0cnVjdCBzbWJfaGRyICopIHBTTUIsCi0JCQkg KHN0cnVjdCBzbWJfaGRyICopIHBTTUJyLCAmYnl0ZXNfcmV0dXJuZWQsIDApOworCXJjID0gU2Vu ZFJlY2VpdmVOb1JzcCh4aWQsIHRjb24tPnNlcywgKHN0cnVjdCBzbWJfaGRyICopIHBTTUIsIDAp OwogCWlmIChyYykgewogCQljRVJST1IoMSwgKCJTZW5kIGVycm9yIGluIEZpbmRDbG9zZSA9ICVk IiwgcmMpKTsKIAl9CiAJY2lmc19zdGF0c19pbmMoJnRjb24tPm51bV9mY2xvc2UpOwotCWNpZnNf c21hbGxfYnVmX3JlbGVhc2UocFNNQik7CiAKIAkvKiBTaW5jZSBzZXNzaW9uIGlzIGRlYWQsIHNl YXJjaCBoYW5kbGUgY2xvc2VkIG9uIHNlcnZlciBhbHJlYWR5ICovCiAJaWYgKHJjID09IC1FQUdB SU4pCkBAIC00NTcxLDExICs0NTcxLDkgQEAgQ0lGU1NNQlNldEZpbGVTaXplKGNvbnN0IGludCB4 aWQsIHN0cnVjdCBjaWZzVGNvbkluZm8gKnRjb24sIF9fdTY0IHNpemUsCiAgICAgICAgICAgICAg ICAgICAgX191MTYgZmlkLCBfX3UzMiBwaWRfb2Zfb3BlbmVyLCBpbnQgU2V0QWxsb2NhdGlvbikK IHsKIAlzdHJ1Y3Qgc21iX2NvbV90cmFuc2FjdGlvbjJfc2ZpX3JlcSAqcFNNQiAgPSBOVUxMOwot CXN0cnVjdCBzbWJfY29tX3RyYW5zYWN0aW9uMl9zZmlfcnNwICpwU01CciA9IE5VTEw7CiAJY2hh ciAqZGF0YV9vZmZzZXQ7CiAJc3RydWN0IGZpbGVfZW5kX29mX2ZpbGVfaW5mbyAqcGFybV9kYXRh OwogCWludCByYyA9IDA7Ci0JaW50IGJ5dGVzX3JldHVybmVkID0gMDsKIAlfX3UxNiBwYXJhbXMs IHBhcmFtX29mZnNldCwgb2Zmc2V0LCBieXRlX2NvdW50LCBjb3VudDsKIAogCWNGWUkoMSwgKCJT ZXRGaWxlU2l6ZSAodmlhIFNldEZpbGVJbmZvKSAlbGxkIiwKQEAgLTQ1ODUsOCArNDU4Myw2IEBA IENJRlNTTUJTZXRGaWxlU2l6ZShjb25zdCBpbnQgeGlkLCBzdHJ1Y3QgY2lmc1Rjb25JbmZvICp0 Y29uLCBfX3U2NCBzaXplLAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCi0JcFNNQnIgPSAoc3Ry dWN0IHNtYl9jb21fdHJhbnNhY3Rpb24yX3NmaV9yc3AgKilwU01COwotCiAJcFNNQi0+aGRyLlBp ZCA9IGNwdV90b19sZTE2KChfX3UxNilwaWRfb2Zfb3BlbmVyKTsKIAlwU01CLT5oZHIuUGlkSGln aCA9IGNwdV90b19sZTE2KChfX3UxNikocGlkX29mX29wZW5lciA+PiAxNikpOwogICAgIApAQCAt NDYzNywxNyArNDYzMywxMyBAQCBDSUZTU01CU2V0RmlsZVNpemUoY29uc3QgaW50IHhpZCwgc3Ry dWN0IGNpZnNUY29uSW5mbyAqdGNvbiwgX191NjQgc2l6ZSwKIAlwU01CLT5SZXNlcnZlZDQgPSAw OwogCXBTTUItPmhkci5zbWJfYnVmX2xlbmd0aCArPSBieXRlX2NvdW50OwogCXBTTUItPkJ5dGVD b3VudCA9IGNwdV90b19sZTE2KGJ5dGVfY291bnQpOwotCXJjID0gU2VuZFJlY2VpdmUoeGlkLCB0 Y29uLT5zZXMsIChzdHJ1Y3Qgc21iX2hkciAqKSBwU01CLAotCQkJIChzdHJ1Y3Qgc21iX2hkciAq KSBwU01CciwgJmJ5dGVzX3JldHVybmVkLCAwKTsKKwlyYyA9IFNlbmRSZWNlaXZlTm9Sc3AoeGlk LCB0Y29uLT5zZXMsIChzdHJ1Y3Qgc21iX2hkciAqKSBwU01CLCAwKTsKIAlpZiAocmMpIHsKIAkJ Y0ZZSSgxLAogCQkgICAgICgiU2VuZCBlcnJvciBpbiBTZXRGaWxlSW5mbyAoU2V0RmlsZVNpemUp ID0gJWQiLAogCQkgICAgICByYykpOwogCX0KIAotCWlmIChwU01CKQotCQljaWZzX3NtYWxsX2J1 Zl9yZWxlYXNlKHBTTUIpOwotCiAJLyogTm90ZTogT24gLUVBR0FJTiBlcnJvciBvbmx5IGNhbGxl ciBjYW4gcmV0cnkgb24gaGFuZGxlIGJhc2VkIGNhbGxzIAogCQlzaW5jZSBmaWxlIGhhbmRsZSBw YXNzZWQgaW4gbm8gbG9uZ2VyIHZhbGlkICovCiAKQEAgLTQ2NjUsMTAgKzQ2NTcsOCBAQCBDSUZT U01CU2V0RmlsZVRpbWVzKGNvbnN0IGludCB4aWQsIHN0cnVjdCBjaWZzVGNvbkluZm8gKnRjb24s IGNvbnN0IEZJTEVfQkFTSUNfSQogICAgICAgICAgICAgICAgICAgIF9fdTE2IGZpZCkKIHsKIAlz dHJ1Y3Qgc21iX2NvbV90cmFuc2FjdGlvbjJfc2ZpX3JlcSAqcFNNQiAgPSBOVUxMOwotCXN0cnVj dCBzbWJfY29tX3RyYW5zYWN0aW9uMl9zZmlfcnNwICpwU01CciA9IE5VTEw7CiAJY2hhciAqZGF0 YV9vZmZzZXQ7CiAJaW50IHJjID0gMDsKLQlpbnQgYnl0ZXNfcmV0dXJuZWQgPSAwOwogCV9fdTE2 IHBhcmFtcywgcGFyYW1fb2Zmc2V0LCBvZmZzZXQsIGJ5dGVfY291bnQsIGNvdW50OwogCiAJY0ZZ SSgxLCAoIlNldCBUaW1lcyAodmlhIFNldEZpbGVJbmZvKSIpKTsKQEAgLTQ2NzcsOCArNDY2Nyw2 IEBAIENJRlNTTUJTZXRGaWxlVGltZXMoY29uc3QgaW50IHhpZCwgc3RydWN0IGNpZnNUY29uSW5m byAqdGNvbiwgY29uc3QgRklMRV9CQVNJQ19JCiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKLQlw U01CciA9IChzdHJ1Y3Qgc21iX2NvbV90cmFuc2FjdGlvbjJfc2ZpX3JzcCAqKXBTTUI7Ci0KIAkv KiBBdCB0aGlzIHBvaW50IHRoZXJlIGlzIG5vIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIGN1cnJlbnQg cGlkCiAJd2l0aCB0aGUgcGlkIG9mIHRoZSBvcGVuZXIsIGJ1dCB0aGF0IGNvdWxkIGNoYW5nZSBp ZiB3ZSBzb21lZGF5CiAJdXNlIGFuIGV4aXN0aW5nIGhhbmRsZSAocmF0aGVyIHRoYW4gb3Blbmlu ZyBvbmUgb24gdGhlIGZseSkgKi8KQEAgLTQ3MTgsMTQgKzQ3MDYsMTEgQEAgQ0lGU1NNQlNldEZp bGVUaW1lcyhjb25zdCBpbnQgeGlkLCBzdHJ1Y3QgY2lmc1Rjb25JbmZvICp0Y29uLCBjb25zdCBG SUxFX0JBU0lDX0kKIAlwU01CLT5oZHIuc21iX2J1Zl9sZW5ndGggKz0gYnl0ZV9jb3VudDsKIAlw U01CLT5CeXRlQ291bnQgPSBjcHVfdG9fbGUxNihieXRlX2NvdW50KTsKIAltZW1jcHkoZGF0YV9v ZmZzZXQsZGF0YSxzaXplb2YoRklMRV9CQVNJQ19JTkZPKSk7Ci0JcmMgPSBTZW5kUmVjZWl2ZSh4 aWQsIHRjb24tPnNlcywgKHN0cnVjdCBzbWJfaGRyICopIHBTTUIsCi0JCQkgKHN0cnVjdCBzbWJf aGRyICopIHBTTUJyLCAmYnl0ZXNfcmV0dXJuZWQsIDApOworCXJjID0gU2VuZFJlY2VpdmVOb1Jz cCh4aWQsIHRjb24tPnNlcywgKHN0cnVjdCBzbWJfaGRyICopIHBTTUIsIDApOwogCWlmIChyYykg ewogCQljRllJKDEsKCJTZW5kIGVycm9yIGluIFNldCBUaW1lIChTZXRGaWxlSW5mbykgPSAlZCIs cmMpKTsKIAl9CiAKLQljaWZzX3NtYWxsX2J1Zl9yZWxlYXNlKHBTTUIpOwotCiAJLyogTm90ZTog T24gLUVBR0FJTiBlcnJvciBvbmx5IGNhbGxlciBjYW4gcmV0cnkgb24gaGFuZGxlIGJhc2VkIGNh bGxzIAogCQlzaW5jZSBmaWxlIGhhbmRsZSBwYXNzZWQgaW4gbm8gbG9uZ2VyIHZhbGlkICovCiAK QEAgLTUwMTYsNyArNTAwMSw4IEBAIGludCBDSUZTU01CTm90aWZ5KGNvbnN0IGludCB4aWQsIHN0 cnVjdCBjaWZzVGNvbkluZm8gKnRjb24sCiAJcFNNQi0+Qnl0ZUNvdW50ID0gMDsKIAogCXJjID0g U2VuZFJlY2VpdmUoeGlkLCB0Y29uLT5zZXMsIChzdHJ1Y3Qgc21iX2hkciAqKSBwU01CLAotCQkJ KHN0cnVjdCBzbWJfaGRyICopIHBTTUJyLCAmYnl0ZXNfcmV0dXJuZWQsIC0xKTsKKwkJCSAoc3Ry dWN0IHNtYl9oZHIgKilwU01CciwgJmJ5dGVzX3JldHVybmVkLAorCQkJIENJRlNfQVNZTkNfT1Ap OwogCWlmIChyYykgewogCQljRllJKDEsICgiRXJyb3IgaW4gTm90aWZ5ID0gJWQiLCByYykpOwog CX0gZWxzZSB7CmRpZmYgLS1naXQgYS9mcy9jaWZzL2Nvbm5lY3QuYyBiL2ZzL2NpZnMvY29ubmVj dC5jCmluZGV4IGY0ZTkyNjYuLjg1NzljOWUgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvY29ubmVjdC5j CisrKyBiL2ZzL2NpZnMvY29ubmVjdC5jCkBAIC0yMjczLDcgKzIyNzMsNyBAQCBDSUZTU2Vzc1Nl dHVwKHVuc2lnbmVkIGludCB4aWQsIHN0cnVjdCBjaWZzU2VzSW5mbyAqc2VzLAogCXBTTUItPnJl cV9ub19zZWNleHQuQnl0ZUNvdW50ID0gY3B1X3RvX2xlMTYoY291bnQpOwogCiAJcmMgPSBTZW5k UmVjZWl2ZSh4aWQsIHNlcywgc21iX2J1ZmZlciwgc21iX2J1ZmZlcl9yZXNwb25zZSwKLQkJCSAm Ynl0ZXNfcmV0dXJuZWQsIDEpOworCQkJICZieXRlc19yZXR1cm5lZCwgQ0lGU19MT05HX09QKTsK IAlpZiAocmMpIHsKIC8qIHJjID0gbWFwX3NtYl90b19saW51eF9lcnJvcihzbWJfYnVmZmVyX3Jl c3BvbnNlKTsgbm93IGRvbmUgaW4gU2VuZFJlY2VpdmUgKi8KIAl9IGVsc2UgaWYgKChzbWJfYnVm ZmVyX3Jlc3BvbnNlLT5Xb3JkQ291bnQgPT0gMykKQEAgLTI1NTksNyArMjU1OSw3IEBAIENJRlNO VExNU1NQTmVnb3RpYXRlU2Vzc1NldHVwKHVuc2lnbmVkIGludCB4aWQsCiAJcFNNQi0+cmVxLkJ5 dGVDb3VudCA9IGNwdV90b19sZTE2KGNvdW50KTsKIAogCXJjID0gU2VuZFJlY2VpdmUoeGlkLCBz ZXMsIHNtYl9idWZmZXIsIHNtYl9idWZmZXJfcmVzcG9uc2UsCi0JCQkgJmJ5dGVzX3JldHVybmVk LCAxKTsKKwkJCSAmYnl0ZXNfcmV0dXJuZWQsIENJRlNfTE9OR19PUCk7CiAKIAlpZiAoc21iX2J1 ZmZlcl9yZXNwb25zZS0+U3RhdHVzLkNpZnNFcnJvciA9PQogCSAgICBjcHVfdG9fbGUzMihOVF9T VEFUVVNfTU9SRV9QUk9DRVNTSU5HX1JFUVVJUkVEKSkKQEAgLTI5ODUsNyArMjk4NSw3IEBAIENJ RlNOVExNU1NQQXV0aFNlc3NTZXR1cCh1bnNpZ25lZCBpbnQgeGlkLCBzdHJ1Y3QgY2lmc1Nlc0lu Zm8gKnNlcywKIAlwU01CLT5yZXEuQnl0ZUNvdW50ID0gY3B1X3RvX2xlMTYoY291bnQpOwogCiAJ cmMgPSBTZW5kUmVjZWl2ZSh4aWQsIHNlcywgc21iX2J1ZmZlciwgc21iX2J1ZmZlcl9yZXNwb25z ZSwKLQkJCSAmYnl0ZXNfcmV0dXJuZWQsIDEpOworCQkJICZieXRlc19yZXR1cm5lZCwgQ0lGU19M T05HX09QKTsKIAlpZiAocmMpIHsKIC8qICAgIHJjID0gbWFwX3NtYl90b19saW51eF9lcnJvcihz bWJfYnVmZmVyX3Jlc3BvbnNlKTsgICovLyogZG9uZSBpbiBTZW5kUmVjZWl2ZSBub3cgKi8KIAl9 IGVsc2UgaWYgKChzbWJfYnVmZmVyX3Jlc3BvbnNlLT5Xb3JkQ291bnQgPT0gMykKQEAgLTMyNTYs NyArMzI1Niw4IEBAIENJRlNUQ29uKHVuc2lnbmVkIGludCB4aWQsIHN0cnVjdCBjaWZzU2VzSW5m byAqc2VzLAogCXBTTUItPmhkci5zbWJfYnVmX2xlbmd0aCArPSBjb3VudDsKIAlwU01CLT5CeXRl Q291bnQgPSBjcHVfdG9fbGUxNihjb3VudCk7CiAKLQlyYyA9IFNlbmRSZWNlaXZlKHhpZCwgc2Vz LCBzbWJfYnVmZmVyLCBzbWJfYnVmZmVyX3Jlc3BvbnNlLCAmbGVuZ3RoLCAwKTsKKwlyYyA9IFNl bmRSZWNlaXZlKHhpZCwgc2VzLCBzbWJfYnVmZmVyLCBzbWJfYnVmZmVyX3Jlc3BvbnNlLCAmbGVu Z3RoLAorCQkJIENJRlNfU1REX09QKTsKIAogCS8qIGlmIChyYykgcmMgPSBtYXBfc21iX3RvX2xp bnV4X2Vycm9yKHNtYl9idWZmZXJfcmVzcG9uc2UpOyAqLwogCS8qIGFib3ZlIG5vdyBkb25lIGlu IFNlbmRSZWNlaXZlICovCmRpZmYgLS1naXQgYS9mcy9jaWZzL2ZpbGUuYyBiL2ZzL2NpZnMvZmls ZS5jCmluZGV4IDk0ZDViNDkuLmEyYzllN2EgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvZmlsZS5jCisr KyBiL2ZzL2NpZnMvZmlsZS5jCkBAIC04MDksOSArODA5LDkgQEAgc3NpemVfdCBjaWZzX3VzZXJf d3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICp3cml0ZV9kYXRhLAog CXhpZCA9IEdldFhpZCgpOwogCiAJaWYgKCpwb2Zmc2V0ID4gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ ZF9pbm9kZS0+aV9zaXplKQotCQlsb25nX29wID0gMjsgLyogd3JpdGVzIHBhc3QgZW5kIG9mIGZp bGUgY2FuIHRha2UgYSBsb25nIHRpbWUgKi8KKwkJbG9uZ19vcCA9IENJRlNfVkxPTkdfT1A7IC8q IHdyaXRlcyBwYXN0IEVPRiB0YWtlIGxvbmcgdGltZSAqLwogCWVsc2UKLQkJbG9uZ19vcCA9IDE7 CisJCWxvbmdfb3AgPSBDSUZTX0xPTkdfT1A7CiAKIAlmb3IgKHRvdGFsX3dyaXR0ZW4gPSAwOyB3 cml0ZV9zaXplID4gdG90YWxfd3JpdHRlbjsKIAkgICAgIHRvdGFsX3dyaXR0ZW4gKz0gYnl0ZXNf d3JpdHRlbikgewpAQCAtODU4LDcgKzg1OCw3IEBAIHNzaXplX3QgY2lmc191c2VyX3dyaXRlKHN0 cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqd3JpdGVfZGF0YSwKIAkJCX0KIAkJ fSBlbHNlCiAJCQkqcG9mZnNldCArPSBieXRlc193cml0dGVuOwotCQlsb25nX29wID0gRkFMU0U7 IC8qIHN1YnNlcXVlbnQgd3JpdGVzIGZhc3QgLQorCQlsb25nX29wID0gQ0lGU19TVERfT1A7IC8q IHN1YnNlcXVlbnQgd3JpdGVzIGZhc3QgLQogCQkJCSAgICAxNSBzZWNvbmRzIGlzIHBsZW50eSAq LwogCX0KIApAQCAtOTA4LDkgKzkwOCw5IEBAIHN0YXRpYyBzc2l6ZV90IGNpZnNfd3JpdGUoc3Ry dWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgKndyaXRlX2RhdGEsCiAJeGlkID0gR2V0WGlkKCk7 CiAKIAlpZiAoKnBvZmZzZXQgPiBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLT5pX3NpemUp Ci0JCWxvbmdfb3AgPSAyOyAvKiB3cml0ZXMgcGFzdCBlbmQgb2YgZmlsZSBjYW4gdGFrZSBhIGxv bmcgdGltZSAqLworCQlsb25nX29wID0gQ0lGU19WTE9OR19PUDsgLyogd3JpdGVzIHBhc3QgRU9G IGNhbiBiZSBzbG93ICovCiAJZWxzZQotCQlsb25nX29wID0gMTsKKwkJbG9uZ19vcCA9IENJRlNf TE9OR19PUDsKIAogCWZvciAodG90YWxfd3JpdHRlbiA9IDA7IHdyaXRlX3NpemUgPiB0b3RhbF93 cml0dGVuOwogCSAgICAgdG90YWxfd3JpdHRlbiArPSBieXRlc193cml0dGVuKSB7CkBAIC05NzYs NyArOTc2LDcgQEAgc3RhdGljIHNzaXplX3QgY2lmc193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwg Y29uc3QgY2hhciAqd3JpdGVfZGF0YSwKIAkJCX0KIAkJfSBlbHNlCiAJCQkqcG9mZnNldCArPSBi eXRlc193cml0dGVuOwotCQlsb25nX29wID0gRkFMU0U7IC8qIHN1YnNlcXVlbnQgd3JpdGVzIGZh c3QgLSAKKwkJbG9uZ19vcCA9IENJRlNfU1REX09QOyAvKiBzdWJzZXF1ZW50IHdyaXRlcyBmYXN0 IC0KIAkJCQkgICAgMTUgc2Vjb25kcyBpcyBwbGVudHkgKi8KIAl9CiAKQEAgLTEyNzYsNyArMTI3 Niw3IEBAIHJldHJ5OgogCQkJCQkJICAgb3Blbl9maWxlLT5uZXRmaWQsCiAJCQkJCQkgICBieXRl c190b193cml0ZSwgb2Zmc2V0LAogCQkJCQkJICAgJmJ5dGVzX3dyaXR0ZW4sIGlvdiwgbl9pb3Ys Ci0JCQkJCQkgICAxKTsKKwkJCQkJCSAgIENJRlNfTE9OR19PUCk7CiAJCQkJYXRvbWljX2RlYygm b3Blbl9maWxlLT53cnRQZW5kaW5nKTsKIAkJCQlpZiAocmMgfHwgYnl0ZXNfd3JpdHRlbiA8IGJ5 dGVzX3RvX3dyaXRlKSB7CiAJCQkJCWNFUlJPUigxLCgiV3JpdGUyIHJldCAlZCwgd3JpdHRlbiA9 ICVkIiwKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvc2Vzcy5jIGIvZnMvY2lmcy9zZXNzLmMKaW5kZXgg NzU4NDY0Ni4uOTgzNDg5NSAxMDA2NDQKLS0tIGEvZnMvY2lmcy9zZXNzLmMKKysrIGIvZnMvY2lm cy9zZXNzLmMKQEAgLTQ4OSw3ICs0ODksOCBAQCBDSUZTX1Nlc3NTZXR1cCh1bnNpZ25lZCBpbnQg eGlkLCBzdHJ1Y3QgY2lmc1Nlc0luZm8gKnNlcywgaW50IGZpcnN0X3RpbWUsCiAKIAlpb3ZbMV0u aW92X2Jhc2UgPSBzdHJfYXJlYTsKIAlpb3ZbMV0uaW92X2xlbiA9IGNvdW50OyAKLQlyYyA9IFNl bmRSZWNlaXZlMih4aWQsIHNlcywgaW92LCAyIC8qIG51bV9pb3ZlY3MgKi8sICZyZXNwX2J1Zl90 eXBlLCAwKTsKKwlyYyA9IFNlbmRSZWNlaXZlMih4aWQsIHNlcywgaW92LCAyIC8qIG51bV9pb3Zl Y3MgKi8sICZyZXNwX2J1Zl90eXBlLAorCQkJICBDSUZTX1NURF9PUCAvKiBub3QgbG9uZyAqLyB8 IENJRlNfTE9HX0VSUk9SKTsKIAkvKiBTTUIgcmVxdWVzdCBidWYgZnJlZWQgaW4gU2VuZFJlY2Vp dmUyICovCiAKIAljRllJKDEsKCJzc2V0dXAgcmMgZnJvbSBzZW5kcmVjdjIgaXMgJWQiLHJjKSk7 CmRpZmYgLS1naXQgYS9mcy9jaWZzL3RyYW5zcG9ydC5jIGIvZnMvY2lmcy90cmFuc3BvcnQuYwpp bmRleCA1ZjQ2ODQ1Li40NzM5NjJmIDEwMDY0NAotLS0gYS9mcy9jaWZzL3RyYW5zcG9ydC5jCisr KyBiL2ZzL2NpZnMvdHJhbnNwb3J0LmMKQEAgLTMwOCw3ICszMDgsNyBAQCBzbWJfc2VuZDIoc3Ry dWN0IHNvY2tldCAqc3NvY2tldCwgc3RydWN0IGt2ZWMgKmlvdiwgaW50IG5fdmVjLAogCiBzdGF0 aWMgaW50IHdhaXRfZm9yX2ZyZWVfcmVxdWVzdChzdHJ1Y3QgY2lmc1Nlc0luZm8gKnNlcywgY29u c3QgaW50IGxvbmdfb3ApCiB7Ci0JaWYobG9uZ19vcCA9PSAtMSkgeworCWlmIChsb25nX29wID09 IENJRlNfQVNZTkNfT1ApIHsKIAkJLyogb3Bsb2NrIGJyZWFrcyBtdXN0IG5vdCBiZSBoZWxkIHVw ICovCiAJCWF0b21pY19pbmMoJnNlcy0+c2VydmVyLT5pbkZsaWdodCk7CiAJfSBlbHNlIHsKQEAg LTMzNyw3ICszMzcsNyBAQCBzdGF0aWMgaW50IHdhaXRfZm9yX2ZyZWVfcmVxdWVzdChzdHJ1Y3Qg Y2lmc1Nlc0luZm8gKnNlcywgY29uc3QgaW50IGxvbmdfb3ApCiAJCQkJICAgdGhleSBhcmUgYWxs b3dlZCB0byBibG9jayBvbiBzZXJ2ZXIgKi8KIAkJCQkJCiAJCQkJLyogdXBkYXRlICMgb2YgcmVx dWVzdHMgb24gdGhlIHdpcmUgdG8gc2VydmVyICovCi0JCQkJaWYgKGxvbmdfb3AgPCAzKQorCQkJ CWlmIChsb25nX29wICE9IENJRlNfQkxPQ0tJTkdfT1ApCiAJCQkJCWF0b21pY19pbmMoJnNlcy0+ c2VydmVyLT5pbkZsaWdodCk7CiAJCQkJc3Bpbl91bmxvY2soJkdsb2JhbE1pZF9Mb2NrKTsKIAkJ CQlicmVhazsKQEAgLTQxNiwxNyArNDE2LDQ4IEBAIHN0YXRpYyBpbnQgd2FpdF9mb3JfcmVzcG9u c2Uoc3RydWN0IGNpZnNTZXNJbmZvICpzZXMsCiAJfQogfQogCisKKy8qCisgKgorICogU2VuZCBh biBTTUIgUmVxdWVzdC4gIE5vIHJlc3BvbnNlIGluZm8gKG90aGVyIHRoYW4gcmV0dXJuIGNvZGUp CisgKiBuZWVkcyB0byBiZSBwYXJzZWQuCisgKgorICogZmxhZ3MgaW5kaWNhdGUgdGhlIHR5cGUg b2YgcmVxdWVzdCBidWZmZXIgYW5kIGhvdyBsb25nIHRvIHdhaXQKKyAqIGFuZCB3aGV0aGVyIHRv IGxvZyBOVCBTVEFUVVMgY29kZSAoZXJyb3IpIGJlZm9yZSBtYXBwaW5nIGl0IHRvIFBPU0lYIGVy cm9yCisgKgorICovCitpbnQKK1NlbmRSZWNlaXZlTm9Sc3AoY29uc3QgdW5zaWduZWQgaW50IHhp ZCwgc3RydWN0IGNpZnNTZXNJbmZvICpzZXMsCisJCXN0cnVjdCBzbWJfaGRyICppbl9idWYsIGlu dCBmbGFncykKK3sKKwlpbnQgcmM7CisJc3RydWN0IGt2ZWMgaW92WzFdOworCWludCByZXNwX2J1 Zl90eXBlOworCisJaW92WzBdLmlvdl9iYXNlID0gKGNoYXIgKilpbl9idWY7CisJaW92WzBdLmlv dl9sZW4gPSBpbl9idWYtPnNtYl9idWZfbGVuZ3RoICsgNDsKKwlmbGFncyB8PSBDSUZTX05PX1JF U1A7CisJcmMgPSBTZW5kUmVjZWl2ZTIoeGlkLCBzZXMsIGlvdiwgMSwgJnJlc3BfYnVmX3R5cGUs IGZsYWdzKTsKKyNpZmRlZiBDT05GSUdfQ0lGU19ERUJVRzIKKwljRllJKDEsICgiU2VuZFJjdk5v UiBmbGFncyAlZCByYyAlZCIsIGZsYWdzLCByYykpOworI2VuZGlmCisJcmV0dXJuIHJjOworfQor CiBpbnQKIFNlbmRSZWNlaXZlMihjb25zdCB1bnNpZ25lZCBpbnQgeGlkLCBzdHJ1Y3QgY2lmc1Nl c0luZm8gKnNlcywgCiAJICAgICBzdHJ1Y3Qga3ZlYyAqaW92LCBpbnQgbl92ZWMsIGludCAqIHBS ZXNwQnVmVHlwZSAvKiByZXQgKi8sIAotCSAgICAgY29uc3QgaW50IGxvbmdfb3ApCisJICAgICBj b25zdCBpbnQgZmxhZ3MpCiB7CiAJaW50IHJjID0gMDsKKwlpbnQgbG9uZ19vcDsKIAl1bnNpZ25l ZCBpbnQgcmVjZWl2ZV9sZW47CiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0OwogCXN0cnVjdCBtaWRf cV9lbnRyeSAqbWlkUTsKIAlzdHJ1Y3Qgc21iX2hkciAqaW5fYnVmID0gaW92WzBdLmlvdl9iYXNl OwogCQorCWxvbmdfb3AgPSBmbGFncyAmIENJRlNfVElNRU9VVF9NQVNLOworCiAJKnBSZXNwQnVm VHlwZSA9IENJRlNfTk9fQlVGRkVSOyAgLyogbm8gcmVzcG9uc2UgYnVmIHlldCAqLwogCiAJaWYg KChzZXMgPT0gTlVMTCkgfHwgKHNlcy0+c2VydmVyID09IE5VTEwpKSB7CkBAIC00ODUsMTUgKzUx NiwyMiBAQCBTZW5kUmVjZWl2ZTIoY29uc3QgdW5zaWduZWQgaW50IHhpZCwgc3RydWN0IGNpZnNT ZXNJbmZvICpzZXMsCiAJaWYocmMgPCAwKQogCQlnb3RvIG91dDsKIAotCWlmIChsb25nX29wID09 IC0xKQotCQlnb3RvIG91dDsKLQllbHNlIGlmIChsb25nX29wID09IDIpIC8qIHdyaXRlcyBwYXN0 IGVuZCBvZiBmaWxlIGNhbiB0YWtlIGxvb25nIHRpbWUgKi8KKwlpZiAobG9uZ19vcCA9PSBDSUZT X1NURF9PUCkKKwkJdGltZW91dCA9IDE1ICogSFo7CisJZWxzZSBpZiAobG9uZ19vcCA9PSBDSUZT X1ZMT05HX09QKSAvKiBlLmcuIHNsb3cgd3JpdGVzIHBhc3QgRU9GICovCiAJCXRpbWVvdXQgPSAx ODAgKiBIWjsKLQllbHNlIGlmIChsb25nX29wID09IDEpCisJZWxzZSBpZiAobG9uZ19vcCA9PSBD SUZTX0xPTkdfT1ApCiAJCXRpbWVvdXQgPSA0NSAqIEhaOyAvKiBzaG91bGQgYmUgZ3JlYXRlciB0 aGFuIAogCQkJc2VydmVycyBvcGxvY2sgYnJlYWsgdGltZW91dCAoYWJvdXQgNDMgc2Vjb25kcykg Ki8KLQllbHNlCi0JCXRpbWVvdXQgPSAxNSAqIEhaOworCWVsc2UgaWYgKGxvbmdfb3AgPT0gQ0lG U19BU1lOQ19PUCkKKwkJZ290byBvdXQ7CisJZWxzZSBpZiAobG9uZ19vcCA9PSBDSUZTX0JMT0NL SU5HX09QKQorCQl0aW1lb3V0ID0gMHg3RkZGRkZGRjsgLyogIGxhcmdlLCBidXQgbm90IHNvIGxh cmdlIGFzIHRvIHdyYXAgKi8KKwllbHNlIHsKKwkJY0VSUk9SKDEsICgidW5rbm93biB0aW1lb3V0 IGZsYWcgJWQiLCBsb25nX29wKSk7CisJCXJjID0gLUVJTzsKKwkJZ290byBvdXQ7CisJfQogCiAJ Lyogd2FpdCBmb3IgMTUgc2Vjb25kcyBvciB1bnRpbCB3b2tlbiB1cCBkdWUgdG8gcmVzcG9uc2Ug YXJyaXZpbmcgb3IgCiAJICAgZHVlIHRvIGxhc3QgY29ubmVjdGlvbiB0byB0aGlzIHNlcnZlciBi ZWluZyB1bm1vdW50ZWQgKi8KQEAgLTU3OCw4ICs2MTYsMTAgQEAgU2VuZFJlY2VpdmUyKGNvbnN0 IHVuc2lnbmVkIGludCB4aWQsIHN0cnVjdCBjaWZzU2VzSW5mbyAqc2VzLAogCQkJICAgICgyICog bWlkUS0+cmVzcF9idWYtPldvcmRDb3VudCkgKyAyIC8qIGJjYyAqLyApCiAJCQkJQkNDKG1pZFEt PnJlc3BfYnVmKSA9IAogCQkJCQlsZTE2X3RvX2NwdShCQ0NfTEUobWlkUS0+cmVzcF9idWYpKTsK LQkJCW1pZFEtPnJlc3BfYnVmID0gTlVMTDsgIC8qIG1hcmsgaXQgc28gd2lsbCBub3QgYmUgZnJl ZWQKLQkJCQkJCWJ5IERlbGV0ZU1pZFFFbnRyeSAqLworCQkJaWYgKChmbGFncyAmIENJRlNfTk9f UkVTUCkgPT0gMCkKKwkJCQltaWRRLT5yZXNwX2J1ZiA9IE5VTEw7ICAvKiBtYXJrIGl0IHNvIGJ1 ZiB3aWxsCisJCQkJCQkJICAgbm90IGJlIGZyZWVkIGJ5CisJCQkJCQkJICAgRGVsZXRlTWlkUUVu dHJ5ICovCiAJCX0gZWxzZSB7CiAJCQlyYyA9IC1FSU87CiAJCQljRllJKDEsKCJCYWQgTUlEIHN0 YXRlPyIpKTsKQEAgLTY2NywxNyArNzA3LDI1IEBAIFNlbmRSZWNlaXZlKGNvbnN0IHVuc2lnbmVk IGludCB4aWQsIHN0cnVjdCBjaWZzU2VzSW5mbyAqc2VzLAogCWlmKHJjIDwgMCkKIAkJZ290byBv dXQ7CiAKLQlpZiAobG9uZ19vcCA9PSAtMSkKKwlpZiAobG9uZ19vcCA9PSBDSUZTX1NURF9PUCkK KwkJdGltZW91dCA9IDE1ICogSFo7CisJLyogd2FpdCBmb3IgMTUgc2Vjb25kcyBvciB1bnRpbCB3 b2tlbiB1cCBkdWUgdG8gcmVzcG9uc2UgYXJyaXZpbmcgb3IKKwkgICBkdWUgdG8gbGFzdCBjb25u ZWN0aW9uIHRvIHRoaXMgc2VydmVyIGJlaW5nIHVubW91bnRlZCAqLworCWVsc2UgaWYgKGxvbmdf b3AgPT0gQ0lGU19BU1lOQ19PUCkKIAkJZ290byBvdXQ7Ci0JZWxzZSBpZiAobG9uZ19vcCA9PSAy KSAvKiB3cml0ZXMgcGFzdCBlbmQgb2YgZmlsZSBjYW4gdGFrZSBsb29uZyB0aW1lICovCisJZWxz ZSBpZiAobG9uZ19vcCA9PSBDSUZTX1ZMT05HX09QKSAvKiB3cml0ZXMgcGFzdCBFT0YgY2FuIGJl IHNsb3cgKi8KIAkJdGltZW91dCA9IDE4MCAqIEhaOwotCWVsc2UgaWYgKGxvbmdfb3AgPT0gMSkK KwllbHNlIGlmIChsb25nX29wID09IENJRlNfTE9OR19PUCkKIAkJdGltZW91dCA9IDQ1ICogSFo7 IC8qIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gCiAJCQlzZXJ2ZXJzIG9wbG9jayBicmVhayB0aW1l b3V0IChhYm91dCA0MyBzZWNvbmRzKSAqLwotCWVsc2UKLQkJdGltZW91dCA9IDE1ICogSFo7Ci0J Lyogd2FpdCBmb3IgMTUgc2Vjb25kcyBvciB1bnRpbCB3b2tlbiB1cCBkdWUgdG8gcmVzcG9uc2Ug YXJyaXZpbmcgb3IgCi0JICAgZHVlIHRvIGxhc3QgY29ubmVjdGlvbiB0byB0aGlzIHNlcnZlciBi ZWluZyB1bm1vdW50ZWQgKi8KKwllbHNlIGlmIChsb25nX29wID09IENJRlNfQkxPQ0tJTkdfT1Ap CisJCXRpbWVvdXQgPSAweDdGRkZGRkZGOyAvKiBsYXJnZSBidXQgbm8gc28gbGFyZ2UgYXMgdG8g d3JhcCAqLworCWVsc2UgeworCQljRVJST1IoMSwgKCJ1bmtub3duIHRpbWVvdXQgZmxhZyAlZCIs IGxvbmdfb3ApKTsKKwkJcmMgPSAtRUlPOworCQlnb3RvIG91dDsKKwl9CisKIAlpZiAoc2lnbmFs X3BlbmRpbmcoY3VycmVudCkpIHsKIAkJLyogaWYgc2lnbmFsIHBlbmRpbmcgZG8gbm90IGhvbGQg dXAgdXNlciBmb3IgZnVsbCBzbWIgdGltZW91dAogCQlidXQgd2Ugc3RpbGwgZ2l2ZSByZXNwb25z ZSBhIGNoYW5jZSB0byBjb21wbGV0ZSAqLwpAQCAtODE3LDcgKzg2NSw3IEBAIHNlbmRfbG9ja19j YW5jZWwoY29uc3QgdW5zaWduZWQgaW50IHhpZCwgc3RydWN0IGNpZnNUY29uSW5mbyAqdGNvbiwK IAlwU01CLT5oZHIuTWlkID0gR2V0TmV4dE1pZChzZXMtPnNlcnZlcik7CiAKIAlyZXR1cm4gU2Vu ZFJlY2VpdmUoeGlkLCBzZXMsIGluX2J1Ziwgb3V0X2J1ZiwKLQkJCSZieXRlc19yZXR1cm5lZCwg MCk7CisJCQkmYnl0ZXNfcmV0dXJuZWQsIENJRlNfU1REX09QKTsKIH0KIAogaW50CkBAIC04NDks NyArODk3LDcgQEAgU2VuZFJlY2VpdmVCbG9ja2luZ0xvY2soY29uc3QgdW5zaWduZWQgaW50IHhp ZCwgc3RydWN0IGNpZnNUY29uSW5mbyAqdGNvbiwKIAkgICB0byB0aGUgc2FtZSBzZXJ2ZXIuIFdl IG1heSBtYWtlIHRoaXMgY29uZmlndXJhYmxlIGxhdGVyIG9yCiAJICAgdXNlIHNlcy0+bWF4UmVx ICovCiAKLQlyYyA9IHdhaXRfZm9yX2ZyZWVfcmVxdWVzdChzZXMsIDMpOworCXJjID0gd2FpdF9m b3JfZnJlZV9yZXF1ZXN0KHNlcywgQ0lGU19CTE9DS0lOR19PUCk7CiAJaWYgKHJjKQogCQlyZXR1 cm4gcmM7CiAKZGlmZiAtLWdpdCBhL21tL3NsYWIuYyBiL21tL3NsYWIuYwppbmRleCBiMzQ0ZTY3 Li40MmJmNDkzIDEwMDY0NAotLS0gYS9tbS9zbGFiLmMKKysrIGIvbW0vc2xhYi5jCkBAIC0yOTMz LDExICsyOTMzLDEwIEBAIHN0YXRpYyB2b2lkICpjYWNoZV9hbGxvY19yZWZpbGwoc3RydWN0IGtt ZW1fY2FjaGUgKmNhY2hlcCwgZ2ZwX3QgZmxhZ3MpCiAJc3RydWN0IGFycmF5X2NhY2hlICphYzsK IAlpbnQgbm9kZTsKIAotCW5vZGUgPSBudW1hX25vZGVfaWQoKTsKLQorcmV0cnk6CiAJY2hlY2tf aXJxX29mZigpOworCW5vZGUgPSBudW1hX25vZGVfaWQoKTsKIAlhYyA9IGNwdV9jYWNoZV9nZXQo Y2FjaGVwKTsKLXJldHJ5OgogCWJhdGNoY291bnQgPSBhYy0+YmF0Y2hjb3VudDsKIAlpZiAoIWFj LT50b3VjaGVkICYmIGJhdGNoY291bnQgPiBCQVRDSFJFRklMTF9MSU1JVCkgewogCQkvKgo= ------=_Part_14792_23016319.1206805226099-- -- 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/