From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH igt 2/2] tests/gem_ctx_param: Update invalid param Date: Sat, 17 Feb 2018 11:47:52 +0000 Message-ID: <20180217114752.29144-2-chris@chris-wilson.co.uk> References: <20180217114752.29144-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180217114752.29144-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW50b25pbyBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgoK U2luY2UgY29tbWl0OiBkcm0vaTkxNS9zY2hlZHVsZXI6IFN1cHBvcnQgdXNlci1kZWZpbmVkIHBy aW9yaXRpZXMsIHRoZQpkcml2ZXIgc3VwcG9ydCBhbiBleHRyYSBjb250ZXh0IHBhcmFtIHRvIHNl dCBjb250ZXh0J3MgcHJpb3JpdHkuIEFkZAp0ZXN0cyBmb3IgdGhhdCBpbnRlcmZhY2UgYW5kIHVw ZGF0ZSBpbnZhbGlkIHRlc3RzLgoKdjI6CgktIEFkZCBhcmcgc2l6ZSB2YWxpZGF0aW9uIHRlc3Qu IChDaHJpcykKCS0gQWRkIGFyZyB2YWx1ZSBvdmVyZmxvdyB0ZXN0LiAoQ2hyaXMpCgktIEFkZCB0 ZXN0IGZvciB1bnN1cHBvcnRlZCBwbGF0Zm9ybXMuIChDaHJpcykKCS0gRmVlZCBpbnRlcmZhY2Ug d2l0aCBhbGwgcHJpb3JpdHkgdmFsdWVzIGFuZCBpbiByYW5kb20gb3JkZXIuIChDaHJpcykKCnYz OgoJLSBQYXJhbWV0cml6ZSB0ZXN0cy4gKENocmlzKQoKdjQ6CgktIENvZGUtc3R5bGUgcmVmYWN0 b3JpbmcuIChDaHJpcykKClNpZ25lZC1vZmYtYnk6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25p by5hcmdlbnppYW5vQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgpDYzogTWljaGFsIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5j b20+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IFR2 cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiB0ZXN0cy9nZW1fY3R4X3Bh cmFtLmMgfCAxNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbV9jdHhfcGFyYW0uYyBiL3Rlc3RzL2dlbV9jdHhfcGFyYW0u YwppbmRleCBkYjY4ZjU3Yi4uYzQ2ZmQ3MDkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2dlbV9jdHhfcGFy YW0uYworKysgYi90ZXN0cy9nZW1fY3R4X3BhcmFtLmMKQEAgLTI0LDEwICsyNCwxMjUgQEAKICAq ICAgIERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CiAgKi8KIAorI2luY2x1 ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKICNpbmNsdWRlICJpZ3QuaCIKIAog SUdUX1RFU1RfREVTQ1JJUFRJT04oIkJhc2ljIHRlc3QgZm9yIGNvbnRleHQgc2V0L2dldCBwYXJh bSBpbnB1dCB2YWxpZGF0aW9uLiIpOwogCisjZGVmaW5lIEJJVCh4KSAoMXVsIDw8ICh4KSkKKwor I2RlZmluZSBORVdfQ1RYCUJJVCgwKQorI2RlZmluZSBVU0VSIEJJVCgxKQorCitzdGF0aWMgaW50 IHJlb3Blbl9kcml2ZXIoaW50IGZkKQoreworCWNoYXIgcGF0aFsyNTZdOworCisJc25wcmludGYo cGF0aCwgc2l6ZW9mKHBhdGgpLCAiL3Byb2Mvc2VsZi9mZC8lZCIsIGZkKTsKKwlmZCA9IG9wZW4o cGF0aCwgT19SRFdSKTsKKwlpZ3RfYXNzZXJ0X2x0ZSgwLCBmZCk7CisKKwlyZXR1cm4gZmQ7Cit9 CisKK3N0YXRpYyB2b2lkIHNldF9wcmlvcml0eShpbnQgaTkxNSkKK3sKKwlzdGF0aWMgY29uc3Qg aW50NjRfdCB0ZXN0X3ZhbHVlc1tdID0geworCQkvKiBUZXN0IHNwYWNlIHRvbyBiaWcsIHBpY2sg c2lnbmlmaWNhbnQgdmFsdWVzICovCisJCUlOVF9NSU4sCisKKwkJSTkxNV9DT05URVhUX01JTl9V U0VSX1BSSU9SSVRZIC0gMSwKKwkJSTkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZLAorCQlJ OTE1X0NPTlRFWFRfTUlOX1VTRVJfUFJJT1JJVFkgKyAxLAorCisJCUk5MTVfQ09OVEVYVF9ERUZB VUxUX1BSSU9SSVRZIC0gMSwKKwkJSTkxNV9DT05URVhUX0RFRkFVTFRfUFJJT1JJVFksCisJCUk5 MTVfQ09OVEVYVF9ERUZBVUxUX1BSSU9SSVRZICsgMSwKKworCQlJOTE1X0NPTlRFWFRfTUFYX1VT RVJfUFJJT1JJVFkgLSAxLAorCQlJOTE1X0NPTlRFWFRfTUFYX1VTRVJfUFJJT1JJVFksCisJCUk5 MTVfQ09OVEVYVF9NQVhfVVNFUl9QUklPUklUWSArIDEsCisKKwkJSU5UX01BWAorCX07CisJdW5z aWduZWQgaW50IHNpemU7CisJaW50NjRfdCAqdmFsdWVzOworCisJaWd0X3JlcXVpcmUoZ2V0dWlk KCkgPT0gMCk7CisKKwlzaXplID0gQVJSQVlfU0laRSh0ZXN0X3ZhbHVlcyk7CisJdmFsdWVzID0g bWFsbG9jKHNpemVvZih0ZXN0X3ZhbHVlcykgKiA4KTsKKwlpZ3RfYXNzZXJ0KHZhbHVlcyk7CisK Kwlmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisJCXZhbHVlc1tpICsgMCpz aXplXSA9IHRlc3RfdmFsdWVzW2ldOworCQl2YWx1ZXNbaSArIDEqc2l6ZV0gPSB0ZXN0X3ZhbHVl c1tpXSB8ICh1aW50NjRfdCkxIDw8IDMyOworCQl2YWx1ZXNbaSArIDIqc2l6ZV0gPSB0ZXN0X3Zh bHVlc1tpXSB8ICh1aW50NjRfdClyYW5kKCkgPDwgMzI7CisJCXZhbHVlc1tpICsgMypzaXplXSA9 IHRlc3RfdmFsdWVzW2ldIF4gcmFuZCgpOworCQl2YWx1ZXNbaSArIDQqc2l6ZV0gPSByYW5kKCkg JSAoSTkxNV9DT05URVhUX01BWF9VU0VSX1BSSU9SSVRZIC0gSTkxNV9DT05URVhUX01JTl9VU0VS X1BSSU9SSVRZKSArIEk5MTVfQ09OVEVYVF9NSU5fVVNFUl9QUklPUklUWTsKKwkJdmFsdWVzW2kg KyA1KnNpemVdID0gcmFuZCgpOworCQl2YWx1ZXNbaSArIDYqc2l6ZV0gPSByYW5kKCkgfCAodWlu dDY0X3QpcmFuZCgpIDw8IDMyOworCQl2YWx1ZXNbaSArIDcqc2l6ZV0gPSAodWludDY0X3QpdGVz dF92YWx1ZXNbaV0gPDwgMzI7CisJfQorCXNpemUgKj0gODsKKworCWlndF9wZXJtdXRlX2FycmF5 KHZhbHVlcywgc2l6ZSwgaWd0X2V4Y2hhbmdlX2ludDY0KTsKKworCWlndF9mb3JrKGZsYWdzLCBO RVdfQ1RYIHwgVVNFUikgeworCQlpbnQgZmQgPSByZW9wZW5fZHJpdmVyKGk5MTUpOworCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gYXJnID0geworCQkJLnBhcmFtID0gSTkxNV9D T05URVhUX1BBUkFNX1BSSU9SSVRZLAorCQkJLmN0eF9pZCA9IGZsYWdzICYgTkVXX0NUWCA/IGdl bV9jb250ZXh0X2NyZWF0ZShmZCkgOiAwLAorCQl9OworCQlpbnQ2NF90IG9sZF9wcmlvOworCisJ CWlmIChmbGFncyAmIFVTRVIpIHsKKwkJCWlndF9kZWJ1ZygiRHJvcHBpbmcgcm9vdCBwcml2aWxl Z2VcbiIpOworCQkJaWd0X2Ryb3Bfcm9vdCgpOworCQl9CisKKwkJZ2VtX2NvbnRleHRfZ2V0X3Bh cmFtKGZkLCAmYXJnKTsKKwkJb2xkX3ByaW8gPSBhcmcudmFsdWU7CisKKwkJZm9yICh1bnNpZ25l ZCBpID0gMDsgaSA8IHNpemU7IGkrKykgeworCQkJaW50NjRfdCBwcmlvID0gdmFsdWVzW2ldOwor CQkJaW50IGV4cGVjdGVkID0gMDsKKwkJCWludCBlcnI7CisKKwkJCWFyZy52YWx1ZSA9IHByaW87 CisKKwkJCWlmIChmbGFncyAmIFVTRVIgJiYKKwkJCSAgICBwcmlvID4gSTkxNV9DT05URVhUX0RF RkFVTFRfUFJJT1JJVFkpCisJCQkJZXhwZWN0ZWQgPSAtRVBFUk07CisKKwkJCWlmIChwcmlvIDwg STkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZIHx8CisJCQkgICAgcHJpbyA+IEk5MTVfQ09O VEVYVF9NQVhfVVNFUl9QUklPUklUWSkKKwkJCQlleHBlY3RlZCA9IC1FSU5WQUw7CisKKwkJCWVy ciA9X19nZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOworCQkJaWd0X2Fzc2VydF9mKGVy ciA9PSBleHBlY3RlZCwKKwkJCQkgICAgICJQcmlvcml0eSByZXF1ZXN0ZWQgJSIgUFJJZDY0ICIg d2l0aCBmbGFncyAleCwgZXhwZWN0ZWQgcmVzdWx0ICVkLCByZXR1cm5lZCAlZFxuIiwKKwkJCQkg ICAgIHByaW8sIGZsYWdzLCBleHBlY3RlZCwgZXJyKTsKKworCQkJZ2VtX2NvbnRleHRfZ2V0X3Bh cmFtKGZkLCAmYXJnKTsKKwkJCWlmICghZXJyKQorCQkJCW9sZF9wcmlvID0gcHJpbzsKKwkJCWln dF9hc3NlcnRfZXEoYXJnLnZhbHVlLCBvbGRfcHJpbyk7CisJCX0KKworCQlhcmcudmFsdWUgPSAw OworCQlnZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOworCisJCWlmIChmbGFncyAmIE5F V19DVFgpCisJCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBhcmcuY3R4X2lkKTsKKwl9CisKKwlp Z3Rfd2FpdGNoaWxkcmVuKCk7CisJZnJlZSh2YWx1ZXMpOworfQorCiBpZ3RfbWFpbgogewogCXN0 cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBhcmc7CkBAIC0xMzgsMTEgKzI1Myw1MiBA QCBpZ3RfbWFpbgogCQlnZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOwogCX0KIAorCWFy Zy5wYXJhbSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9QUklPUklUWTsKKworCWlndF9zdWJ0ZXN0KCJz ZXQtcHJpb3JpdHktbm90LXN1cHBvcnRlZCIpIHsKKwkJaWd0X3JlcXVpcmUoIWdlbV9zY2hlZHVs ZXJfaGFzX2N0eF9wcmlvcml0eShmZCkpOworCisJCWFyZy5jdHhfaWQgPSBjdHg7CisJCWFyZy5z aXplID0gMDsKKworCQlpZ3RfYXNzZXJ0X2VxKF9fZ2VtX2NvbnRleHRfc2V0X3BhcmFtKGZkLCAm YXJnKSwgLUVOT0RFVik7CisJfQorCisJaWd0X3N1YnRlc3RfZ3JvdXAgeworCQlpZ3RfZml4dHVy ZSB7CisJCQlpZ3RfcmVxdWlyZShnZW1fc2NoZWR1bGVyX2hhc19jdHhfcHJpb3JpdHkoZmQpKTsK KwkJfQorCisJCWlndF9zdWJ0ZXN0KCJnZXQtcHJpb3JpdHktbmV3LWN0eCIpIHsKKwkJCXN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBsb2NhbF9hcmcgPSBhcmc7CisJCQl1aW50MzJf dCBsb2NhbF9jdHggPSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOworCisJCQlsb2NhbF9hcmcuY3R4 X2lkID0gbG9jYWxfY3R4OworCisJCQlnZW1fY29udGV4dF9nZXRfcGFyYW0oZmQsICZsb2NhbF9h cmcpOworCQkJaWd0X2Fzc2VydF9lcShsb2NhbF9hcmcudmFsdWUsIEk5MTVfQ09OVEVYVF9ERUZB VUxUX1BSSU9SSVRZKTsKKworCQkJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgbG9jYWxfY3R4KTsK KwkJfQorCisJCWlndF9zdWJ0ZXN0KCJzZXQtcHJpb3JpdHktaW52YWxpZC1zaXplIikgeworCQkJ c3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGxvY2FsX2FyZyA9IGFyZzsKKwkJCWxv Y2FsX2FyZy5jdHhfaWQgPSBjdHg7CisJCQlsb2NhbF9hcmcudmFsdWUgPSAwOworCQkJbG9jYWxf YXJnLnNpemUgPSB+MDsKKworCQkJaWd0X2Fzc2VydF9lcShfX2dlbV9jb250ZXh0X3NldF9wYXJh bShmZCwgJmxvY2FsX2FyZyksIC1FSU5WQUwpOworCQl9CisKKwkJaWd0X3N1YnRlc3QoInNldC1w cmlvcml0eS1yYW5nZSIpCisJCQlzZXRfcHJpb3JpdHkoZmQpOworCX0KKwogCS8qIE5PVEU6IFRo aXMgdGVzdGNhc2UgaW50ZW50aW9uYWxseSB0ZXN0cyBmb3IgdGhlIG5leHQgZnJlZSBwYXJhbWV0 ZXIKIAkgKiB0byBjYXRjaCBBQkkgZXh0ZW5zaW9ucy4gRG9uJ3QgImZpeCIgdGhpcyB0ZXN0Y2Fz ZSB3aXRob3V0IGFkZGluZyBhbGwKIAkgKiB0aGUgdGVzdHMgZm9yIHRoZSBuZXcgcGFyYW0gZmly c3QuCiAJICovCi0JYXJnLnBhcmFtID0gSTkxNV9DT05URVhUX1BBUkFNX0JBTk5BQkxFICsgMTsK KwlhcmcucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fUFJJT1JJVFkgKyAxOwogCiAJaWd0X3N1 YnRlc3QoImludmFsaWQtcGFyYW0tZ2V0IikgewogCQlhcmcuY3R4X2lkID0gY3R4OwotLSAKMi4x Ni4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Chris Wilson Date: Sat, 17 Feb 2018 11:47:52 +0000 Message-Id: <20180217114752.29144-2-chris@chris-wilson.co.uk> In-Reply-To: <20180217114752.29144-1-chris@chris-wilson.co.uk> References: <20180217114752.29144-1-chris@chris-wilson.co.uk> Subject: [Intel-gfx] [PATCH igt 2/2] tests/gem_ctx_param: Update invalid param List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: RnJvbTogQW50b25pbyBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgoK U2luY2UgY29tbWl0OiBkcm0vaTkxNS9zY2hlZHVsZXI6IFN1cHBvcnQgdXNlci1kZWZpbmVkIHBy aW9yaXRpZXMsIHRoZQpkcml2ZXIgc3VwcG9ydCBhbiBleHRyYSBjb250ZXh0IHBhcmFtIHRvIHNl dCBjb250ZXh0J3MgcHJpb3JpdHkuIEFkZAp0ZXN0cyBmb3IgdGhhdCBpbnRlcmZhY2UgYW5kIHVw ZGF0ZSBpbnZhbGlkIHRlc3RzLgoKdjI6CgktIEFkZCBhcmcgc2l6ZSB2YWxpZGF0aW9uIHRlc3Qu IChDaHJpcykKCS0gQWRkIGFyZyB2YWx1ZSBvdmVyZmxvdyB0ZXN0LiAoQ2hyaXMpCgktIEFkZCB0 ZXN0IGZvciB1bnN1cHBvcnRlZCBwbGF0Zm9ybXMuIChDaHJpcykKCS0gRmVlZCBpbnRlcmZhY2Ug d2l0aCBhbGwgcHJpb3JpdHkgdmFsdWVzIGFuZCBpbiByYW5kb20gb3JkZXIuIChDaHJpcykKCnYz OgoJLSBQYXJhbWV0cml6ZSB0ZXN0cy4gKENocmlzKQoKdjQ6CgktIENvZGUtc3R5bGUgcmVmYWN0 b3JpbmcuIChDaHJpcykKClNpZ25lZC1vZmYtYnk6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25p by5hcmdlbnppYW5vQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgpDYzogTWljaGFsIFdpbmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5j b20+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IFR2 cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiB0ZXN0cy9nZW1fY3R4X3Bh cmFtLmMgfCAxNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbV9jdHhfcGFyYW0uYyBiL3Rlc3RzL2dlbV9jdHhfcGFyYW0u YwppbmRleCBkYjY4ZjU3Yi4uYzQ2ZmQ3MDkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2dlbV9jdHhfcGFy YW0uYworKysgYi90ZXN0cy9nZW1fY3R4X3BhcmFtLmMKQEAgLTI0LDEwICsyNCwxMjUgQEAKICAq ICAgIERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CiAgKi8KIAorI2luY2x1 ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKICNpbmNsdWRlICJpZ3QuaCIKIAog SUdUX1RFU1RfREVTQ1JJUFRJT04oIkJhc2ljIHRlc3QgZm9yIGNvbnRleHQgc2V0L2dldCBwYXJh bSBpbnB1dCB2YWxpZGF0aW9uLiIpOwogCisjZGVmaW5lIEJJVCh4KSAoMXVsIDw8ICh4KSkKKwor I2RlZmluZSBORVdfQ1RYCUJJVCgwKQorI2RlZmluZSBVU0VSIEJJVCgxKQorCitzdGF0aWMgaW50 IHJlb3Blbl9kcml2ZXIoaW50IGZkKQoreworCWNoYXIgcGF0aFsyNTZdOworCisJc25wcmludGYo cGF0aCwgc2l6ZW9mKHBhdGgpLCAiL3Byb2Mvc2VsZi9mZC8lZCIsIGZkKTsKKwlmZCA9IG9wZW4o cGF0aCwgT19SRFdSKTsKKwlpZ3RfYXNzZXJ0X2x0ZSgwLCBmZCk7CisKKwlyZXR1cm4gZmQ7Cit9 CisKK3N0YXRpYyB2b2lkIHNldF9wcmlvcml0eShpbnQgaTkxNSkKK3sKKwlzdGF0aWMgY29uc3Qg aW50NjRfdCB0ZXN0X3ZhbHVlc1tdID0geworCQkvKiBUZXN0IHNwYWNlIHRvbyBiaWcsIHBpY2sg c2lnbmlmaWNhbnQgdmFsdWVzICovCisJCUlOVF9NSU4sCisKKwkJSTkxNV9DT05URVhUX01JTl9V U0VSX1BSSU9SSVRZIC0gMSwKKwkJSTkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZLAorCQlJ OTE1X0NPTlRFWFRfTUlOX1VTRVJfUFJJT1JJVFkgKyAxLAorCisJCUk5MTVfQ09OVEVYVF9ERUZB VUxUX1BSSU9SSVRZIC0gMSwKKwkJSTkxNV9DT05URVhUX0RFRkFVTFRfUFJJT1JJVFksCisJCUk5 MTVfQ09OVEVYVF9ERUZBVUxUX1BSSU9SSVRZICsgMSwKKworCQlJOTE1X0NPTlRFWFRfTUFYX1VT RVJfUFJJT1JJVFkgLSAxLAorCQlJOTE1X0NPTlRFWFRfTUFYX1VTRVJfUFJJT1JJVFksCisJCUk5 MTVfQ09OVEVYVF9NQVhfVVNFUl9QUklPUklUWSArIDEsCisKKwkJSU5UX01BWAorCX07CisJdW5z aWduZWQgaW50IHNpemU7CisJaW50NjRfdCAqdmFsdWVzOworCisJaWd0X3JlcXVpcmUoZ2V0dWlk KCkgPT0gMCk7CisKKwlzaXplID0gQVJSQVlfU0laRSh0ZXN0X3ZhbHVlcyk7CisJdmFsdWVzID0g bWFsbG9jKHNpemVvZih0ZXN0X3ZhbHVlcykgKiA4KTsKKwlpZ3RfYXNzZXJ0KHZhbHVlcyk7CisK Kwlmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisJCXZhbHVlc1tpICsgMCpz aXplXSA9IHRlc3RfdmFsdWVzW2ldOworCQl2YWx1ZXNbaSArIDEqc2l6ZV0gPSB0ZXN0X3ZhbHVl c1tpXSB8ICh1aW50NjRfdCkxIDw8IDMyOworCQl2YWx1ZXNbaSArIDIqc2l6ZV0gPSB0ZXN0X3Zh bHVlc1tpXSB8ICh1aW50NjRfdClyYW5kKCkgPDwgMzI7CisJCXZhbHVlc1tpICsgMypzaXplXSA9 IHRlc3RfdmFsdWVzW2ldIF4gcmFuZCgpOworCQl2YWx1ZXNbaSArIDQqc2l6ZV0gPSByYW5kKCkg JSAoSTkxNV9DT05URVhUX01BWF9VU0VSX1BSSU9SSVRZIC0gSTkxNV9DT05URVhUX01JTl9VU0VS X1BSSU9SSVRZKSArIEk5MTVfQ09OVEVYVF9NSU5fVVNFUl9QUklPUklUWTsKKwkJdmFsdWVzW2kg KyA1KnNpemVdID0gcmFuZCgpOworCQl2YWx1ZXNbaSArIDYqc2l6ZV0gPSByYW5kKCkgfCAodWlu dDY0X3QpcmFuZCgpIDw8IDMyOworCQl2YWx1ZXNbaSArIDcqc2l6ZV0gPSAodWludDY0X3QpdGVz dF92YWx1ZXNbaV0gPDwgMzI7CisJfQorCXNpemUgKj0gODsKKworCWlndF9wZXJtdXRlX2FycmF5 KHZhbHVlcywgc2l6ZSwgaWd0X2V4Y2hhbmdlX2ludDY0KTsKKworCWlndF9mb3JrKGZsYWdzLCBO RVdfQ1RYIHwgVVNFUikgeworCQlpbnQgZmQgPSByZW9wZW5fZHJpdmVyKGk5MTUpOworCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gYXJnID0geworCQkJLnBhcmFtID0gSTkxNV9D T05URVhUX1BBUkFNX1BSSU9SSVRZLAorCQkJLmN0eF9pZCA9IGZsYWdzICYgTkVXX0NUWCA/IGdl bV9jb250ZXh0X2NyZWF0ZShmZCkgOiAwLAorCQl9OworCQlpbnQ2NF90IG9sZF9wcmlvOworCisJ CWlmIChmbGFncyAmIFVTRVIpIHsKKwkJCWlndF9kZWJ1ZygiRHJvcHBpbmcgcm9vdCBwcml2aWxl Z2VcbiIpOworCQkJaWd0X2Ryb3Bfcm9vdCgpOworCQl9CisKKwkJZ2VtX2NvbnRleHRfZ2V0X3Bh cmFtKGZkLCAmYXJnKTsKKwkJb2xkX3ByaW8gPSBhcmcudmFsdWU7CisKKwkJZm9yICh1bnNpZ25l ZCBpID0gMDsgaSA8IHNpemU7IGkrKykgeworCQkJaW50NjRfdCBwcmlvID0gdmFsdWVzW2ldOwor CQkJaW50IGV4cGVjdGVkID0gMDsKKwkJCWludCBlcnI7CisKKwkJCWFyZy52YWx1ZSA9IHByaW87 CisKKwkJCWlmIChmbGFncyAmIFVTRVIgJiYKKwkJCSAgICBwcmlvID4gSTkxNV9DT05URVhUX0RF RkFVTFRfUFJJT1JJVFkpCisJCQkJZXhwZWN0ZWQgPSAtRVBFUk07CisKKwkJCWlmIChwcmlvIDwg STkxNV9DT05URVhUX01JTl9VU0VSX1BSSU9SSVRZIHx8CisJCQkgICAgcHJpbyA+IEk5MTVfQ09O VEVYVF9NQVhfVVNFUl9QUklPUklUWSkKKwkJCQlleHBlY3RlZCA9IC1FSU5WQUw7CisKKwkJCWVy ciA9X19nZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOworCQkJaWd0X2Fzc2VydF9mKGVy ciA9PSBleHBlY3RlZCwKKwkJCQkgICAgICJQcmlvcml0eSByZXF1ZXN0ZWQgJSIgUFJJZDY0ICIg d2l0aCBmbGFncyAleCwgZXhwZWN0ZWQgcmVzdWx0ICVkLCByZXR1cm5lZCAlZFxuIiwKKwkJCQkg ICAgIHByaW8sIGZsYWdzLCBleHBlY3RlZCwgZXJyKTsKKworCQkJZ2VtX2NvbnRleHRfZ2V0X3Bh cmFtKGZkLCAmYXJnKTsKKwkJCWlmICghZXJyKQorCQkJCW9sZF9wcmlvID0gcHJpbzsKKwkJCWln dF9hc3NlcnRfZXEoYXJnLnZhbHVlLCBvbGRfcHJpbyk7CisJCX0KKworCQlhcmcudmFsdWUgPSAw OworCQlnZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOworCisJCWlmIChmbGFncyAmIE5F V19DVFgpCisJCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBhcmcuY3R4X2lkKTsKKwl9CisKKwlp Z3Rfd2FpdGNoaWxkcmVuKCk7CisJZnJlZSh2YWx1ZXMpOworfQorCiBpZ3RfbWFpbgogewogCXN0 cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBhcmc7CkBAIC0xMzgsMTEgKzI1Myw1MiBA QCBpZ3RfbWFpbgogCQlnZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZhcmcpOwogCX0KIAorCWFy Zy5wYXJhbSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9QUklPUklUWTsKKworCWlndF9zdWJ0ZXN0KCJz ZXQtcHJpb3JpdHktbm90LXN1cHBvcnRlZCIpIHsKKwkJaWd0X3JlcXVpcmUoIWdlbV9zY2hlZHVs ZXJfaGFzX2N0eF9wcmlvcml0eShmZCkpOworCisJCWFyZy5jdHhfaWQgPSBjdHg7CisJCWFyZy5z aXplID0gMDsKKworCQlpZ3RfYXNzZXJ0X2VxKF9fZ2VtX2NvbnRleHRfc2V0X3BhcmFtKGZkLCAm YXJnKSwgLUVOT0RFVik7CisJfQorCisJaWd0X3N1YnRlc3RfZ3JvdXAgeworCQlpZ3RfZml4dHVy ZSB7CisJCQlpZ3RfcmVxdWlyZShnZW1fc2NoZWR1bGVyX2hhc19jdHhfcHJpb3JpdHkoZmQpKTsK KwkJfQorCisJCWlndF9zdWJ0ZXN0KCJnZXQtcHJpb3JpdHktbmV3LWN0eCIpIHsKKwkJCXN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBsb2NhbF9hcmcgPSBhcmc7CisJCQl1aW50MzJf dCBsb2NhbF9jdHggPSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOworCisJCQlsb2NhbF9hcmcuY3R4 X2lkID0gbG9jYWxfY3R4OworCisJCQlnZW1fY29udGV4dF9nZXRfcGFyYW0oZmQsICZsb2NhbF9h cmcpOworCQkJaWd0X2Fzc2VydF9lcShsb2NhbF9hcmcudmFsdWUsIEk5MTVfQ09OVEVYVF9ERUZB VUxUX1BSSU9SSVRZKTsKKworCQkJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgbG9jYWxfY3R4KTsK KwkJfQorCisJCWlndF9zdWJ0ZXN0KCJzZXQtcHJpb3JpdHktaW52YWxpZC1zaXplIikgeworCQkJ c3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGxvY2FsX2FyZyA9IGFyZzsKKwkJCWxv Y2FsX2FyZy5jdHhfaWQgPSBjdHg7CisJCQlsb2NhbF9hcmcudmFsdWUgPSAwOworCQkJbG9jYWxf YXJnLnNpemUgPSB+MDsKKworCQkJaWd0X2Fzc2VydF9lcShfX2dlbV9jb250ZXh0X3NldF9wYXJh bShmZCwgJmxvY2FsX2FyZyksIC1FSU5WQUwpOworCQl9CisKKwkJaWd0X3N1YnRlc3QoInNldC1w cmlvcml0eS1yYW5nZSIpCisJCQlzZXRfcHJpb3JpdHkoZmQpOworCX0KKwogCS8qIE5PVEU6IFRo aXMgdGVzdGNhc2UgaW50ZW50aW9uYWxseSB0ZXN0cyBmb3IgdGhlIG5leHQgZnJlZSBwYXJhbWV0 ZXIKIAkgKiB0byBjYXRjaCBBQkkgZXh0ZW5zaW9ucy4gRG9uJ3QgImZpeCIgdGhpcyB0ZXN0Y2Fz ZSB3aXRob3V0IGFkZGluZyBhbGwKIAkgKiB0aGUgdGVzdHMgZm9yIHRoZSBuZXcgcGFyYW0gZmly c3QuCiAJICovCi0JYXJnLnBhcmFtID0gSTkxNV9DT05URVhUX1BBUkFNX0JBTk5BQkxFICsgMTsK KwlhcmcucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fUFJJT1JJVFkgKyAxOwogCiAJaWd0X3N1 YnRlc3QoImludmFsaWQtcGFyYW0tZ2V0IikgewogCQlhcmcuY3R4X2lkID0gY3R4OwotLSAKMi4x Ni4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK