From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Engestrom Subject: [PATCH 2/2] i915: rename modifiers to follow the naming convention Date: Tue, 18 Sep 2018 18:22:00 +0100 Message-ID: <20180918172217.18754-2-eric.engestrom@intel.com> References: <20180918172217.18754-1-eric.engestrom@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180918172217.18754-1-eric.engestrom@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: David Airlie , Daniel Vetter , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org JCBzZWQgLWkgcy9JOTE1X0ZPUk1BVF9NT0RfL0RSTV9GT1JNQVRfTU9EX0lOVEVMXy9nICQoZ2l0 IGdyZXAgLWwgSTkxNV9GT1JNQVRfTU9EXykKJCBnaXQgY2hlY2tvdXQgaW5jbHVkZS91YXBpL2Ry bS9kcm1fZm91cmNjLmgKClNpZ25lZC1vZmYtYnk6IEVyaWMgRW5nZXN0cm9tIDxlcmljLmVuZ2Vz dHJvbUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3Bs YW5lLmMgfCAgMTIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAg IHwgMTI4ICsrKysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMgICAgICAgICAgIHwgIDI2ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYyAgICAgICB8ICA1OCArKysrKy0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDExMiBpbnNl cnRpb25zKCspLCAxMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dG9taWNfcGxhbmUuYwppbmRleCBmYTdkZjVmZTE1NGJmMDZiZGZjNS4uYzI2ZjBiMjVhZmEyZGM4 YzNhM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFu ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCkBAIC0x MjYsOCArMTI2LDggQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y18KIAlpZiAoc3RhdGUtPmZiICYm IGRybV9yb3RhdGlvbl85MF9vcl8yNzAoc3RhdGUtPnJvdGF0aW9uKSkgewogCQlzdHJ1Y3QgZHJt X2Zvcm1hdF9uYW1lX2J1ZiBmb3JtYXRfbmFtZTsKIAotCQlpZiAoc3RhdGUtPmZiLT5tb2RpZmll ciAhPSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCAmJgotCQkgICAgc3RhdGUtPmZiLT5tb2RpZmll ciAhPSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQpIHsKKwkJaWYgKHN0YXRlLT5mYi0+bW9kaWZp ZXIgIT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRCAmJgorCQkgICAgc3RhdGUtPmZiLT5t b2RpZmllciAhPSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRCkgewogCQkJRFJNX0RFQlVH X0tNUygiWS9ZZiB0aWxpbmcgcmVxdWlyZWQgZm9yIDkwLzI3MCFcbiIpOwogCQkJcmV0dXJuIC1F SU5WQUw7CiAJCX0KQEAgLTE2OSwxMCArMTY5LDEwIEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNf Y2hlY2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNf CiAJICovCiAJaWYgKHN0YXRlLT5mYiAmJiBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkgJiYgY3J0 Y19zdGF0ZS0+YmFzZS5lbmFibGUgJiYKIAkgICAgYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1f TU9ERV9GTEFHX0lOVEVSTEFDRSkgewotCQlpZiAoc3RhdGUtPmZiLT5tb2RpZmllciA9PSBJOTE1 X0ZPUk1BVF9NT0RfWV9USUxFRCB8fAotCQkgICAgc3RhdGUtPmZiLT5tb2RpZmllciA9PSBJOTE1 X0ZPUk1BVF9NT0RfWWZfVElMRUQgfHwKLQkJICAgIHN0YXRlLT5mYi0+bW9kaWZpZXIgPT0gSTkx NV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTIHx8Ci0JCSAgICBzdGF0ZS0+ZmItPm1vZGlmaWVyID09 IEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRF9DQ1MpIHsKKwkJaWYgKHN0YXRlLT5mYi0+bW9kaWZp ZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRCB8fAorCQkgICAgc3RhdGUtPmZiLT5t b2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRCB8fAorCQkgICAgc3RhdGUt PmZiLT5tb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEX0NDUyB8fAorCQkg ICAgc3RhdGUtPmZiLT5tb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRF9D Q1MpIHsKIAkJCURSTV9ERUJVR19LTVMoIlkvWWYgdGlsaW5nIG5vdCBzdXBwb3J0ZWQgaW4gSUYt SUQgbW9kZVxuIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCmluZGV4IGIyYmFiNTdjZDExM2YyMjkzODUwLi4wODczMDJkNjU1ZjlhMTQ2 ODQ2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNjksNyArNjksNyBA QCBzdGF0aWMgY29uc3QgdWludDMyX3QgaTk2NV9wcmltYXJ5X2Zvcm1hdHNbXSA9IHsKIH07CiAK IHN0YXRpYyBjb25zdCB1aW50NjRfdCBpOXh4X2Zvcm1hdF9tb2RpZmllcnNbXSA9IHsKLQlJOTE1 X0ZPUk1BVF9NT0RfWF9USUxFRCwKKwlEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVELAogCURS TV9GT1JNQVRfTU9EX0xJTkVBUiwKIAlEUk1fRk9STUFUX01PRF9JTlZBTElECiB9OwpAQCAtMTA2 LDE5ICsxMDYsMTkgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IHNrbF9wcmlfcGxhbmFyX2Zvcm1h dHNbXSA9IHsKIH07CiAKIHN0YXRpYyBjb25zdCB1aW50NjRfdCBza2xfZm9ybWF0X21vZGlmaWVy c19ub2Njc1tdID0gewotCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKLQlJOTE1X0ZPUk1BVF9N T0RfWV9USUxFRCwKLQlJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKKwlEUk1fRk9STUFUX01PRF9J TlRFTF9ZZl9USUxFRCwKKwlEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVELAorCURSTV9GT1JN QVRfTU9EX0lOVEVMX1hfVElMRUQsCiAJRFJNX0ZPUk1BVF9NT0RfTElORUFSLAogCURSTV9GT1JN QVRfTU9EX0lOVkFMSUQKIH07CiAKIHN0YXRpYyBjb25zdCB1aW50NjRfdCBza2xfZm9ybWF0X21v ZGlmaWVyc19jY3NbXSA9IHsKLQlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTLAotCUk5MTVf Rk9STUFUX01PRF9ZX1RJTEVEX0NDUywKLQlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQsCi0JSTkx NV9GT1JNQVRfTU9EX1lfVElMRUQsCi0JSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCisJRFJNX0ZP Uk1BVF9NT0RfSU5URUxfWWZfVElMRURfQ0NTLAorCURSTV9GT1JNQVRfTU9EX0lOVEVMX1lfVElM RURfQ0NTLAorCURSTV9GT1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVELAorCURSTV9GT1JNQVRfTU9E X0lOVEVMX1lfVElMRUQsCisJRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRCwKIAlEUk1fRk9S TUFUX01PRF9MSU5FQVIsCiAJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAogfTsKQEAgLTE5MjUsMjUg KzE5MjUsMjUgQEAgaW50ZWxfdGlsZV93aWR0aF9ieXRlcyhjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiwgaW50IHBsYW5lKQogCXN3aXRjaCAoZmItPm1vZGlmaWVyKSB7CiAJY2FzZSBE Uk1fRk9STUFUX01PRF9MSU5FQVI6CiAJCXJldHVybiBjcHA7Ci0JY2FzZSBJOTE1X0ZPUk1BVF9N T0RfWF9USUxFRDoKKwljYXNlIERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElMRUQ6CiAJCWlmIChJ U19HRU4yKGRldl9wcml2KSkKIAkJCXJldHVybiAxMjg7CiAJCWVsc2UKIAkJCXJldHVybiA1MTI7 Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1M6CisJY2FzZSBEUk1fRk9STUFUX01P RF9JTlRFTF9ZX1RJTEVEX0NDUzoKIAkJaWYgKHBsYW5lID09IDEpCiAJCQlyZXR1cm4gMTI4Owog CQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEOgorCWNh c2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRDoKIAkJaWYgKElTX0dFTjIoZGV2X3ByaXYp IHx8IEhBU18xMjhfQllURV9ZX1RJTElORyhkZXZfcHJpdikpCiAJCQlyZXR1cm4gMTI4OwogCQll bHNlCiAJCQlyZXR1cm4gNTEyOwotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzoK KwljYXNlIERSTV9GT1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVEX0NDUzoKIAkJaWYgKHBsYW5lID09 IDEpCiAJCQlyZXR1cm4gMTI4OwogCQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEk5MTVfRk9S TUFUX01PRF9ZZl9USUxFRDoKKwljYXNlIERSTV9GT1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVEOgog CQlzd2l0Y2ggKGNwcCkgewogCQljYXNlIDE6CiAJCQlyZXR1cm4gNjQ7CkBAIC0yMDU1LDE0ICsy MDU1LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaW50ZWxfc3VyZl9hbGlnbm1lbnQoY29uc3Qg c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJc3dpdGNoIChmYi0+bW9kaWZpZXIpIHsKIAlj YXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKIAkJcmV0dXJuIGludGVsX2xpbmVhcl9hbGlnbm1l bnQoZGV2X3ByaXYpOwotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ6CisJY2FzZSBEUk1f Rk9STUFUX01PRF9JTlRFTF9YX1RJTEVEOgogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5 KQogCQkJcmV0dXJuIDI1NiAqIDEwMjQ7CiAJCXJldHVybiAwOwotCWNhc2UgSTkxNV9GT1JNQVRf TU9EX1lfVElMRURfQ0NTOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzoKLQlj YXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lmX1RJ TEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRF9DQ1M6CisJY2FzZSBEUk1f Rk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRF9DQ1M6CisJY2FzZSBEUk1fRk9STUFUX01PRF9JTlRF TF9ZX1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWWZfVElMRUQ6CiAJCXJldHVy biAxICogMTAyNCAqIDEwMjQ7CiAJZGVmYXVsdDoKIAkJTUlTU0lOR19DQVNFKGZiLT5tb2RpZmll cik7CkBAIC0yNDE2LDEwICsyNDE2LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfZmJfb2Zmc2V0X3Rv X3h5KGludCAqeCwgaW50ICp5LAogc3RhdGljIHVuc2lnbmVkIGludCBpbnRlbF9mYl9tb2RpZmll cl90b190aWxpbmcodWludDY0X3QgZmJfbW9kaWZpZXIpCiB7CiAJc3dpdGNoIChmYl9tb2RpZmll cikgewotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ6CisJY2FzZSBEUk1fRk9STUFUX01P RF9JTlRFTF9YX1RJTEVEOgogCQlyZXR1cm4gSTkxNV9USUxJTkdfWDsKLQljYXNlIEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTOgorCWNh c2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRDoKKwljYXNlIERSTV9GT1JNQVRfTU9EX0lO VEVMX1lfVElMRURfQ0NTOgogCQlyZXR1cm4gSTkxNV9USUxJTkdfWTsKIAlkZWZhdWx0OgogCQly ZXR1cm4gSTkxNV9USUxJTkdfTk9ORTsKQEAgLTI0NjUsOCArMjQ2NSw4IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICoKIGludGVsX2dldF9mb3JtYXRfaW5mbyhjb25zdCBz dHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqY21kKQogewogCXN3aXRjaCAoY21kLT5tb2RpZmllclsw XSkgewotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lfVElMRURfQ0NTOgotCWNhc2UgSTkxNV9GT1JN QVRfTU9EX1lmX1RJTEVEX0NDUzoKKwljYXNlIERSTV9GT1JNQVRfTU9EX0lOVEVMX1lfVElMRURf Q0NTOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWWZfVElMRURfQ0NTOgogCQlyZXR1cm4g bG9va3VwX2Zvcm1hdF9pbmZvKGNjc19mb3JtYXRzLAogCQkJCQkgIEFSUkFZX1NJWkUoY2NzX2Zv cm1hdHMpLAogCQkJCQkgIGNtZC0+cGl4ZWxfZm9ybWF0KTsKQEAgLTI0NzcsOCArMjQ3Nyw4IEBA IGludGVsX2dldF9mb3JtYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqY21k KQogCiBib29sIGlzX2Njc19tb2RpZmllcih1NjQgbW9kaWZpZXIpCiB7Ci0JcmV0dXJuIG1vZGlm aWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUyB8fAotCSAgICAgICBtb2RpZmllciA9 PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTOworCXJldHVybiBtb2RpZmllciA9PSBEUk1f Rk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEX0NDUyB8fAorCSAgICAgICBtb2RpZmllciA9PSBEUk1f Rk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRF9DQ1M7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTI5MDYs NyArMjkwNiw3IEBAIHN0YXRpYyBpbnQgc2tsX21heF9wbGFuZV93aWR0aChjb25zdCBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiwgaW50IHBsYW5lLAogCiAJc3dpdGNoIChmYi0+bW9kaWZpZXIp IHsKIAljYXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKLQljYXNlIEk5MTVfRk9STUFUX01PRF9Y X1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRDoKIAkJc3dpdGNoIChj cHApIHsKIAkJY2FzZSA4OgogCQkJcmV0dXJuIDQwOTY7CkBAIC0yOTE5LDExICsyOTE5LDExIEBA IHN0YXRpYyBpbnQgc2tsX21heF9wbGFuZV93aWR0aChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwgaW50IHBsYW5lLAogCQkJYnJlYWs7CiAJCX0KIAkJYnJlYWs7Ci0JY2FzZSBJOTE1 X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1M6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURf Q0NTOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRF9DQ1M6CisJY2FzZSBEUk1f Rk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRF9DQ1M6CiAJCS8qIEZJWE1FIEFVWCBwbGFuZT8gKi8K LQljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lm X1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRDoKKwljYXNlIERSTV9G T1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVEOgogCQlzd2l0Y2ggKGNwcCkgewogCQljYXNlIDg6CiAJ CQlyZXR1cm4gMjA0ODsKQEAgLTMwNDMsNyArMzA0Myw3IEBAIHN0YXRpYyBpbnQgc2tsX2NoZWNr X21haW5fc3VyZmFjZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAkgKgogCSAqIFRPRE86IGxpbmVhciBhbmQgWS10aWxlZCBzZWVtIGZpbmUsIFlmIHVudGVzdGVk LAogCSAqLwotCWlmIChmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQpIHsK KwlpZiAoZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElMRUQpIHsKIAkJ aW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFswXTsKIAogCQl3aGlsZSAoKHggKyB3KSAqIGNwcCA+ IGZiLT5waXRjaGVzWzBdKSB7CkBAIC0zMjYyLDcgKzMyNjIsNyBAQCBzdGF0aWMgdTMyIGk5eHhf cGxhbmVfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCX0K IAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQgJiYKLQkgICAgZmItPm1vZGlmaWVyID09 IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEKQorCSAgICBmYi0+bW9kaWZpZXIgPT0gRFJNX0ZPUk1B VF9NT0RfSU5URUxfWF9USUxFRCkKIAkJZHNwY250ciB8PSBESVNQUExBTkVfVElMRUQ7CiAKIAlp ZiAocm90YXRpb24gJiBEUk1fTU9ERV9ST1RBVEVfMTgwKQpAQCAtMzU1MSwxNSArMzU1MSwxNSBA QCBzdGF0aWMgdTMyIHNrbF9wbGFuZV9jdGxfdGlsaW5nKHVpbnQ2NF90IGZiX21vZGlmaWVyKQog CXN3aXRjaCAoZmJfbW9kaWZpZXIpIHsKIAljYXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKIAkJ YnJlYWs7Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDoKKwljYXNlIERSTV9GT1JNQVRf TU9EX0lOVEVMX1hfVElMRUQ6CiAJCXJldHVybiBQTEFORV9DVExfVElMRURfWDsKLQljYXNlIEk5 MTVfRk9STUFUX01PRF9ZX1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxF RDoKIAkJcmV0dXJuIFBMQU5FX0NUTF9USUxFRF9ZOwotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lf VElMRURfQ0NTOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRF9DQ1M6CiAJCXJl dHVybiBQTEFORV9DVExfVElMRURfWSB8IFBMQU5FX0NUTF9SRU5ERVJfREVDT01QUkVTU0lPTl9F TkFCTEU7Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQ6CisJY2FzZSBEUk1fRk9STUFU X01PRF9JTlRFTF9ZZl9USUxFRDoKIAkJcmV0dXJuIFBMQU5FX0NUTF9USUxFRF9ZRjsKLQljYXNl IEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRF9DQ1M6CisJY2FzZSBEUk1fRk9STUFUX01PRF9JTlRF TF9ZZl9USUxFRF9DQ1M6CiAJCXJldHVybiBQTEFORV9DVExfVElMRURfWUYgfCBQTEFORV9DVExf UkVOREVSX0RFQ09NUFJFU1NJT05fRU5BQkxFOwogCWRlZmF1bHQ6CiAJCU1JU1NJTkdfQ0FTRShm Yl9tb2RpZmllcik7CkBAIC03NzUyLDcgKzc3NTIsNyBAQCBpOXh4X2dldF9pbml0aWFsX3BsYW5l X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA0KSB7CiAJCWlmICh2YWwgJiBESVNQUExBTkVfVElMRUQpIHsKIAkJCXBsYW5lX2NvbmZp Zy0+dGlsaW5nID0gSTkxNV9USUxJTkdfWDsKLQkJCWZiLT5tb2RpZmllciA9IEk5MTVfRk9STUFU X01PRF9YX1RJTEVEOworCQkJZmItPm1vZGlmaWVyID0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9U SUxFRDsKIAkJfQogCX0KIApAQCAtODgwNCwxOSArODgwNCwxOSBAQCBza3lsYWtlX2dldF9pbml0 aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJYnJlYWs7CiAJY2Fz ZSBQTEFORV9DVExfVElMRURfWDoKIAkJcGxhbmVfY29uZmlnLT50aWxpbmcgPSBJOTE1X1RJTElO R19YOwotCQlmYi0+bW9kaWZpZXIgPSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDsKKwkJZmItPm1v ZGlmaWVyID0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRDsKIAkJYnJlYWs7CiAJY2FzZSBQ TEFORV9DVExfVElMRURfWToKIAkJaWYgKHZhbCAmIFBMQU5FX0NUTF9SRU5ERVJfREVDT01QUkVT U0lPTl9FTkFCTEUpCi0JCQlmYi0+bW9kaWZpZXIgPSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9D Q1M7CisJCQlmYi0+bW9kaWZpZXIgPSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEX0NDUzsK IAkJZWxzZQotCQkJZmItPm1vZGlmaWVyID0gSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQ7CisJCQlm Yi0+bW9kaWZpZXIgPSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEOwogCQlicmVhazsKIAlj YXNlIFBMQU5FX0NUTF9USUxFRF9ZRjoKIAkJaWYgKHZhbCAmIFBMQU5FX0NUTF9SRU5ERVJfREVD T01QUkVTU0lPTl9FTkFCTEUpCi0JCQlmYi0+bW9kaWZpZXIgPSBJOTE1X0ZPUk1BVF9NT0RfWWZf VElMRURfQ0NTOworCQkJZmItPm1vZGlmaWVyID0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWWZfVElM RURfQ0NTOwogCQllbHNlCi0JCQlmYi0+bW9kaWZpZXIgPSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElM RUQ7CisJCQlmYi0+bW9kaWZpZXIgPSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRDsKIAkJ YnJlYWs7CiAJZGVmYXVsdDoKIAkJTUlTU0lOR19DQVNFKHRpbGluZyk7CkBAIC0xMzM0Miw3ICsx MzM0Miw3IEBAIHN0YXRpYyBib29sIGk4eHhfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3Ry dWN0IGRybV9wbGFuZSAqX3BsYW5lLAogewogCXN3aXRjaCAobW9kaWZpZXIpIHsKIAljYXNlIERS TV9GT1JNQVRfTU9EX0xJTkVBUjoKLQljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOgorCWNh c2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRDoKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJ cmV0dXJuIGZhbHNlOwpAQCAtMTMzNTQsNyArMTMzNTQsNyBAQCBzdGF0aWMgYm9vbCBpOHh4X3Bs YW5lX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKIAljYXNl IERSTV9GT1JNQVRfWFJHQjE1NTU6CiAJY2FzZSBEUk1fRk9STUFUX1hSR0I4ODg4OgogCQlyZXR1 cm4gbW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfTElORUFSIHx8Ci0JCQltb2RpZmllciA9PSBJ OTE1X0ZPUk1BVF9NT0RfWF9USUxFRDsKKwkJCW1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lO VEVMX1hfVElMRUQ7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIGZhbHNlOwogCX0KQEAgLTEzMzY1LDcg KzEzMzY1LDcgQEAgc3RhdGljIGJvb2wgaTk2NV9wbGFuZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChz dHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUsCiB7CiAJc3dpdGNoIChtb2RpZmllcikgewogCWNhc2Ug RFJNX0ZPUk1BVF9NT0RfTElORUFSOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ6CisJ Y2FzZSBEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVEOgogCQlicmVhazsKIAlkZWZhdWx0Ogog CQlyZXR1cm4gZmFsc2U7CkBAIC0xMzM3OSw3ICsxMzM3OSw3IEBAIHN0YXRpYyBib29sIGk5NjVf cGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAogCWNh c2UgRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMDoKIAljYXNlIERSTV9GT1JNQVRfWEJHUjIxMDEwMTA6 CiAJCXJldHVybiBtb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9MSU5FQVIgfHwKLQkJCW1vZGlm aWVyID09IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOworCQkJbW9kaWZpZXIgPT0gRFJNX0ZPUk1B VF9NT0RfSU5URUxfWF9USUxFRDsKIAlkZWZhdWx0OgogCQlyZXR1cm4gZmFsc2U7CiAJfQpAQCAt MTMzOTIsMTIgKzEzMzkyLDEyIEBAIHN0YXRpYyBib29sIHNrbF9wbGFuZV9mb3JtYXRfbW9kX3N1 cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUsCiAKIAlzd2l0Y2ggKG1vZGlmaWVyKSB7 CiAJY2FzZSBEUk1fRk9STUFUX01PRF9MSU5FQVI6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWF9U SUxFRDoKLQljYXNlIEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEOgotCWNhc2UgSTkxNV9GT1JNQVRf TU9EX1lmX1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRDoKKwljYXNl IERSTV9GT1JNQVRfTU9EX0lOVEVMX1lfVElMRUQ6CisJY2FzZSBEUk1fRk9STUFUX01PRF9JTlRF TF9ZZl9USUxFRDoKIAkJYnJlYWs7Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1M6 Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTOgorCWNhc2UgRFJNX0ZPUk1BVF9N T0RfSU5URUxfWV9USUxFRF9DQ1M6CisJY2FzZSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxF RF9DQ1M6CiAJCWlmICghcGxhbmUtPmhhc19jY3MpCiAJCQlyZXR1cm4gZmFsc2U7CiAJCWJyZWFr OwpAQCAtMTM0MjEsMTMgKzEzNDIxLDEzIEBAIHN0YXRpYyBib29sIHNrbF9wbGFuZV9mb3JtYXRf bW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUsCiAJY2FzZSBEUk1fRk9STUFU X1VZVlk6CiAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6CiAJY2FzZSBEUk1fRk9STUFUX05WMTI6Ci0J CWlmIChtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQpCisJCWlmIChtb2RpZmll ciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRCkKIAkJCXJldHVybiB0cnVlOwogCQkv KiBmYWxsIHRocm91Z2ggKi8KIAljYXNlIERSTV9GT1JNQVRfQzg6CiAJCWlmIChtb2RpZmllciA9 PSBEUk1fRk9STUFUX01PRF9MSU5FQVIgfHwKLQkJICAgIG1vZGlmaWVyID09IEk5MTVfRk9STUFU X01PRF9YX1RJTEVEIHx8Ci0JCSAgICBtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxF RCkKKwkJICAgIG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElMRUQgfHwKKwkJ ICAgIG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1lfVElMRUQpCiAJCQlyZXR1cm4g dHJ1ZTsKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJZGVmYXVsdDoKQEAgLTE0Mzk0LDEyICsxNDM5 NCwxMiBAQCB1MzIgaW50ZWxfZmJfcGl0Y2hfbGltaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCX0gZWxzZSBpZiAoZ2VuID49IDUgJiYgIUhBU19HTUNIX0RJU1BMQVkoZGV2 X3ByaXYpKSB7CiAJCXJldHVybiAzMioxMDI0OwogCX0gZWxzZSBpZiAoZ2VuID49IDQpIHsKLQkJ aWYgKGZiX21vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEKQorCQlpZiAoZmJfbW9k aWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRCkKIAkJCXJldHVybiAxNioxMDI0 OwogCQllbHNlCiAJCQlyZXR1cm4gMzIqMTAyNDsKIAl9IGVsc2UgaWYgKGdlbiA+PSAzKSB7Ci0J CWlmIChmYl9tb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkKKwkJaWYgKGZiX21v ZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElMRUQpCiAJCQlyZXR1cm4gOCoxMDI0 OwogCQllbHNlCiAJCQlyZXR1cm4gMTYqMTAyNDsKQEAgLTE0NDM5LDcgKzE0NDM5LDcgQEAgc3Rh dGljIGludCBpbnRlbF9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAq aW50ZWxfZmIsCiAJCX0KIAl9IGVsc2UgewogCQlpZiAodGlsaW5nID09IEk5MTVfVElMSU5HX1gp IHsKLQkJCW1vZGVfY21kLT5tb2RpZmllclswXSA9IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOwor CQkJbW9kZV9jbWQtPm1vZGlmaWVyWzBdID0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRDsK IAkJfSBlbHNlIGlmICh0aWxpbmcgPT0gSTkxNV9USUxJTkdfWSkgewogCQkJRFJNX0RFQlVHX0tN UygiTm8gWSB0aWxpbmcgZm9yIGxlZ2FjeSBhZGRmYlxuIik7CiAJCQlnb3RvIGVycjsKQEAgLTE0 NDQ4LDggKzE0NDQ4LDggQEAgc3RhdGljIGludCBpbnRlbF9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVj dCBpbnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxfZmIsCiAKIAkvKiBQYXNzZWQgaW4gbW9kaWZpZXIg c2FuaXR5IGNoZWNraW5nLiAqLwogCXN3aXRjaCAobW9kZV9jbWQtPm1vZGlmaWVyWzBdKSB7Ci0J Y2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1M6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0Rf WWZfVElMRURfQ0NTOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRF9DQ1M6CisJ Y2FzZSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRF9DQ1M6CiAJCXN3aXRjaCAobW9kZV9j bWQtPnBpeGVsX2Zvcm1hdCkgewogCQljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6CiAJCWNhc2Ug RFJNX0ZPUk1BVF9BQkdSODg4ODoKQEAgLTE0NDYxLDE1ICsxNDQ2MSwxNSBAQCBzdGF0aWMgaW50 IGludGVsX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGludGVsX2ZyYW1lYnVmZmVyICppbnRlbF9m YiwKIAkJCWdvdG8gZXJyOwogCQl9CiAJCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgSTkxNV9G T1JNQVRfTU9EX1lfVElMRUQ6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQ6CisJY2Fz ZSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5U RUxfWWZfVElMRUQ6CiAJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkgewogCQkJRFJNX0RF QlVHX0tNUygiVW5zdXBwb3J0ZWQgdGlsaW5nIDB4JWxseCFcbiIsCiAJCQkJICAgICAgbW9kZV9j bWQtPm1vZGlmaWVyWzBdKTsKIAkJCWdvdG8gZXJyOwogCQl9CiAJY2FzZSBEUk1fRk9STUFUX01P RF9MSU5FQVI6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDoKKwljYXNlIERSTV9GT1JN QVRfTU9EX0lOVEVMX1hfVElMRUQ6CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCURSTV9ERUJVR19L TVMoIlVuc3VwcG9ydGVkIGZiIG1vZGlmaWVyIDB4JWxseCFcbiIsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYwppbmRleCBkOTllNWZhYmU5M2MzYTgyMjM2MS4uYzYyYTUyYjIwZTliZWUwOWVjYzAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtMzc1Nyw3ICszNzU3LDcgQEAgYm9vbCBpbnRlbF9j YW5fZW5hYmxlX3NhZ3Yoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiAJCWlmIChz a2xfbmVlZHNfbWVtb3J5X2J3X3dhKGludGVsX3N0YXRlKSAmJgogCQkgICAgcGxhbmUtPmJhc2Uu c3RhdGUtPmZiLT5tb2RpZmllciA9PQotCQkgICAgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQpCisJ CSAgICBEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVEKQogCQkJbGF0ZW5jeSArPSAxNTsKIAog CQkvKgpAQCAtNDIzMywxMCArNDIzMywxMCBAQCBza2xfZGRiX21pbl9hbGxvYyhjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX3N0YXRlICpwc3RhdGUsIGNvbnN0IGludCBwbGFuZSkKIAkJcmV0dXJuIDA7 CiAKIAkvKiBGb3IgTm9uIFktdGlsZSByZXR1cm4gOC1ibG9ja3MgKi8KLQlpZiAoZmItPm1vZGlm aWVyICE9IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEICYmCi0JICAgIGZiLT5tb2RpZmllciAhPSBJ OTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQgJiYKLQkgICAgZmItPm1vZGlmaWVyICE9IEk5MTVfRk9S TUFUX01PRF9ZX1RJTEVEX0NDUyAmJgotCSAgICBmYi0+bW9kaWZpZXIgIT0gSTkxNV9GT1JNQVRf TU9EX1lmX1RJTEVEX0NDUykKKwlpZiAoZmItPm1vZGlmaWVyICE9IERSTV9GT1JNQVRfTU9EX0lO VEVMX1lfVElMRUQgJiYKKwkgICAgZmItPm1vZGlmaWVyICE9IERSTV9GT1JNQVRfTU9EX0lOVEVM X1lmX1RJTEVEICYmCisJICAgIGZiLT5tb2RpZmllciAhPSBEUk1fRk9STUFUX01PRF9JTlRFTF9Z X1RJTEVEX0NDUyAmJgorCSAgICBmYi0+bW9kaWZpZXIgIT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxf WWZfVElMRURfQ0NTKQogCQlyZXR1cm4gODsKIAogCS8qCkBAIC00NTMxLDEzICs0NTMxLDEzIEBA IHNrbF9jb21wdXRlX3BsYW5lX3dtX3BhcmFtcyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCXdwLT55X3RpbGVkID0gZmIt Pm1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEIHx8Ci0JCSAgICAgIGZiLT5tb2Rp ZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQgfHwKLQkJICAgICAgZmItPm1vZGlmaWVy ID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUyB8fAotCQkgICAgICBmYi0+bW9kaWZpZXIg PT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzsKLQl3cC0+eF90aWxlZCA9IGZiLT5tb2Rp ZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDsKLQl3cC0+cmNfc3VyZmFjZSA9IGZiLT5t b2RpZmllciA9PSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRF9DQ1MgfHwKLQkJCSBmYi0+bW9kaWZp ZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzsKKwl3cC0+eV90aWxlZCA9IGZiLT5t b2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEIHx8CisJCSAgICAgIGZiLT5t b2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZZl9USUxFRCB8fAorCQkgICAgICBmYi0+ bW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRF9DQ1MgfHwKKwkJICAgICAg ZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVEX0NDUzsKKwl3cC0+ eF90aWxlZCA9IGZiLT5tb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVEOwor CXdwLT5yY19zdXJmYWNlID0gZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1lf VElMRURfQ0NTIHx8CisJCQkgZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1lm X1RJTEVEX0NDUzsKIAl3cC0+aXNfcGxhbmFyID0gZmItPmZvcm1hdC0+Zm9ybWF0ID09IERSTV9G T1JNQVRfTlYxMjsKIAogCWlmIChwbGFuZS0+aWQgPT0gUExBTkVfQ1VSU09SKSB7CkBAIC00NTU5 LDcgKzQ1NTksNyBAQCBza2xfY29tcHV0ZV9wbGFuZV93bV9wYXJhbXMoY29uc3Qgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkJCSAgICAgaW50ZWxfcHN0YXRlKTsKIAog CWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExICYmCi0JICAgIGZiLT5tb2RpZmllciA9PSBJ OTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQgJiYgd3AtPmNwcCA9PSA4KQorCSAgICBmYi0+bW9kaWZp ZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWWZfVElMRUQgJiYgd3AtPmNwcCA9PSA4KQogCQl3 cC0+ZGJ1Zl9ibG9ja19zaXplID0gMjU2OwogCWVsc2UKIAkJd3AtPmRidWZfYmxvY2tfc2l6ZSA9 IDUxMjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggOTYwMGNjZmM1Yjc2OTlm ZjU0YjEuLjk1NDYxOTllMTcwMzI1MzllN2I5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJp dGUuYwpAQCAtNTIwLDcgKzUyMCw3IEBAIHN0YXRpYyB1MzIgdmx2X3Nwcml0ZV9jdGwoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJaWYgKHBsYW5lX3N0YXRlLT5i YXNlLmNvbG9yX2VuY29kaW5nID09IERSTV9DT0xPUl9ZQ0JDUl9CVDcwOSkKIAkJc3ByY3RsIHw9 IFNQX1lVVl9GT1JNQVRfQlQ3MDk7CiAKLQlpZiAoZmItPm1vZGlmaWVyID09IEk5MTVfRk9STUFU X01PRF9YX1RJTEVEKQorCWlmIChmYi0+bW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxf WF9USUxFRCkKIAkJc3ByY3RsIHw9IFNQX1RJTEVEOwogCiAJaWYgKHJvdGF0aW9uICYgRFJNX01P REVfUk9UQVRFXzE4MCkKQEAgLTU3Nyw3ICs1NzcsNyBAQCB2bHZfdXBkYXRlX3BsYW5lKHN0cnVj dCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJSTkxNV9XUklURV9GVyhTUFNUUklERShwaXBlLCBwbGFu ZV9pZCksIGZiLT5waXRjaGVzWzBdKTsKIAlJOTE1X1dSSVRFX0ZXKFNQUE9TKHBpcGUsIHBsYW5l X2lkKSwgKGNydGNfeSA8PCAxNikgfCBjcnRjX3gpOwogCi0JaWYgKGZiLT5tb2RpZmllciA9PSBJ OTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkKKwlpZiAoZmItPm1vZGlmaWVyID09IERSTV9GT1JNQVRf TU9EX0lOVEVMX1hfVElMRUQpCiAJCUk5MTVfV1JJVEVfRlcoU1BUSUxFT0ZGKHBpcGUsIHBsYW5l X2lkKSwgKHkgPDwgMTYpIHwgeCk7CiAJZWxzZQogCQlJOTE1X1dSSVRFX0ZXKFNQTElOT0ZGKHBp cGUsIHBsYW5lX2lkKSwgbGluZWFyX29mZnNldCk7CkBAIC02ODEsNyArNjgxLDcgQEAgc3RhdGlj IHUzMiBpdmJfc3ByaXRlX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAlpZiAocGxhbmVfc3RhdGUtPmJhc2UuY29sb3JfcmFuZ2UgPT0gRFJNX0NPTE9SX1lD QkNSX0ZVTExfUkFOR0UpCiAJCXNwcmN0bCB8PSBTUFJJVEVfWVVWX1JBTkdFX0NPUlJFQ1RJT05f RElTQUJMRTsKIAotCWlmIChmYi0+bW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQp CisJaWYgKGZiLT5tb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVEKQogCQlz cHJjdGwgfD0gU1BSSVRFX1RJTEVEOwogCiAJaWYgKHJvdGF0aW9uICYgRFJNX01PREVfUk9UQVRF XzE4MCkKQEAgLTc0Myw3ICs3NDMsNyBAQCBpdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9w bGFuZSAqcGxhbmUsCiAJICogcmVnaXN0ZXIgKi8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikg fHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkKIAkJSTkxNV9XUklURV9GVyhTUFJPRkZTRVQocGlw ZSksICh5IDw8IDE2KSB8IHgpOwotCWVsc2UgaWYgKGZiLT5tb2RpZmllciA9PSBJOTE1X0ZPUk1B VF9NT0RfWF9USUxFRCkKKwllbHNlIGlmIChmYi0+bW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0Rf SU5URUxfWF9USUxFRCkKIAkJSTkxNV9XUklURV9GVyhTUFJUSUxFT0ZGKHBpcGUpLCAoeSA8PCAx NikgfCB4KTsKIAllbHNlCiAJCUk5MTVfV1JJVEVfRlcoU1BSTElOT0ZGKHBpcGUpLCBsaW5lYXJf b2Zmc2V0KTsKQEAgLTg0NSw3ICs4NDUsNyBAQCBzdGF0aWMgdTMyIGc0eF9zcHJpdGVfY3RsKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWlmIChwbGFuZV9zdGF0 ZS0+YmFzZS5jb2xvcl9yYW5nZSA9PSBEUk1fQ09MT1JfWUNCQ1JfRlVMTF9SQU5HRSkKIAkJZHZz Y250ciB8PSBEVlNfWVVWX1JBTkdFX0NPUlJFQ1RJT05fRElTQUJMRTsKIAotCWlmIChmYi0+bW9k aWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQpCisJaWYgKGZiLT5tb2RpZmllciA9PSBE Uk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVEKQogCQlkdnNjbnRyIHw9IERWU19USUxFRDsKIAog CWlmIChyb3RhdGlvbiAmIERSTV9NT0RFX1JPVEFURV8xODApCkBAIC05MDMsNyArOTAzLDcgQEAg ZzR4X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCUk5MTVfV1JJVEVf RlcoRFZTU1RSSURFKHBpcGUpLCBmYi0+cGl0Y2hlc1swXSk7CiAJSTkxNV9XUklURV9GVyhEVlNQ T1MocGlwZSksIChjcnRjX3kgPDwgMTYpIHwgY3J0Y194KTsKIAotCWlmIChmYi0+bW9kaWZpZXIg PT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQpCisJaWYgKGZiLT5tb2RpZmllciA9PSBEUk1fRk9S TUFUX01PRF9JTlRFTF9YX1RJTEVEKQogCQlJOTE1X1dSSVRFX0ZXKERWU1RJTEVPRkYocGlwZSks ICh5IDw8IDE2KSB8IHgpOwogCWVsc2UKIAkJSTkxNV9XUklURV9GVyhEVlNMSU5PRkYocGlwZSks IGxpbmVhcl9vZmZzZXQpOwpAQCAtMTIyOCw3ICsxMjI4LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQz Ml90IGc0eF9wbGFuZV9mb3JtYXRzW10gPSB7CiB9OwogCiBzdGF0aWMgY29uc3QgdWludDY0X3Qg aTl4eF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzW10gPSB7Ci0JSTkxNV9GT1JNQVRfTU9EX1hfVElM RUQsCisJRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRCwKIAlEUk1fRk9STUFUX01PRF9MSU5F QVIsCiAJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAogfTsKQEAgLTEyODIsMTkgKzEyODIsMTkgQEAg c3RhdGljIHVpbnQzMl90IHNrbF9wbGFuYXJfZm9ybWF0c1tdID0gewogfTsKIAogc3RhdGljIGNv bnN0IHVpbnQ2NF90IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzX25vY2NzW10gPSB7Ci0JSTkx NV9GT1JNQVRfTU9EX1lmX1RJTEVELAotCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVELAotCUk5MTVf Rk9STUFUX01PRF9YX1RJTEVELAorCURSTV9GT1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVELAorCURS TV9GT1JNQVRfTU9EX0lOVEVMX1lfVElMRUQsCisJRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxF RCwKIAlEUk1fRk9STUFUX01PRF9MSU5FQVIsCiAJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAogfTsK IAogc3RhdGljIGNvbnN0IHVpbnQ2NF90IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzX2Njc1td ID0gewotCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRF9DQ1MsCi0JSTkxNV9GT1JNQVRfTU9EX1lf VElMRURfQ0NTLAotCUk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCwKLQlJOTE1X0ZPUk1BVF9NT0Rf WV9USUxFRCwKLQlJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCwKKwlEUk1fRk9STUFUX01PRF9JTlRF TF9ZZl9USUxFRF9DQ1MsCisJRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRF9DQ1MsCisJRFJN X0ZPUk1BVF9NT0RfSU5URUxfWWZfVElMRUQsCisJRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxF RCwKKwlEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVELAogCURSTV9GT1JNQVRfTU9EX0xJTkVB UiwKIAlEUk1fRk9STUFUX01PRF9JTlZBTElECiB9OwpAQCAtMTMwNCw3ICsxMzA0LDcgQEAgc3Rh dGljIGJvb2wgZzR4X3Nwcml0ZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5l ICpfcGxhbmUsCiB7CiAJc3dpdGNoIChtb2RpZmllcikgewogCWNhc2UgRFJNX0ZPUk1BVF9NT0Rf TElORUFSOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ6CisJY2FzZSBEUk1fRk9STUFU X01PRF9JTlRFTF9YX1RJTEVEOgogCQlicmVhazsKIAlkZWZhdWx0OgogCQlyZXR1cm4gZmFsc2U7 CkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBzdGF0aWMgYm9vbCBnNHhfc3ByaXRlX2Zvcm1hdF9tb2Rf c3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKIAljYXNlIERSTV9GT1JNQVRfVVlW WToKIAljYXNlIERSTV9GT1JNQVRfVllVWToKIAkJaWYgKG1vZGlmaWVyID09IERSTV9GT1JNQVRf TU9EX0xJTkVBUiB8fAotCQkgICAgbW9kaWZpZXIgPT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQp CisJCSAgICBtb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9JTlRFTF9YX1RJTEVEKQogCQkJcmV0 dXJuIHRydWU7CiAJCS8qIGZhbGwgdGhyb3VnaCAqLwogCWRlZmF1bHQ6CkBAIC0xMzMwLDcgKzEz MzAsNyBAQCBzdGF0aWMgYm9vbCBzbmJfc3ByaXRlX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVj dCBkcm1fcGxhbmUgKl9wbGFuZSwKIHsKIAlzd2l0Y2ggKG1vZGlmaWVyKSB7CiAJY2FzZSBEUk1f Rk9STUFUX01PRF9MSU5FQVI6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRDoKKwljYXNl IERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElMRUQ6CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJl dHVybiBmYWxzZTsKQEAgLTEzNDQsNyArMTM0NCw3IEBAIHN0YXRpYyBib29sIHNuYl9zcHJpdGVf Zm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAogCWNhc2UgRFJN X0ZPUk1BVF9VWVZZOgogCWNhc2UgRFJNX0ZPUk1BVF9WWVVZOgogCQlpZiAobW9kaWZpZXIgPT0g RFJNX0ZPUk1BVF9NT0RfTElORUFSIHx8Ci0JCSAgICBtb2RpZmllciA9PSBJOTE1X0ZPUk1BVF9N T0RfWF9USUxFRCkKKwkJICAgIG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElM RUQpCiAJCQlyZXR1cm4gdHJ1ZTsKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJZGVmYXVsdDoKQEAg LTEzNTcsNyArMTM1Nyw3IEBAIHN0YXRpYyBib29sIHZsdl9zcHJpdGVfZm9ybWF0X21vZF9zdXBw b3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAogewogCXN3aXRjaCAobW9kaWZpZXIpIHsK IAljYXNlIERSTV9GT1JNQVRfTU9EX0xJTkVBUjoKLQljYXNlIEk5MTVfRk9STUFUX01PRF9YX1RJ TEVEOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxFRDoKIAkJYnJlYWs7CiAJZGVm YXVsdDoKIAkJcmV0dXJuIGZhbHNlOwpAQCAtMTM3Niw3ICsxMzc2LDcgQEAgc3RhdGljIGJvb2wg dmx2X3Nwcml0ZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpfcGxhbmUs CiAJY2FzZSBEUk1fRk9STUFUX1VZVlk6CiAJY2FzZSBEUk1fRk9STUFUX1ZZVVk6CiAJCWlmICht b2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9MSU5FQVIgfHwKLQkJICAgIG1vZGlmaWVyID09IEk5 MTVfRk9STUFUX01PRF9YX1RJTEVEKQorCQkgICAgbW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0Rf SU5URUxfWF9USUxFRCkKIAkJCXJldHVybiB0cnVlOwogCQkvKiBmYWxsIHRocm91Z2ggKi8KIAlk ZWZhdWx0OgpAQCAtMTM5MSwxMiArMTM5MSwxMiBAQCBzdGF0aWMgYm9vbCBza2xfcGxhbmVfZm9y bWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqX3BsYW5lLAogCiAJc3dpdGNoICht b2RpZmllcikgewogCWNhc2UgRFJNX0ZPUk1BVF9NT0RfTElORUFSOgotCWNhc2UgSTkxNV9GT1JN QVRfTU9EX1hfVElMRUQ6Ci0JY2FzZSBJOTE1X0ZPUk1BVF9NT0RfWV9USUxFRDoKLQljYXNlIEk5 MTVfRk9STUFUX01PRF9ZZl9USUxFRDoKKwljYXNlIERSTV9GT1JNQVRfTU9EX0lOVEVMX1hfVElM RUQ6CisJY2FzZSBEUk1fRk9STUFUX01PRF9JTlRFTF9ZX1RJTEVEOgorCWNhc2UgRFJNX0ZPUk1B VF9NT0RfSU5URUxfWWZfVElMRUQ6CiAJCWJyZWFrOwotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lf VElMRURfQ0NTOgotCWNhc2UgSTkxNV9GT1JNQVRfTU9EX1lmX1RJTEVEX0NDUzoKKwljYXNlIERS TV9GT1JNQVRfTU9EX0lOVEVMX1lfVElMRURfQ0NTOgorCWNhc2UgRFJNX0ZPUk1BVF9NT0RfSU5U RUxfWWZfVElMRURfQ0NTOgogCQlpZiAoIXBsYW5lLT5oYXNfY2NzKQogCQkJcmV0dXJuIGZhbHNl OwogCQlicmVhazsKQEAgLTE0MjAsMTMgKzE0MjAsMTMgQEAgc3RhdGljIGJvb2wgc2tsX3BsYW5l X2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKIAljYXNlIERS TV9GT1JNQVRfVVlWWToKIAljYXNlIERSTV9GT1JNQVRfVllVWToKIAljYXNlIERSTV9GT1JNQVRf TlYxMjoKLQkJaWYgKG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRCkKKwkJaWYg KG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0lOVEVMX1lmX1RJTEVEKQogCQkJcmV0dXJuIHRy dWU7CiAJCS8qIGZhbGwgdGhyb3VnaCAqLwogCWNhc2UgRFJNX0ZPUk1BVF9DODoKIAkJaWYgKG1v ZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUiB8fAotCQkgICAgbW9kaWZpZXIgPT0gSTkx NV9GT1JNQVRfTU9EX1hfVElMRUQgfHwKLQkJICAgIG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01P RF9ZX1RJTEVEKQorCQkgICAgbW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWF9USUxF RCB8fAorCQkgICAgbW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5URUxfWV9USUxFRCkKIAkJ CXJldHVybiB0cnVlOwogCQkvKiBmYWxsIHRocm91Z2ggKi8KIAlkZWZhdWx0OgotLSAKQ2hlZXJz LAogIEVyaWMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=