From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilia Mirkin Subject: [PATCH] drm/nouveau/kms/gf119-: allow both 256- and 1024-sized LUTs to be used Date: Wed, 19 Jun 2019 20:11:23 -0400 Message-ID: <20190620001123.10962-1-imirkin@alum.mit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, bskeggs@redhat.com List-Id: dri-devel@lists.freedesktop.org VGhlIGhhcmR3YXJlIHN1cHBvcnRzIGVpdGhlciBzaXplLiBBbHNvIGFkZCBjaGVja3MgdG8gZW5z dXJlIHRoYXQgb25seQp0aGVzZSB0d28gc2l6ZXMgbWF5IGJlIHVzZWQgZm9yIHN1cHBseWluZyBh IExVVC4KCkZpbmFsbHksIGV4cGVyaW1lbnRhbCBldmlkZW5jZSBzdWdnZXN0cyB5b3UgY2FuJ3Qg bWl4IHNpemVzIGZvciBkZWdhbW1hCmFuZCBnYW1tYS4gRGlzYWxsb3cgdGhpcyBhcyB3ZWxsLgoK U2lnbmVkLW9mZi1ieTogSWxpYSBNaXJraW4gPGltaXJraW5AYWx1bS5taXQuZWR1PgotLS0KCk5v dGUgdGhhdCBhbGwgdGhlIGd2MTAwKyBjaGFuZ2VzIGFyZSBwdXJlbHkgc3BlY3VsYXRpdmUuCgpU ZXN0ZWQgb24gYSBHSzIwOCB3aXRoIDgtIGFuZCAxMC1icGMgZm9ybWF0cyAoYnV0IHN0aWxsIDhi cGMgb3V0cHV0KS4KClRoaXMgaXMgb24gdG9wIG9mIHRoZSBwYXRjaGVzIHdoaWNoIEkndmUgc2Vu dCBpbiB0aGUgcGFzdC4gWW91J2xsIGVuZCB1cAp3aXRoIHNvbWUgY29uZmxpY3RzLCBJIHN1c3Bl Y3QsIGJ1dCBJIGNhbid0IHJlYmFzZSBlYXNpbHkgb24geW91ciBjaGFuZ2VzCnNpbmNlIHRoZXkn cmUgbm90IGluIGEgbGludXggdHJlZS4KCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1 MC9iYXNlOTA3Yy5jIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAv Y29yZWM1N2QuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFk LmMgICAgIHwgMjYgKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnY1MC9oZWFkLmggICAgIHwgMTAgKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L2Rpc3BudjUwL2hlYWQ1MDdkLmMgfCAxMCArKysrKysrLQogZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvZGlzcG52NTAvaGVhZDgyN2QuYyB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnY1MC9oZWFkOTA3ZC5jIHwgMTIgKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvZGlzcG52NTAvaGVhZDkxN2QuYyB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnY1MC9oZWFkYzM3ZC5jIHwgIDYgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L2Rpc3BudjUwL2hlYWRjNTdkLmMgfCAgOSArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnY1MC9sdXQuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rp c3BudjUwL3duZHcuYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52 NTAvd25kdy5oICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC93 bmR3YzM3ZS5jIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25k d2M1N2UuYyB8ICAzICstLQogMTUgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMjYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52 NTAvYmFzZTkwN2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Jhc2U5MDdj LmMKaW5kZXggZmQwYzFkODQ3MzBiLi43NmRiNDQ4MjA1ZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Jhc2U5MDdjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvZGlzcG52NTAvYmFzZTkwN2MuYwpAQCAtNzYsOSArNzYsOSBAQCBiYXNlOTA3Y194 bHV0X3NldChzdHJ1Y3QgbnY1MF93bmR3ICp3bmR3LCBzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFz eXcpCiB9CiAKIHN0YXRpYyB2b2lkCi1iYXNlOTA3Y19pbHV0KHN0cnVjdCBudjUwX3duZHcgKndu ZHcsIHN0cnVjdCBudjUwX3duZHdfYXRvbSAqYXN5dykKK2Jhc2U5MDdjX2lsdXQoc3RydWN0IG52 NTBfd25kdyAqd25kdywgc3RydWN0IG52NTBfd25kd19hdG9tICphc3l3LCBpbnQgc2l6ZSkKIHsK LQlhc3l3LT54bHV0LmkubW9kZSA9IDc7CisJYXN5dy0+eGx1dC5pLm1vZGUgPSBzaXplID09IDEw MjQgPyA0IDogNzsKIAlhc3l3LT54bHV0LmkuZW5hYmxlID0gMjsKIAlhc3l3LT54bHV0LmkubG9h ZCA9IGhlYWQ5MDdkX29sdXRfbG9hZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L2Rpc3BudjUwL2NvcmVjNTdkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNw bnY1MC9jb3JlYzU3ZC5jCmluZGV4IGI2MDZkNjhjZGExMC4uNzAwZGY0NzYyYjZkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9jb3JlYzU3ZC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2NvcmVjNTdkLmMKQEAgLTM2LDcgKzM2LDcg QEAgY29yZWM1N2RfaW5pdChzdHJ1Y3QgbnY1MF9jb3JlICpjb3JlKQogCQkJZXZvX2RhdGEocHVz aCwgMHgwMDAwMDAwZik7CiAJCQlldm9fZGF0YShwdXNoLCAweDAwMDAwMDAwKTsKIAkJCWV2b19t dGhkKHB1c2gsIDB4MTAxMCArIChpICogMHgwODApLCAxKTsKLQkJCWV2b19kYXRhKHB1c2gsIDB4 MDAxMTdmZmYpOworCQkJZXZvX2RhdGEocHVzaCwgMHgwMDEyN2ZmZik7CiAJCX0KIAkJZXZvX210 aGQocHVzaCwgMHgwMjAwLCAxKTsKIAkJZXZvX2RhdGEocHVzaCwgMHgwMDAwMDAwMSk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMgYi9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMKaW5kZXggOGNhYzhiNzI0YjcwLi40MDdj OTFiZDA5YjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hl YWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkLmMKQEAgLTE5 Myw3ICsxOTMsMjMgQEAgbnY1MF9oZWFkX2F0b21pY19jaGVja19sdXQoc3RydWN0IG52NTBfaGVh ZCAqaGVhZCwKIAkJCSAgIHN0cnVjdCBudjUwX2hlYWRfYXRvbSAqYXN5aCkKIHsKIAlzdHJ1Y3Qg bnY1MF9kaXNwICpkaXNwID0gbnY1MF9kaXNwKGhlYWQtPmJhc2UuYmFzZS5kZXYpOworCXN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqaWx1dCA9IGFzeWgtPnN0YXRlLmRlZ2FtbWFfbHV0OwogCXN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqb2x1dCA9IGFzeWgtPnN0YXRlLmdhbW1hX2x1dDsKKwlp bnQgaWx1dF9zaXplID0gaWx1dCA/IGRybV9jb2xvcl9sdXRfc2l6ZShpbHV0KSA6IDA7CisJaW50 IG9sdXRfc2l6ZSA9IG9sdXQgPyBkcm1fY29sb3JfbHV0X3NpemUob2x1dCkgOiAwOworCisJaWYg KCFoZWFkLT5mdW5jLT5sdXRfY2hrKGlsdXRfc2l6ZSkpIHsKKwkJRFJNX0RFQlVHX0tNUygiSW52 YWxpZCBERUdBTU1BX0xVVCBzaXplOiAlZFxuIiwgaWx1dF9zaXplKTsKKwkJcmV0dXJuIC1FSU5W QUw7CisJfQorCWlmICghaGVhZC0+ZnVuYy0+bHV0X2NoayhvbHV0X3NpemUpKSB7CisJCURSTV9E RUJVR19LTVMoIkludmFsaWQgR0FNTUFfTFVUIHNpemU6ICVkXG4iLCBvbHV0X3NpemUpOworCQly ZXR1cm4gLUVJTlZBTDsKKwl9CisJaWYgKGlsdXQgJiYgb2x1dCAmJiBpbHV0X3NpemUgIT0gb2x1 dF9zaXplKSB7CisJCURSTV9ERUJVR19LTVMoIkRFR0FNTUFfTFVUIHNpemUgKCVkKSBtdXN0IG1h dGNoIEdBTU1BX0xVVCBzaXplICglZClcbiIsCisJCQkgICAgICBpbHV0X3NpemUsIG9sdXRfc2l6 ZSk7CisJfQogCiAJLyogRGV0ZXJtaW5lIHdoZXRoZXIgY29yZSBvdXRwdXQgTFVUIHNob3VsZCBi ZSBlbmFibGVkLiAqLwogCWlmIChvbHV0KSB7CkBAIC0yMTcsNyArMjMzLDcgQEAgbnY1MF9oZWFk X2F0b21pY19jaGVja19sdXQoc3RydWN0IG52NTBfaGVhZCAqaGVhZCwKIAogCWFzeWgtPm9sdXQu aGFuZGxlID0gZGlzcC0+Y29yZS0+Y2hhbi52cmFtLmhhbmRsZTsKIAlhc3loLT5vbHV0LmJ1ZmZl ciA9ICFhc3loLT5vbHV0LmJ1ZmZlcjsKLQloZWFkLT5mdW5jLT5vbHV0KGhlYWQsIGFzeWgpOwor CWhlYWQtPmZ1bmMtPm9sdXQoaGVhZCwgYXN5aCwgb2x1dF9zaXplKTsKIAlyZXR1cm4gMDsKIH0K IApAQCAtNDkxLDEyICs1MDcsMTQgQEAgbnY1MF9oZWFkX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBpbnQgaW5kZXgpCiAJZHJtX2NydGNfaW5pdF93aXRoX3BsYW5lcyhkZXYsIGNydGMs ICZ3bmR3LT5wbGFuZSwgJmN1cnMtPnBsYW5lLAogCQkJCSAgJm52NTBfaGVhZF9mdW5jLCAiaGVh ZC0lZCIsIGhlYWQtPmJhc2UuaW5kZXgpOwogCWRybV9jcnRjX2hlbHBlcl9hZGQoY3J0YywgJm52 NTBfaGVhZF9oZWxwKTsKLQlkcm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKGNydGMsIDI1Nik7 CisJZHJtX21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZShjcnRjLCBoZWFkLT5mdW5jLT5sdXRfc2l6 ZSk7CiAJaWYgKGRpc3AtPmRpc3AtPm9iamVjdC5vY2xhc3MgPj0gR0YxMTBfRElTUCAmJgogCSAg ICBkaXNwLT5kaXNwLT5vYmplY3Qub2NsYXNzIDwgR1YxMDBfRElTUCkKLQkJZHJtX2NydGNfZW5h YmxlX2NvbG9yX21nbXQoY3J0YywgMjU2LCB0cnVlLCAyNTYpOworCQlkcm1fY3J0Y19lbmFibGVf Y29sb3JfbWdtdChjcnRjLCBoZWFkLT5mdW5jLT5sdXRfc2l6ZSwgdHJ1ZSwKKwkJCQkJICAgaGVh ZC0+ZnVuYy0+bHV0X3NpemUpOwogCWVsc2UKLQkJZHJtX2NydGNfZW5hYmxlX2NvbG9yX21nbXQo Y3J0YywgMCwgZmFsc2UsIDI1Nik7CisJCWRybV9jcnRjX2VuYWJsZV9jb2xvcl9tZ210KGNydGMs IDAsIGZhbHNlLAorCQkJCQkgICBoZWFkLT5mdW5jLT5sdXRfc2l6ZSk7CiAKIAlpZiAoaGVhZC0+ ZnVuYy0+b2x1dF9zZXQpIHsKIAkJcmV0ID0gbnY1MF9sdXRfaW5pdChkaXNwLCAmZHJtLT5jbGll bnQubW11LCAmaGVhZC0+b2x1dCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnY1MC9oZWFkLmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFk LmgKaW5kZXggZDFjMDAyZjUzNGQ0Li5jZWZlNTg5MTM2ZjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9kaXNwbnY1MC9oZWFkLmgKQEAgLTIwLDEwICsyMCwxMiBAQCB2b2lkIG52NTBfaGVhZF9m bHVzaF9jbHIoc3RydWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKiwgYm9v bCB5KTsKIHN0cnVjdCBudjUwX2hlYWRfZnVuYyB7CiAJdm9pZCAoKnZpZXcpKHN0cnVjdCBudjUw X2hlYWQgKiwgc3RydWN0IG52NTBfaGVhZF9hdG9tICopOwogCXZvaWQgKCptb2RlKShzdHJ1Y3Qg bnY1MF9oZWFkICosIHN0cnVjdCBudjUwX2hlYWRfYXRvbSAqKTsKLQl2b2lkICgqb2x1dCkoc3Ry dWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKik7CisJdm9pZCAoKm9sdXQp KHN0cnVjdCBudjUwX2hlYWQgKiwgc3RydWN0IG52NTBfaGVhZF9hdG9tICosIGludCk7CiAJYm9v bCBvbHV0X2lkZW50aXR5OwogCXZvaWQgKCpvbHV0X3NldCkoc3RydWN0IG52NTBfaGVhZCAqLCBz dHJ1Y3QgbnY1MF9oZWFkX2F0b20gKik7CiAJdm9pZCAoKm9sdXRfY2xyKShzdHJ1Y3QgbnY1MF9o ZWFkICopOworCWludCAgbHV0X3NpemU7CisJYm9vbCAoKmx1dF9jaGspKGludCBzaXplKTsKIAl2 b2lkICgqY29yZV9jYWxjKShzdHJ1Y3QgbnY1MF9oZWFkICosIHN0cnVjdCBudjUwX2hlYWRfYXRv bSAqKTsKIAl2b2lkICgqY29yZV9zZXQpKHN0cnVjdCBudjUwX2hlYWQgKiwgc3RydWN0IG52NTBf aGVhZF9hdG9tICopOwogCXZvaWQgKCpjb3JlX2Nscikoc3RydWN0IG52NTBfaGVhZCAqKTsKQEAg LTQzLDcgKzQ1LDggQEAgc3RydWN0IG52NTBfaGVhZF9mdW5jIHsKIGV4dGVybiBjb25zdCBzdHJ1 Y3QgbnY1MF9oZWFkX2Z1bmMgaGVhZDUwN2Q7CiB2b2lkIGhlYWQ1MDdkX3ZpZXcoc3RydWN0IG52 NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKik7CiB2b2lkIGhlYWQ1MDdkX21vZGUo c3RydWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKik7Ci12b2lkIGhlYWQ1 MDdkX29sdXQoc3RydWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKik7Cit2 b2lkIGhlYWQ1MDdkX29sdXQoc3RydWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0 b20gKiwgaW50KTsKK2Jvb2wgaGVhZDUwN2RfbHV0X2NoayhpbnQpOwogdm9pZCBoZWFkNTA3ZF9j b3JlX2NhbGMoc3RydWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKik7CiB2 b2lkIGhlYWQ1MDdkX2NvcmVfY2xyKHN0cnVjdCBudjUwX2hlYWQgKik7CiBpbnQgaGVhZDUwN2Rf Y3Vyc19sYXlvdXQoc3RydWN0IG52NTBfaGVhZCAqLCBzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKiwK QEAgLTYwLDkgKzYzLDEwIEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgbnY1MF9oZWFkX2Z1bmMgaGVh ZDgyN2Q7CiBleHRlcm4gY29uc3Qgc3RydWN0IG52NTBfaGVhZF9mdW5jIGhlYWQ5MDdkOwogdm9p ZCBoZWFkOTA3ZF92aWV3KHN0cnVjdCBudjUwX2hlYWQgKiwgc3RydWN0IG52NTBfaGVhZF9hdG9t ICopOwogdm9pZCBoZWFkOTA3ZF9tb2RlKHN0cnVjdCBudjUwX2hlYWQgKiwgc3RydWN0IG52NTBf aGVhZF9hdG9tICopOwotdm9pZCBoZWFkOTA3ZF9vbHV0KHN0cnVjdCBudjUwX2hlYWQgKiwgc3Ry dWN0IG52NTBfaGVhZF9hdG9tICopOwordm9pZCBoZWFkOTA3ZF9vbHV0KHN0cnVjdCBudjUwX2hl YWQgKiwgc3RydWN0IG52NTBfaGVhZF9hdG9tICosIGludCk7CiB2b2lkIGhlYWQ5MDdkX29sdXRf c2V0KHN0cnVjdCBudjUwX2hlYWQgKiwgc3RydWN0IG52NTBfaGVhZF9hdG9tICopOwogdm9pZCBo ZWFkOTA3ZF9vbHV0X2NscihzdHJ1Y3QgbnY1MF9oZWFkICopOworYm9vbCBoZWFkOTA3ZF9sdXRf Y2hrKGludCk7CiB2b2lkIGhlYWQ5MDdkX2NvcmVfc2V0KHN0cnVjdCBudjUwX2hlYWQgKiwgc3Ry dWN0IG52NTBfaGVhZF9hdG9tICopOwogdm9pZCBoZWFkOTA3ZF9jb3JlX2NscihzdHJ1Y3QgbnY1 MF9oZWFkICopOwogdm9pZCBoZWFkOTA3ZF9jdXJzX3NldChzdHJ1Y3QgbnY1MF9oZWFkICosIHN0 cnVjdCBudjUwX2hlYWRfYXRvbSAqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L2Rpc3BudjUwL2hlYWQ1MDdkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1 MC9oZWFkNTA3ZC5jCmluZGV4IDc1NjFiZTVjYTcwNy4uNTlmMDZjZWJmY2U2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkNTA3ZC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQ1MDdkLmMKQEAgLTI3Miw3ICsyNzIsNyBA QCBoZWFkNTA3ZF9vbHV0X2xvYWQoc3RydWN0IGRybV9jb2xvcl9sdXQgKmluLCBpbnQgc2l6ZSwg dm9pZCBfX2lvbWVtICptZW0pCiB9CiAKIHZvaWQKLWhlYWQ1MDdkX29sdXQoc3RydWN0IG52NTBf aGVhZCAqaGVhZCwgc3RydWN0IG52NTBfaGVhZF9hdG9tICphc3loKQoraGVhZDUwN2Rfb2x1dChz dHJ1Y3QgbnY1MF9oZWFkICpoZWFkLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKmFzeWgsIGludCBz aXplKQogewogCWlmIChhc3loLT5iYXNlLmNwcCA9PSAxKQogCQlhc3loLT5vbHV0Lm1vZGUgPSAw OwpAQCAtMjgyLDYgKzI4MiwxMiBAQCBoZWFkNTA3ZF9vbHV0KHN0cnVjdCBudjUwX2hlYWQgKmhl YWQsIHN0cnVjdCBudjUwX2hlYWRfYXRvbSAqYXN5aCkKIAlhc3loLT5vbHV0LmxvYWQgPSBoZWFk NTA3ZF9vbHV0X2xvYWQ7CiB9CiAKK2Jvb2wKK2hlYWQ1MDdkX2x1dF9jaGsoaW50IHNpemUpCit7 CisJcmV0dXJuIHNpemUgPT0gMCB8fCBzaXplID09IDI1NjsKK30KKwogdm9pZAogaGVhZDUwN2Rf bW9kZShzdHJ1Y3QgbnY1MF9oZWFkICpoZWFkLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKmFzeWgp CiB7CkBAIC0zMzAsNiArMzM2LDggQEAgaGVhZDUwN2QgPSB7CiAJLm9sdXQgPSBoZWFkNTA3ZF9v bHV0LAogCS5vbHV0X3NldCA9IGhlYWQ1MDdkX29sdXRfc2V0LAogCS5vbHV0X2NsciA9IGhlYWQ1 MDdkX29sdXRfY2xyLAorCS5sdXRfc2l6ZSA9IDI1NiwKKwkubHV0X2NoayAgPSBoZWFkNTA3ZF9s dXRfY2hrLAogCS5jb3JlX2NhbGMgPSBoZWFkNTA3ZF9jb3JlX2NhbGMsCiAJLmNvcmVfc2V0ID0g aGVhZDUwN2RfY29yZV9zZXQsCiAJLmNvcmVfY2xyID0gaGVhZDUwN2RfY29yZV9jbHIsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkODI3ZC5jIGIvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvaGVhZDgyN2QuYwppbmRleCBhZjVlN2JkNTk3 OGIuLmQ2OWU4NjcxYjc0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlz cG52NTAvaGVhZDgyN2QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9o ZWFkODI3ZC5jCkBAIC0xMTAsNiArMTEwLDggQEAgaGVhZDgyN2QgPSB7CiAJLm9sdXQgPSBoZWFk NTA3ZF9vbHV0LAogCS5vbHV0X3NldCA9IGhlYWQ4MjdkX29sdXRfc2V0LAogCS5vbHV0X2NsciA9 IGhlYWQ4MjdkX29sdXRfY2xyLAorCS5sdXRfc2l6ZSA9IDI1NiwKKwkubHV0X2NoayAgPSBoZWFk NTA3ZF9sdXRfY2hrLAogCS5jb3JlX2NhbGMgPSBoZWFkNTA3ZF9jb3JlX2NhbGMsCiAJLmNvcmVf c2V0ID0gaGVhZDgyN2RfY29yZV9zZXQsCiAJLmNvcmVfY2xyID0gaGVhZDUwN2RfY29yZV9jbHIs CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkOTA3ZC5j IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvaGVhZDkwN2QuYwppbmRleCBjMmQw OWRkOTdiMWYuLmM1MjNkM2MzZmViNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvZGlzcG52NTAvaGVhZDkwN2QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNw bnY1MC9oZWFkOTA3ZC5jCkBAIC0yMzEsMTIgKzIzMSwxOCBAQCBoZWFkOTA3ZF9vbHV0X2xvYWQo c3RydWN0IGRybV9jb2xvcl9sdXQgKmluLCBpbnQgc2l6ZSwgdm9pZCBfX2lvbWVtICptZW0pCiB9 CiAKIHZvaWQKLWhlYWQ5MDdkX29sdXQoc3RydWN0IG52NTBfaGVhZCAqaGVhZCwgc3RydWN0IG52 NTBfaGVhZF9hdG9tICphc3loKQoraGVhZDkwN2Rfb2x1dChzdHJ1Y3QgbnY1MF9oZWFkICpoZWFk LCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKmFzeWgsIGludCBzaXplKQogewotCWFzeWgtPm9sdXQu bW9kZSA9IDc7CisJYXN5aC0+b2x1dC5tb2RlID0gc2l6ZSA9PSAxMDI0ID8gNCA6IDc7CiAJYXN5 aC0+b2x1dC5sb2FkID0gaGVhZDkwN2Rfb2x1dF9sb2FkOwogfQogCitib29sCitoZWFkOTA3ZF9s dXRfY2hrKGludCBzaXplKQoreworCXJldHVybiBzaXplID09IDAgfHwgc2l6ZSA9PSAyNTYgfHwg c2l6ZSA9PSAxMDI0OworfQorCiB2b2lkCiBoZWFkOTA3ZF9tb2RlKHN0cnVjdCBudjUwX2hlYWQg KmhlYWQsIHN0cnVjdCBudjUwX2hlYWRfYXRvbSAqYXN5aCkKIHsKQEAgLTI4Nyw2ICsyOTMsOCBA QCBoZWFkOTA3ZCA9IHsKIAkub2x1dCA9IGhlYWQ5MDdkX29sdXQsCiAJLm9sdXRfc2V0ID0gaGVh ZDkwN2Rfb2x1dF9zZXQsCiAJLm9sdXRfY2xyID0gaGVhZDkwN2Rfb2x1dF9jbHIsCisJLmx1dF9z aXplID0gMTAyNCwKKwkubHV0X2NoayA9IGhlYWQ5MDdkX2x1dF9jaGssCiAJLmNvcmVfY2FsYyA9 IGhlYWQ1MDdkX2NvcmVfY2FsYywKIAkuY29yZV9zZXQgPSBoZWFkOTA3ZF9jb3JlX3NldCwKIAku Y29yZV9jbHIgPSBoZWFkOTA3ZF9jb3JlX2NsciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQ5MTdkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9k aXNwbnY1MC9oZWFkOTE3ZC5jCmluZGV4IDMwM2RmODQ1OWNhOC4uN2U3OWZhYjUyMTA0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkOTE3ZC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWQ5MTdkLmMKQEAgLTg1LDYgKzg1 LDggQEAgaGVhZDkxN2QgPSB7CiAJLm9sdXQgPSBoZWFkOTA3ZF9vbHV0LAogCS5vbHV0X3NldCA9 IGhlYWQ5MDdkX29sdXRfc2V0LAogCS5vbHV0X2NsciA9IGhlYWQ5MDdkX29sdXRfY2xyLAorCS5s dXRfc2l6ZSA9IDEwMjQsCisJLmx1dF9jaGsgPSBoZWFkOTA3ZF9sdXRfY2hrLAogCS5jb3JlX2Nh bGMgPSBoZWFkNTA3ZF9jb3JlX2NhbGMsCiAJLmNvcmVfc2V0ID0gaGVhZDkwN2RfY29yZV9zZXQs CiAJLmNvcmVfY2xyID0gaGVhZDkwN2RfY29yZV9jbHIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkYzM3ZC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvZGlzcG52NTAvaGVhZGMzN2QuYwppbmRleCBlZjZhOTlkOTVhOWMuLjk2ZWY3NDBjNmE5NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvaGVhZGMzN2QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkYzM3ZC5jCkBAIC0xNDks MTAgKzE0OSwxMCBAQCBoZWFkYzM3ZF9vbHV0X3NldChzdHJ1Y3QgbnY1MF9oZWFkICpoZWFkLCBz dHJ1Y3QgbnY1MF9oZWFkX2F0b20gKmFzeWgpCiB9CiAKIHN0YXRpYyB2b2lkCi1oZWFkYzM3ZF9v bHV0KHN0cnVjdCBudjUwX2hlYWQgKmhlYWQsIHN0cnVjdCBudjUwX2hlYWRfYXRvbSAqYXN5aCkK K2hlYWRjMzdkX29sdXQoc3RydWN0IG52NTBfaGVhZCAqaGVhZCwgc3RydWN0IG52NTBfaGVhZF9h dG9tICphc3loLCBpbnQgc2l6ZSkKIHsKIAlhc3loLT5vbHV0Lm1vZGUgPSAyOwotCWFzeWgtPm9s dXQuc2l6ZSA9IDA7CisJYXN5aC0+b2x1dC5zaXplID0gc2l6ZSA9PSAxMDI0ID8gMiA6IDA7CiAJ YXN5aC0+b2x1dC5yYW5nZSA9IDA7CiAJYXN5aC0+b2x1dC5vdXRwdXRfbW9kZSA9IDE7CiAJYXN5 aC0+b2x1dC5sb2FkID0gaGVhZDkwN2Rfb2x1dF9sb2FkOwpAQCAtMjAzLDYgKzIwMyw4IEBAIGhl YWRjMzdkID0gewogCS5vbHV0ID0gaGVhZGMzN2Rfb2x1dCwKIAkub2x1dF9zZXQgPSBoZWFkYzM3 ZF9vbHV0X3NldCwKIAkub2x1dF9jbHIgPSBoZWFkYzM3ZF9vbHV0X2NsciwKKwkubHV0X3NpemUg PSAxMDI0LAorCS5sdXRfY2hrID0gaGVhZDkwN2RfbHV0X2NoaywKIAkuY3Vyc19sYXlvdXQgPSBo ZWFkOTE3ZF9jdXJzX2xheW91dCwKIAkuY3Vyc19mb3JtYXQgPSBoZWFkYzM3ZF9jdXJzX2Zvcm1h dCwKIAkuY3Vyc19zZXQgPSBoZWFkYzM3ZF9jdXJzX3NldCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWRjNTdkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9kaXNwbnY1MC9oZWFkYzU3ZC5jCmluZGV4IDMyYTdmOWU4NWZiMC4uMGQ5MWJhODAwMGNj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9oZWFkYzU3ZC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2hlYWRjNTdkLmMKQEAgLTE1 MiwxMyArMTUyLDEyIEBAIGhlYWRjNTdkX29sdXRfbG9hZChzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAq aW4sIGludCBzaXplLCB2b2lkIF9faW9tZW0gKm1lbSkKIH0KIAogdm9pZAotaGVhZGM1N2Rfb2x1 dChzdHJ1Y3QgbnY1MF9oZWFkICpoZWFkLCBzdHJ1Y3QgbnY1MF9oZWFkX2F0b20gKmFzeWgpCito ZWFkYzU3ZF9vbHV0KHN0cnVjdCBudjUwX2hlYWQgKmhlYWQsIHN0cnVjdCBudjUwX2hlYWRfYXRv bSAqYXN5aCwgaW50IHNpemUpCiB7CiAJYXN5aC0+b2x1dC5tb2RlID0gMjsgLyogRElSRUNUMTAg Ki8KIAlhc3loLT5vbHV0LnNpemUgPSA0IC8qIFZTUyBoZWFkZXIuICovICsgMTAyNCArIDEgLyog RW50cmllcy4gKi87CiAJYXN5aC0+b2x1dC5vdXRwdXRfbW9kZSA9IDE7IC8qIElOVEVSUE9MQVRF X0VOQUJMRS4gKi8KLQlpZiAoYXN5aC0+c3RhdGUuZ2FtbWFfbHV0ICYmCi0JICAgIGFzeWgtPnN0 YXRlLmdhbW1hX2x1dC0+bGVuZ3RoIC8gc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSA9PSAy NTYpCisJaWYgKHNpemUgPT0gMjU2KQogCQlhc3loLT5vbHV0LmxvYWQgPSBoZWFkYzU3ZF9vbHV0 X2xvYWRfODsKIAllbHNlCiAJCWFzeWgtPm9sdXQubG9hZCA9IGhlYWRjNTdkX29sdXRfbG9hZDsK QEAgLTE4Myw3ICsxODIsNyBAQCBoZWFkYzU3ZF9tb2RlKHN0cnVjdCBudjUwX2hlYWQgKmhlYWQs IHN0cnVjdCBudjUwX2hlYWRfYXRvbSAqYXN5aCkKIAkJZXZvX2RhdGEocHVzaCwgbS0+Y2xvY2sg KiAxMDAwKTsKIAkJLypYWFg6IEhFQURfVVNBR0VfQk9VTkRTLCBkb2Vzbid0IGJlbG9uZyBoZXJl LiAqLwogCQlldm9fbXRoZChwdXNoLCAweDIwMzAgKyAoaGVhZC0+YmFzZS5pbmRleCAqIDB4NDAw KSwgMSk7Ci0JCWV2b19kYXRhKHB1c2gsIDB4MDAwMDEwMTQpOworCQlldm9fZGF0YShwdXNoLCAw eDAwMDAxMDI0KTsKIAkJZXZvX2tpY2socHVzaCwgY29yZSk7CiAJfQogfQpAQCAtMTk2LDYgKzE5 NSw4IEBAIGhlYWRjNTdkID0gewogCS5vbHV0X2lkZW50aXR5ID0gdHJ1ZSwKIAkub2x1dF9zZXQg PSBoZWFkYzU3ZF9vbHV0X3NldCwKIAkub2x1dF9jbHIgPSBoZWFkYzU3ZF9vbHV0X2NsciwKKwku bHV0X3NpemUgPSAxMDI0LAorCS5sdXRfY2hrID0gaGVhZDkwN2RfbHV0X2NoaywKIAkuY3Vyc19s YXlvdXQgPSBoZWFkOTE3ZF9jdXJzX2xheW91dCwKIAkuY3Vyc19mb3JtYXQgPSBoZWFkYzM3ZF9j dXJzX2Zvcm1hdCwKIAkuY3Vyc19zZXQgPSBoZWFkYzM3ZF9jdXJzX3NldCwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2x1dC5jIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvZGlzcG52NTAvbHV0LmMKaW5kZXggOTk0ZGVmNGZkNTFhLi40ZTk1Y2E1NjA0YWIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2x1dC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2x1dC5jCkBAIC00OSw3ICs0OSw3IEBA IG52NTBfbHV0X2xvYWQoc3RydWN0IG52NTBfbHV0ICpsdXQsIGludCBidWZmZXIsIHN0cnVjdCBk cm1fcHJvcGVydHlfYmxvYiAqYmxvYiwKIAkJCWt2ZnJlZShpbik7CiAJCX0KIAl9IGVsc2Ugewot CQlsb2FkKGluLCBibG9iLT5sZW5ndGggLyBzaXplb2YoKmluKSwgbWVtKTsKKwkJbG9hZChpbiwg ZHJtX2NvbG9yX2x1dF9zaXplKGJsb2IpLCBtZW0pOwogCX0KIAogCXJldHVybiBhZGRyOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25kdy5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25kdy5jCmluZGV4IGNiOTRiYzlmODIwZi4uMWVj Y2UxNzUwYTc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC93 bmR3LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25kdy5jCkBAIC0z MzIsNyArMzMyLDcgQEAgbnY1MF93bmR3X2F0b21pY19jaGVja19sdXQoc3RydWN0IG52NTBfd25k dyAqd25kdywKIAkvKiBSZWNhbGN1bGF0ZSBMVVQgc3RhdGUuICovCiAJbWVtc2V0KCZhc3l3LT54 bHV0LCAweDAwLCBzaXplb2YoYXN5dy0+eGx1dCkpOwogCWlmICgoYXN5dy0+aWx1dCA9IHduZHct PmZ1bmMtPmlsdXQgPyBpbHV0IDogTlVMTCkpIHsKLQkJd25kdy0+ZnVuYy0+aWx1dCh3bmR3LCBh c3l3KTsKKwkJd25kdy0+ZnVuYy0+aWx1dCh3bmR3LCBhc3l3LCBkcm1fY29sb3JfbHV0X3NpemUo aWx1dCkpOwogCQlhc3l3LT54bHV0LmhhbmRsZSA9IHduZHctPnduZHcudnJhbS5oYW5kbGU7CiAJ CWFzeXctPnhsdXQuaS5idWZmZXIgPSAhYXN5dy0+eGx1dC5pLmJ1ZmZlcjsKIAkJYXN5dy0+c2V0 LnhsdXQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52 NTAvd25kdy5oIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25kdy5oCmluZGV4 IDFlNzgxZDgwYzk5MC4uMGE0Y2Y2OTAzYjY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9kaXNwbnY1MC93bmR3LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlz cG52NTAvd25kdy5oCkBAIC02NCw3ICs2NCw3IEBAIHN0cnVjdCBudjUwX3duZHdfZnVuYyB7CiAJ dm9pZCAoKm50ZnlfY2xyKShzdHJ1Y3QgbnY1MF93bmR3ICopOwogCWludCAoKm50Znlfd2FpdF9i ZWd1bikoc3RydWN0IG5vdXZlYXVfYm8gKiwgdTMyIG9mZnNldCwKIAkJCSAgICAgICBzdHJ1Y3Qg bnZpZl9kZXZpY2UgKik7Ci0Jdm9pZCAoKmlsdXQpKHN0cnVjdCBudjUwX3duZHcgKiwgc3RydWN0 IG52NTBfd25kd19hdG9tICopOworCXZvaWQgKCppbHV0KShzdHJ1Y3QgbnY1MF93bmR3ICosIHN0 cnVjdCBudjUwX3duZHdfYXRvbSAqLCBpbnQpOwogCXZvaWQgKCpjc2MpKHN0cnVjdCBudjUwX3du ZHcgKiwgc3RydWN0IG52NTBfd25kd19hdG9tICosCiAJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nv bG9yX2N0bSAqKTsKIAl2b2lkICgqY3NjX3NldCkoc3RydWN0IG52NTBfd25kdyAqLCBzdHJ1Y3Qg bnY1MF93bmR3X2F0b20gKik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9k aXNwbnY1MC93bmR3YzM3ZS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25k d2MzN2UuYwppbmRleCA4MjZkMWQ3NjBkM2EuLjc3NmNkYTdlNTM3NyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvd25kd2MzN2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9kaXNwbnY1MC93bmR3YzM3ZS5jCkBAIC01NSwxMCArNTUsMTAgQEAgd25k d2MzN2VfaWx1dF9zZXQoc3RydWN0IG52NTBfd25kdyAqd25kdywgc3RydWN0IG52NTBfd25kd19h dG9tICphc3l3KQogfQogCiBzdGF0aWMgdm9pZAotd25kd2MzN2VfaWx1dChzdHJ1Y3QgbnY1MF93 bmR3ICp3bmR3LCBzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcpCit3bmR3YzM3ZV9pbHV0KHN0 cnVjdCBudjUwX3duZHcgKnduZHcsIHN0cnVjdCBudjUwX3duZHdfYXRvbSAqYXN5dywgaW50IHNp emUpCiB7CiAJYXN5dy0+eGx1dC5pLm1vZGUgPSAyOwotCWFzeXctPnhsdXQuaS5zaXplID0gMDsK Kwlhc3l3LT54bHV0Lmkuc2l6ZSA9IHNpemUgPT0gMTAyNCA/IDIgOiAwOwogCWFzeXctPnhsdXQu aS5yYW5nZSA9IDA7CiAJYXN5dy0+eGx1dC5pLm91dHB1dF9tb2RlID0gMTsKIAlhc3l3LT54bHV0 LmkubG9hZCA9IGhlYWQ5MDdkX29sdXRfbG9hZDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2Rpc3BudjUwL3duZHdjNTdlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9k aXNwbnY1MC93bmR3YzU3ZS5jCmluZGV4IGJhODlmMWE1ZmNmYS4uNDUzNDhkYmU5ZTU5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC93bmR3YzU3ZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL3duZHdjNTdlLmMKQEAgLTkxLDkgKzkx LDggQEAgd25kd2M1N2VfaWx1dF9sb2FkKHN0cnVjdCBkcm1fY29sb3JfbHV0ICppbiwgaW50IHNp emUsIHZvaWQgX19pb21lbSAqbWVtKQogfQogCiBzdGF0aWMgdm9pZAotd25kd2M1N2VfaWx1dChz dHJ1Y3QgbnY1MF93bmR3ICp3bmR3LCBzdHJ1Y3QgbnY1MF93bmR3X2F0b20gKmFzeXcpCit3bmR3 YzU3ZV9pbHV0KHN0cnVjdCBudjUwX3duZHcgKnduZHcsIHN0cnVjdCBudjUwX3duZHdfYXRvbSAq YXN5dywgaW50IHNpemUpCiB7Ci0JdTE2IHNpemUgPSBhc3l3LT5pbHV0LT5sZW5ndGggLyBzaXpl b2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpOwogCWlmIChzaXplID09IDI1NikgewogCQlhc3l3LT54 bHV0LmkubW9kZSA9IDE7IC8qIERJUkVDVDguICovCiAJfSBlbHNlIHsKLS0gCjIuMjEuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs