From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D9B63CD4F5E for ; Wed, 20 May 2026 07:13:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 50F0D10EF2F; Wed, 20 May 2026 07:13:30 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NSckfHTY"; dkim-atps=neutral Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5C9A610E3F4 for ; Tue, 19 May 2026 22:01:17 +0000 (UTC) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5a746f9c092so6687443e87.1 for ; Tue, 19 May 2026 15:01:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779228076; x=1779832876; darn=lists.freedesktop.org; h=content-transfer-encoding:message-id:date:to:from:subject :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=JdJcIqakYuzyXX885cZQWlamQi2y9YMbbZKeZgBpHYY=; b=NSckfHTYjy9quL2fvH6jjT7Ei5BYf8xtljpwHYO5Dv7Q/W0yTDK1RrdgFcSbf0G4m4 deRBLE08XlHRHCeZ9mBUgrMCjqh9OTEgyI26/hz7omcsaWY4oDZr9yLq8xbZY69TkTrW 6hheF2638fZo/SvPb/0Uwd66J0dqfHZwq904YRl/UN0ia1msUiB9oZptzQCbBSAqwWOq URCOH6wMsQR/Ci8UbFcY7imemg86jN7MDzIP5/pb/RFStZANtLRp7GCAq+4NHa03Od9F guObaHdeVwxUVNqXG6Zl61UD5Y2rhz4HBu3lDEZkUAGkM5J4TRxW9z5cZ1eMH25jHIwx PdoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779228076; x=1779832876; h=content-transfer-encoding:message-id:date:to:from:subject :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=JdJcIqakYuzyXX885cZQWlamQi2y9YMbbZKeZgBpHYY=; b=J6ea9c1fj6ox58pZBAAMaeuiSGg+uRhuScpVm+rvSj06TB+R7VqW2y4Kpo6LzwJERA 6qdwtHB9zhpe1bLZ84jfdJMnojMKKjTa7sgOrcc24mi6ZTCZOkRPeGWMXr+JpdiwVoMQ Y7NV5AFqNvCdbXNio9pn+Nuw1M2yOSc5AIh2VJfb9R5Y8Y4vpx2WQxZI6whvr+4OZw5H HWiafAphy4zLJ9X4tAsqVowKFoMpRQ7q7tc/RL6+b+B/CPhEHwiWcnRsqaAV30VuXxCU IpY1ztuJwv4fEyHw8f7VVvhpBFOIqeX0eT2ckSRU3/SFKugWyhV7UMelX0vICmPnLtS2 W/OQ== X-Forwarded-Encrypted: i=1; AFNElJ927h9noWuyXx5VvuvUfm3w1r5zjaP4odHlyEn4BXQ32xJl4alkU+SsHtyKvjIWFTk0OyewpZKRbLw=@lists.freedesktop.org X-Gm-Message-State: AOJu0YyKmbHaEUfwIQGieGMTh5TGfkOvZxsA5FzRdQFiFmFKjcUccb7M mYlZYJL9X8ATvfgo4Vep2iS5/xBH0IANBI84hiUMxW3RjELMrc01CXX210DbPQiz X-Gm-Gg: Acq92OGBCmN28SARcBbYru8TA6iuyiCuUaasFy9m/xdDY5yOHAitqEHxlLHBmTNgtfq OdTObWilUkfcFwmNHngQfkw+EisoI/WivENbDtHK9gvUDcnokaTyPgPpXFK3WpGJHb4audLiIQL dFTRDEMbvAlahQt27Hs7iWqAx1jnJ5GW67M23vYDKFikOZjBpaLa/afea/BGTO0XHslNPAYqhGz O1YvWRPxns/1ZxKF9QFBGiWrMJqBbGgtxTpY7AjuXDHbp+Z9YxlsnzSFLIGM8YbQ5XGhLWRW3rD tNp2Tc9IBn8CbewmNIZ/xjuxdbBHKJqDOuHVH2B9G2UZeHDt2tdA+VQJsyjx7gCkW3XUTBsG1cl ho1NxwuScD+uXxJPCx+bNWWcQ19wLVde2uXCIL/IS2q92uKCRCjR/xqDxFIVZkdVFD8UA/yc/k3 oJlAjmWXErX9cLhWApHg0sg6bjYgDzMojiDYU84+EKPza3u53YsdJ+JISz778dCJkbgA== X-Received: by 2002:a05:6512:23a1:b0:5a3:ff48:f7d6 with SMTP id 2adb3069b0e04-5aa0df9a7famr5610767e87.13.1779228075342; Tue, 19 May 2026 15:01:15 -0700 (PDT) Received: from Shofiq.localdomain (87-92-218-151.rev.dnainternet.fi. [87.92.218.151]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a91e2b6db9sm4401785e87.84.2026.05.19.15.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 15:01:14 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [PATCH] drm/accel/ivpu: send exact IPC message size instead of union size From: Md Shofiqul Islam To: maciej.falkowski@linux.intel.com, karol.wachowski@linux.intel.com, dri-devel@lists.freedesktop.org Date: Wed, 20 May 2026 01:01:12 +0300 Message-ID: <177922807295.254725.11654057638908709302@gmail.com> Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Wed, 20 May 2026 07:13:27 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbSBmYjAzODI0MWQ0NTlmMzNiNjA1M2FiY2EzM2QxZjUwMGU0ZDM1ODlhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZCBTaG9maXF1bCBJc2xhbSA8c2hvZmlxdGVzdEBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMjAgTWF5IDIwMjYgMDE6MDA6MTkgKzAzMDAKU3ViamVjdDogW1BBVENI XSBkcm0vYWNjZWwvaXZwdTogc2VuZCBleGFjdCBJUEMgbWVzc2FnZSBzaXplIGluc3RlYWQgb2Yg dW5pb24KIHNpemUKClRoZSBJUEMgaGVhZGVyIGRhdGFfc2l6ZSBmaWVsZCBpcyBkb2N1bWVudGVk IHRvIGNhcnJ5IHRoZSBzaXplIG9mIHRoZSBKU00KcGF5bG9hZC4gIFByZXZpb3VzbHkgaXQgd2Fz IGFsd2F5cyBzZXQgdG8gc2l6ZW9mKHN0cnVjdCB2cHVfanNtX21zZykgd2hpY2gKaXMgdGhlIHNp emUgb2YgdGhlIGZ1bGwgdW5pb24gb2YgYWxsIHBvc3NpYmxlIHBheWxvYWRzLCBub3QgdGhlIHNp emUgb2YgdGhlCnNwZWNpZmljIG1lc3NhZ2UgYmVpbmcgc2VudC4KCkludHJvZHVjZSB0d28gaGVs cGVycyBpbiBpdnB1X2lwYy5oOgogIElWUFVfSlNNX01TR19CQVNFX1NJWkUgIC0tIGhlYWRlci1v bmx5IHNpemUgZm9yIG1lc3NhZ2VzIHdpdGggbm8gcGF5bG9hZAogIElWUFVfSlNNX01TR19TSVpF KG0pICAgIC0tIGhlYWRlciArIHNpemVvZihwYXlsb2FkLm0pIGZvciBtZXNzYWdlcyB0aGF0CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FycnkgYSBzcGVjaWZpYyBwYXlsb2FkIG1lbWJl cgoKVGhyZWFkIGFuIGV4cGxpY2l0IG1zZ19zaXplIGFyZ3VtZW50IHRocm91Z2ggaXZwdV9pcGNf dHhfcHJlcGFyZSgpLAppdnB1X2lwY19zZW5kKCksIGl2cHVfaXBjX3NlbmRfcmVjZWl2ZV9pbnRl cm5hbCgpLCBpdnB1X2lwY19zZW5kX3JlY2VpdmUoKQphbmQgaXZwdV9pcGNfc2VuZF9hbmRfd2Fp dCgpLCB0aGVuIHVwZGF0ZSBhbGwgMjUgY2FsbC1zaXRlcyBpbgppdnB1X2pzbV9tc2cuYyB0byBw YXNzIHRoZSBhcHByb3ByaWF0ZSBzaXplLgoKVGhpcyByZXNvbHZlcyB0aGUgVE9ETyBjb21tZW50 IGFkZGVkIGluIGNvbW1pdCBpbnRyb2R1Y2luZyB0aGUgSVBDIGxheWVyLgoKU2lnbmVkLW9mZi1i eTogTWQgU2hvZmlxdWwgSXNsYW0gPHNob2ZpcXRlc3RAZ21haWwuY29tPgotLS0KIGRyaXZlcnMv YWNjZWwvaXZwdS9pdnB1X2lwYy5jICAgICB8IDI3ICsrKysrKy0tLS0tCiBkcml2ZXJzL2FjY2Vs L2l2cHUvaXZwdV9pcGMuaCAgICAgfCAxNiArKysrKy0tCiBkcml2ZXJzL2FjY2VsL2l2cHUvaXZw dV9qc21fbXNnLmMgfCA3NSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvYWNjZWwvaXZwdS9pdnB1X2lwYy5jIGIvZHJpdmVycy9hY2NlbC9pdnB1L2l2cHVf aXBjLmMKaW5kZXggZjQ3ZGYwOTJiLi4wYzA0MmE3ZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNj ZWwvaXZwdS9pdnB1X2lwYy5jCisrKyBiL2RyaXZlcnMvYWNjZWwvaXZwdS9pdnB1X2lwYy5jCkBA IC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lkIGl2cHVfaXBjX21lbV9maW5pKHN0cnVjdCBpdnB1 X2RldmljZSAqdmRldikKIAogc3RhdGljIGludAogaXZwdV9pcGNfdHhfcHJlcGFyZShzdHJ1Y3Qg aXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lwY19jb25zdW1lciAqY29ucywKLQkJICAg IHN0cnVjdCB2cHVfanNtX21zZyAqcmVxKQorCQkgICAgc3RydWN0IHZwdV9qc21fbXNnICpyZXEs IHUzMiBtc2dfc2l6ZSkKIHsKIAlzdHJ1Y3QgaXZwdV9pcGNfaW5mbyAqaXBjID0gdmRldi0+aXBj OwogCXN0cnVjdCBpdnB1X2lwY190eF9idWYgKnR4X2J1ZjsKQEAgLTk3LDggKzk3LDcgQEAgaXZw dV9pcGNfdHhfcHJlcGFyZShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lw Y19jb25zdW1lciAqY29ucywKIAogCW1lbXNldCh0eF9idWYsIDAsIHNpemVvZigqdHhfYnVmKSk7 CiAJdHhfYnVmLT5pcGMuZGF0YV9hZGRyID0ganNtX3ZwdV9hZGRyOwotCS8qIFRPRE86IFNldCBk YXRhX3NpemUgdG8gYWN0dWFsIEpTTSBtZXNzYWdlIHNpemUsIG5vdCB1bmlvbiBvZiBhbGwgbWVz c2FnZXMgKi8KLQl0eF9idWYtPmlwYy5kYXRhX3NpemUgPSBzaXplb2YoKnJlcSk7CisJdHhfYnVm LT5pcGMuZGF0YV9zaXplID0gbXNnX3NpemU7CiAJdHhfYnVmLT5pcGMuY2hhbm5lbCA9IGNvbnMt PmNoYW5uZWw7CiAJdHhfYnVmLT5pcGMuc3JjX25vZGUgPSAwOwogCXR4X2J1Zi0+aXBjLmRzdF9u b2RlID0gMTsKQEAgLTIxMCw3ICsyMDksOCBAQCB2b2lkIGl2cHVfaXBjX2NvbnN1bWVyX2RlbChz dHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lwY19jb25zdW1lciAqYwogCWl2 cHVfaXBjX3R4X3JlbGVhc2UodmRldiwgY29ucy0+dHhfdnB1X2FkZHIpOwogfQogCi1pbnQgaXZw dV9pcGNfc2VuZChzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lwY19jb25z dW1lciAqY29ucywgc3RydWN0IHZwdV9qc21fbXNnICpyZXEpCitpbnQgaXZwdV9pcGNfc2VuZChz dHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lwY19jb25zdW1lciAqY29ucywK KwkJICBzdHJ1Y3QgdnB1X2pzbV9tc2cgKnJlcSwgdTMyIG1zZ19zaXplKQogewogCXN0cnVjdCBp dnB1X2lwY19pbmZvICppcGMgPSB2ZGV2LT5pcGM7CiAJaW50IHJldDsKQEAgLTIyMiw3ICsyMjIs NyBAQCBpbnQgaXZwdV9pcGNfc2VuZChzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBp dnB1X2lwY19jb25zdW1lciAqY29ucywgc3RydQogCQlnb3RvIHVubG9jazsKIAl9CiAKLQlyZXQg PSBpdnB1X2lwY190eF9wcmVwYXJlKHZkZXYsIGNvbnMsIHJlcSk7CisJcmV0ID0gaXZwdV9pcGNf dHhfcHJlcGFyZSh2ZGV2LCBjb25zLCByZXEsIG1zZ19zaXplKTsKIAlpZiAocmV0KQogCQlnb3Rv IHVubG9jazsKIApAQCAtMjk2LDcgKzI5Niw4IEBAIGludCBpdnB1X2lwY19yZWNlaXZlKHN0cnVj dCBpdnB1X2RldmljZSAqdmRldiwgc3RydWN0IGl2cHVfaXBjX2NvbnN1bWVyICpjb25zLAogaW50 CiBpdnB1X2lwY19zZW5kX3JlY2VpdmVfaW50ZXJuYWwoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2 LCBzdHJ1Y3QgdnB1X2pzbV9tc2cgKnJlcSwKIAkJCSAgICAgICBlbnVtIHZwdV9pcGNfbXNnX3R5 cGUgZXhwZWN0ZWRfcmVzcF90eXBlLAotCQkJICAgICAgIHN0cnVjdCB2cHVfanNtX21zZyAqcmVz cCwgdTMyIGNoYW5uZWwsIHVuc2lnbmVkIGxvbmcgdGltZW91dF9tcykKKwkJCSAgICAgICBzdHJ1 Y3QgdnB1X2pzbV9tc2cgKnJlc3AsIHUzMiBjaGFubmVsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXRf bXMsCisJCQkgICAgICAgdTMyIG1zZ19zaXplKQogewogCXN0cnVjdCBpdnB1X2lwY19jb25zdW1l ciBjb25zOwogCWludCByZXQ7CkBAIC0zMDYsNyArMzA3LDcgQEAgaXZwdV9pcGNfc2VuZF9yZWNl aXZlX2ludGVybmFsKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgc3RydWN0IHZwdV9qc21fbXNn ICpyZXEKIAogCWl2cHVfaXBjX2NvbnN1bWVyX2FkZCh2ZGV2LCAmY29ucywgY2hhbm5lbCwgTlVM TCk7CiAKLQlyZXQgPSBpdnB1X2lwY19zZW5kKHZkZXYsICZjb25zLCByZXEpOworCXJldCA9IGl2 cHVfaXBjX3NlbmQodmRldiwgJmNvbnMsIHJlcSwgbXNnX3NpemUpOwogCWlmIChyZXQpIHsKIAkJ aXZwdV93YXJuX3JhdGVsaW1pdGVkKHZkZXYsICJJUEMgc2VuZCBmYWlsZWQ6ICVkXG4iLCByZXQp OwogCQlnb3RvIGNvbnN1bWVyX2RlbDsKQEAgLTMzMSw3ICszMzIsNyBAQCBpdnB1X2lwY19zZW5k X3JlY2VpdmVfaW50ZXJuYWwoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCBzdHJ1Y3QgdnB1X2pz bV9tc2cgKnJlcQogCiBpbnQgaXZwdV9pcGNfc2VuZF9yZWNlaXZlKHN0cnVjdCBpdnB1X2Rldmlj ZSAqdmRldiwgc3RydWN0IHZwdV9qc21fbXNnICpyZXEsCiAJCQkgIGVudW0gdnB1X2lwY19tc2df dHlwZSBleHBlY3RlZF9yZXNwLCBzdHJ1Y3QgdnB1X2pzbV9tc2cgKnJlc3AsCi0JCQkgIHUzMiBj aGFubmVsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXMpCisJCQkgIHUzMiBjaGFubmVsLCB1bnNp Z25lZCBsb25nIHRpbWVvdXRfbXMsIHUzMiBtc2dfc2l6ZSkKIHsKIAlzdHJ1Y3QgdnB1X2pzbV9t c2cgaGJfcmVxID0geyAudHlwZSA9IFZQVV9KU01fTVNHX1FVRVJZX0VOR0lORV9IQiB9OwogCXN0 cnVjdCB2cHVfanNtX21zZyBoYl9yZXNwOwpAQCAtMzQxLDEzICszNDIsMTUgQEAgaW50IGl2cHVf aXBjX3NlbmRfcmVjZWl2ZShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCB2cHVfanNt X21zZyAqcmVxLAogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0gaXZwdV9p cGNfc2VuZF9yZWNlaXZlX2ludGVybmFsKHZkZXYsIHJlcSwgZXhwZWN0ZWRfcmVzcCwgcmVzcCwg Y2hhbm5lbCwgdGltZW91dF9tcyk7CisJcmV0ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlX2ludGVy bmFsKHZkZXYsIHJlcSwgZXhwZWN0ZWRfcmVzcCwgcmVzcCwgY2hhbm5lbCwgdGltZW91dF9tcywK KwkJCQkJICAgICBtc2dfc2l6ZSk7CiAJaWYgKHJldCAhPSAtRVRJTUVET1VUKQogCQlnb3RvIHJw bV9wdXQ7CiAKIAloYl9yZXQgPSBpdnB1X2lwY19zZW5kX3JlY2VpdmVfaW50ZXJuYWwodmRldiwg JmhiX3JlcSwgVlBVX0pTTV9NU0dfUVVFUllfRU5HSU5FX0hCX0RPTkUsCiAJCQkJCQkmaGJfcmVz cCwgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwKLQkJCQkJCXZkZXYtPnRpbWVvdXQuanNtKTsKKwkJ CQkJCXZkZXYtPnRpbWVvdXQuanNtLAorCQkJCQkJSVZQVV9KU01fTVNHX0JBU0VfU0laRSk7CiAJ aWYgKGhiX3JldCA9PSAtRVRJTUVET1VUKQogCQlpdnB1X3BtX3RyaWdnZXJfcmVjb3ZlcnkodmRl diwgIklQQyB0aW1lb3V0Iik7CiAKQEAgLTM1Nyw3ICszNjAsNyBAQCBpbnQgaXZwdV9pcGNfc2Vu ZF9yZWNlaXZlKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgc3RydWN0IHZwdV9qc21fbXNnICpy ZXEsCiB9CiAKIGludCBpdnB1X2lwY19zZW5kX2FuZF93YWl0KHN0cnVjdCBpdnB1X2RldmljZSAq dmRldiwgc3RydWN0IHZwdV9qc21fbXNnICpyZXEsCi0JCQkgICB1MzIgY2hhbm5lbCwgdW5zaWdu ZWQgbG9uZyB0aW1lb3V0X21zKQorCQkJICAgdTMyIGNoYW5uZWwsIHVuc2lnbmVkIGxvbmcgdGlt ZW91dF9tcywgdTMyIG1zZ19zaXplKQogewogCXN0cnVjdCBpdnB1X2lwY19jb25zdW1lciBjb25z OwogCWludCByZXQ7CkBAIC0zNjgsNyArMzcxLDcgQEAgaW50IGl2cHVfaXBjX3NlbmRfYW5kX3dh aXQoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCBzdHJ1Y3QgdnB1X2pzbV9tc2cgKnJlcSwKIAog CWl2cHVfaXBjX2NvbnN1bWVyX2FkZCh2ZGV2LCAmY29ucywgY2hhbm5lbCwgTlVMTCk7CiAKLQly ZXQgPSBpdnB1X2lwY19zZW5kKHZkZXYsICZjb25zLCByZXEpOworCXJldCA9IGl2cHVfaXBjX3Nl bmQodmRldiwgJmNvbnMsIHJlcSwgbXNnX3NpemUpOwogCWlmIChyZXQpIHsKIAkJaXZwdV93YXJu X3JhdGVsaW1pdGVkKHZkZXYsICJJUEMgc2VuZCBmYWlsZWQ6ICVkXG4iLCByZXQpOwogCQlnb3Rv IGNvbnN1bWVyX2RlbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNjZWwvaXZwdS9pdnB1X2lwYy5o IGIvZHJpdmVycy9hY2NlbC9pdnB1L2l2cHVfaXBjLmgKaW5kZXggYjUyNGExOTg1Li5jMWIyZWYz ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNjZWwvaXZwdS9pdnB1X2lwYy5oCisrKyBiL2RyaXZl cnMvYWNjZWwvaXZwdS9pdnB1X2lwYy5oCkBAIC0xMSw2ICsxMSwxMyBAQAogCiAjaW5jbHVkZSAi dnB1X2pzbV9hcGkuaCIKIAorLyogU2l6ZSBvZiBhIEpTTSBtZXNzYWdlIHdpdGggbm8gcGF5bG9h ZCAqLworI2RlZmluZSBJVlBVX0pTTV9NU0dfQkFTRV9TSVpFICgodTMyKW9mZnNldG9mKHN0cnVj dCB2cHVfanNtX21zZywgcGF5bG9hZCkpCisvKiBTaXplIG9mIGEgSlNNIG1lc3NhZ2Ugd2l0aCBh IHNwZWNpZmljIHBheWxvYWQgbWVtYmVyICovCisjZGVmaW5lIElWUFVfSlNNX01TR19TSVpFKG1l bWJlcikgXAorCSgodTMyKShvZmZzZXRvZihzdHJ1Y3QgdnB1X2pzbV9tc2csIHBheWxvYWQpICsg XAorCSAgICAgICBzaXplb2YoKChzdHJ1Y3QgdnB1X2pzbV9tc2cgKikwKS0+cGF5bG9hZC5tZW1i ZXIpKSkKKwogc3RydWN0IGl2cHVfYm87CiAKIC8qIFZQVSBGVyBib290IG5vdGlmaWNhdGlvbiAq LwpAQCAtOTcsMTcgKzEwNCwxOCBAQCB2b2lkIGl2cHVfaXBjX2NvbnN1bWVyX2FkZChzdHJ1Y3Qg aXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lwY19jb25zdW1lciAqYwogdm9pZCBpdnB1 X2lwY19jb25zdW1lcl9kZWwoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCBzdHJ1Y3QgaXZwdV9p cGNfY29uc3VtZXIgKmNvbnMpOwogCiBpbnQgaXZwdV9pcGNfc2VuZChzdHJ1Y3QgaXZwdV9kZXZp Y2UgKnZkZXYsIHN0cnVjdCBpdnB1X2lwY19jb25zdW1lciAqY29ucywKLQkJICBzdHJ1Y3QgdnB1 X2pzbV9tc2cgKnJlcSk7CisJCSAgc3RydWN0IHZwdV9qc21fbXNnICpyZXEsIHUzMiBtc2dfc2l6 ZSk7CiBpbnQgaXZwdV9pcGNfcmVjZWl2ZShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHN0cnVj dCBpdnB1X2lwY19jb25zdW1lciAqY29ucywKIAkJICAgICBzdHJ1Y3QgaXZwdV9pcGNfaGRyICpp cGNfYnVmLCBzdHJ1Y3QgdnB1X2pzbV9tc2cgKmpzbV9tc2csCiAJCSAgICAgdW5zaWduZWQgbG9u ZyB0aW1lb3V0X21zKTsKIGludCBpdnB1X2lwY19zZW5kX3JlY2VpdmVfaW50ZXJuYWwoc3RydWN0 IGl2cHVfZGV2aWNlICp2ZGV2LCBzdHJ1Y3QgdnB1X2pzbV9tc2cgKnJlcSwKIAkJCQkgICBlbnVt IHZwdV9pcGNfbXNnX3R5cGUgZXhwZWN0ZWRfcmVzcF90eXBlLAotCQkJCSAgIHN0cnVjdCB2cHVf anNtX21zZyAqcmVzcCwgdTMyIGNoYW5uZWwsIHVuc2lnbmVkIGxvbmcgdGltZW91dF9tcyk7CisJ CQkJICAgc3RydWN0IHZwdV9qc21fbXNnICpyZXNwLCB1MzIgY2hhbm5lbCwgdW5zaWduZWQgbG9u ZyB0aW1lb3V0X21zLAorCQkJCSAgIHUzMiBtc2dfc2l6ZSk7CiBpbnQgaXZwdV9pcGNfc2VuZF9y ZWNlaXZlKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgc3RydWN0IHZwdV9qc21fbXNnICpyZXEs CiAJCQkgIGVudW0gdnB1X2lwY19tc2dfdHlwZSBleHBlY3RlZF9yZXNwLCBzdHJ1Y3QgdnB1X2pz bV9tc2cgKnJlc3AsCi0JCQkgIHUzMiBjaGFubmVsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXMp OworCQkJICB1MzIgY2hhbm5lbCwgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zLCB1MzIgbXNnX3Np emUpOwogaW50IGl2cHVfaXBjX3NlbmRfYW5kX3dhaXQoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2 LCBzdHJ1Y3QgdnB1X2pzbV9tc2cgKnJlcSwKLQkJCSAgIHUzMiBjaGFubmVsLCB1bnNpZ25lZCBs b25nIHRpbWVvdXRfbXMpOworCQkJICAgdTMyIGNoYW5uZWwsIHVuc2lnbmVkIGxvbmcgdGltZW91 dF9tcywgdTMyIG1zZ19zaXplKTsKIAogI2VuZGlmIC8qIF9fSVZQVV9JUENfSF9fICovCmRpZmYg LS1naXQgYS9kcml2ZXJzL2FjY2VsL2l2cHUvaXZwdV9qc21fbXNnLmMgYi9kcml2ZXJzL2FjY2Vs L2l2cHUvaXZwdV9qc21fbXNnLmMKaW5kZXggMDdiMWQ2ZjYxLi5hNzRmNWFlZDggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvYWNjZWwvaXZwdS9pdnB1X2pzbV9tc2cuYworKysgYi9kcml2ZXJzL2FjY2Vs L2l2cHUvaXZwdV9qc21fbXNnLmMKQEAgLTEwNSw3ICsxMDUsOCBAQCBpbnQgaXZwdV9qc21fcmVn aXN0ZXJfZGIoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCB1MzIgY3R4X2lkLCB1MzIgZGJfaWQs CiAJcmVxLnBheWxvYWQucmVnaXN0ZXJfZGIuaG9zdF9zc2lkID0gY3R4X2lkOwogCiAJcmV0ID0g aXZwdV9pcGNfc2VuZF9yZWNlaXZlKHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX1JFR0lTVEVSX0RC X0RPTkUsICZyZXNwLAotCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1l b3V0LmpzbSk7CisJCQkJICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQu anNtLAorCQkJCSAgICBJVlBVX0pTTV9NU0dfU0laRShyZWdpc3Rlcl9kYikpOwogCWlmIChyZXQp CiAJCWl2cHVfZXJyX3JhdGVsaW1pdGVkKHZkZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgZG9vcmJl bGwgJXU6ICVkXG4iLCBkYl9pZCwgcmV0KTsKIApAQCAtMTIxLDcgKzEyMiw4IEBAIGludCBpdnB1 X2pzbV91bnJlZ2lzdGVyX2RiKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgdTMyIGRiX2lkKQog CXJlcS5wYXlsb2FkLnVucmVnaXN0ZXJfZGIuZGJfaWR4ID0gZGJfaWQ7CiAKIAlyZXQgPSBpdnB1 X2lwY19zZW5kX3JlY2VpdmUodmRldiwgJnJlcSwgVlBVX0pTTV9NU0dfVU5SRUdJU1RFUl9EQl9E T05FLCAmcmVzcCwKLQkJCQkgICAgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91 dC5qc20pOworCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0Lmpz bSwKKwkJCQkgICAgSVZQVV9KU01fTVNHX1NJWkUodW5yZWdpc3Rlcl9kYikpOwogCWlmIChyZXQp CiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2ZGV2LCAiRmFpbGVkIHRvIHVucmVnaXN0ZXIgZG9v cmJlbGwgJXU6ICVkXG4iLCBkYl9pZCwgcmV0KTsKIApAQCAtMTQwLDcgKzE0Miw4IEBAIGludCBp dnB1X2pzbV9nZXRfaGVhcnRiZWF0KHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgdTMyIGVuZ2lu ZSwgdTY0ICpoZWFydGJlYXQpCiAJcmVxLnBheWxvYWQucXVlcnlfZW5naW5lX2hiLmVuZ2luZV9p ZHggPSBlbmdpbmU7CiAKIAlyZXQgPSBpdnB1X2lwY19zZW5kX3JlY2VpdmUodmRldiwgJnJlcSwg VlBVX0pTTV9NU0dfUVVFUllfRU5HSU5FX0hCX0RPTkUsICZyZXNwLAotCQkJCSAgICBWUFVfSVBD X0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSk7CisJCQkJICAgIFZQVV9JUENfQ0hB Tl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQuanNtLAorCQkJCSAgICBJVlBVX0pTTV9NU0dfU0la RShxdWVyeV9lbmdpbmVfaGIpKTsKIAlpZiAocmV0KSB7CiAJCWl2cHVfZXJyX3JhdGVsaW1pdGVk KHZkZXYsICJGYWlsZWQgdG8gZ2V0IGhlYXJ0YmVhdCBmcm9tIGVuZ2luZSAlZDogJWRcbiIsCiAJ CQkJICAgICBlbmdpbmUsIHJldCk7CkBAIC0xNjIsNyArMTY1LDggQEAgaW50IGl2cHVfanNtX3Jl c2V0X2VuZ2luZShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHUzMiBlbmdpbmUsIHN0cnVjdCB2 cHVfanNtX20KIAlyZXEucGF5bG9hZC5lbmdpbmVfcmVzZXQuZW5naW5lX2lkeCA9IGVuZ2luZTsK IAogCXJldCA9IGl2cHVfaXBjX3NlbmRfcmVjZWl2ZSh2ZGV2LCAmcmVxLCBWUFVfSlNNX01TR19F TkdJTkVfUkVTRVRfRE9ORSwgcmVzcCwKLQkJCQkgICAgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwg dmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2 LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01fTVNHX1NJWkUoZW5naW5lX3Jlc2V0KSk7 CiAJaWYgKHJldCkgewogCQlpdnB1X2Vycl9yYXRlbGltaXRlZCh2ZGV2LCAiRmFpbGVkIHRvIHJl c2V0IGVuZ2luZSAlZDogJWRcbiIsIGVuZ2luZSwgcmV0KTsKIAkJaXZwdV9wbV90cmlnZ2VyX3Jl Y292ZXJ5KHZkZXYsICJFbmdpbmUgcmVzZXQgZmFpbGVkIik7CkBAIC0xODcsNyArMTkxLDggQEAg aW50IGl2cHVfanNtX3ByZWVtcHRfZW5naW5lKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgdTMy IGVuZ2luZSwgdTMyIHByZWVtcHRfaWQKIAlyZXEucGF5bG9hZC5lbmdpbmVfcHJlZW1wdC5wcmVl bXB0X2lkID0gcHJlZW1wdF9pZDsKIAogCXJldCA9IGl2cHVfaXBjX3NlbmRfcmVjZWl2ZSh2ZGV2 LCAmcmVxLCBWUFVfSlNNX01TR19FTkdJTkVfUFJFRU1QVF9ET05FLCAmcmVzcCwKLQkJCQkgICAg VlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVf SVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01f TVNHX1NJWkUoZW5naW5lX3ByZWVtcHQpKTsKIAlpZiAocmV0KQogCQlpdnB1X2Vycl9yYXRlbGlt aXRlZCh2ZGV2LCAiRmFpbGVkIHRvIHByZWVtcHQgZW5naW5lICVkOiAlZFxuIiwgZW5naW5lLCBy ZXQpOwogCkBAIC0yMDMsNyArMjA4LDggQEAgaW50IGl2cHVfanNtX2R5bmRiZ19jb250cm9sKHN0 cnVjdCBpdnB1X2RldmljZSAqdmRldiwgY2hhciAqY29tbWFuZCwgc2l6ZV90IHNpemUKIAlzdHJz Y3B5KHJlcS5wYXlsb2FkLmR5bmRiZ19jb250cm9sLmR5bmRiZ19jbWQsIGNvbW1hbmQsIFZQVV9E WU5EQkdfQ01EX01BWF9MRU4pOwogCiAJcmV0ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlKHZkZXYs ICZyZXEsIFZQVV9KU01fTVNHX0RZTkRCR19DT05UUk9MX1JTUCwgJnJlc3AsCi0JCQkJICAgIFZQ VV9JUENfQ0hBTl9HRU5fQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSk7CisJCQkJICAgIFZQVV9JUENf Q0hBTl9HRU5fQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01fTVNHX1NJ WkUoZHluZGJnX2NvbnRyb2wpKTsKIAlpZiAocmV0KQogCQlpdnB1X3dhcm5fcmF0ZWxpbWl0ZWQo dmRldiwgIkZhaWxlZCB0byBzZW5kIGNvbW1hbmQgXCIlc1wiOiByZXQgJWRcbiIsCiAJCQkJICAg ICAgY29tbWFuZCwgcmV0KTsKQEAgLTIxOSw3ICsyMjUsOCBAQCBpbnQgaXZwdV9qc21fdHJhY2Vf Z2V0X2NhcGFiaWxpdHkoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCB1MzIgKnRyYWNlX2Rlc3Rp bmF0aQogCWludCByZXQ7CiAKIAlyZXQgPSBpdnB1X2lwY19zZW5kX3JlY2VpdmUodmRldiwgJnJl cSwgVlBVX0pTTV9NU0dfVFJBQ0VfR0VUX0NBUEFCSUxJVFlfUlNQLCAmcmVzcCwKLQkJCQkgICAg VlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVf SVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01f TVNHX0JBU0VfU0laRSk7CiAJaWYgKHJldCkgewogCQlpdnB1X3dhcm5fcmF0ZWxpbWl0ZWQodmRl diwgIkZhaWxlZCB0byBnZXQgdHJhY2UgY2FwYWJpbGl0eTogJWRcbiIsIHJldCk7CiAJCXJldHVy biByZXQ7CkBAIC0yNDMsNyArMjUwLDggQEAgaW50IGl2cHVfanNtX3RyYWNlX3NldF9jb25maWco c3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCB1MzIgdHJhY2VfbGV2ZWwsIHUzMiB0cmEKIAlyZXEu cGF5bG9hZC50cmFjZV9jb25maWcudHJhY2VfaHdfY29tcG9uZW50X21hc2sgPSB0cmFjZV9od19j b21wb25lbnRfbWFzazsKIAogCXJldCA9IGl2cHVfaXBjX3NlbmRfcmVjZWl2ZSh2ZGV2LCAmcmVx LCBWUFVfSlNNX01TR19UUkFDRV9TRVRfQ09ORklHX1JTUCwgJnJlc3AsCi0JCQkJICAgIFZQVV9J UENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQuanNtKTsKKwkJCQkgICAgVlBVX0lQQ19D SEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20sCisJCQkJICAgIElWUFVfSlNNX01TR19T SVpFKHRyYWNlX2NvbmZpZykpOwogCWlmIChyZXQpCiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2 ZGV2LCAiRmFpbGVkIHRvIHNldCBjb25maWc6ICVkXG4iLCByZXQpOwogCkBAIC0yNTksNyArMjY3 LDggQEAgaW50IGl2cHVfanNtX2NvbnRleHRfcmVsZWFzZShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZk ZXYsIHUzMiBob3N0X3NzaWQpCiAJcmVxLnBheWxvYWQuc3NpZF9yZWxlYXNlLmhvc3Rfc3NpZCA9 IGhvc3Rfc3NpZDsKIAogCXJldCA9IGl2cHVfaXBjX3NlbmRfcmVjZWl2ZSh2ZGV2LCAmcmVxLCBW UFVfSlNNX01TR19TU0lEX1JFTEVBU0VfRE9ORSwgJnJlc3AsCi0JCQkJICAgIFZQVV9JUENfQ0hB Tl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQuanNtKTsKKwkJCQkgICAgVlBVX0lQQ19DSEFOX0FT WU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20sCisJCQkJICAgIElWUFVfSlNNX01TR19TSVpFKHNz aWRfcmVsZWFzZSkpOwogCWlmIChyZXQpCiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2ZGV2LCAi RmFpbGVkIHRvIHJlbGVhc2UgY29udGV4dDogJWRcbiIsIHJldCk7CiAKQEAgLTI3OCw3ICsyODcs OCBAQCBpbnQgaXZwdV9qc21fcHdyX2QwaTNfZW50ZXIoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2 KQogCXJlcS5wYXlsb2FkLnB3cl9kMGkzX2VudGVyLnNlbmRfcmVzcG9uc2UgPSAxOwogCiAJcmV0 ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlX2ludGVybmFsKHZkZXYsICZyZXEsIFZQVV9KU01fTVNH X1BXUl9EMEkzX0VOVEVSX0RPTkUsICZyZXNwLAotCQkJCQkgICAgIFZQVV9JUENfQ0hBTl9HRU5f Q01ELCB2ZGV2LT50aW1lb3V0LmQwaTNfZW50cnlfbXNnKTsKKwkJCQkJICAgICBWUFVfSVBDX0NI QU5fR0VOX0NNRCwgdmRldi0+dGltZW91dC5kMGkzX2VudHJ5X21zZywKKwkJCQkJICAgICBJVlBV X0pTTV9NU0dfU0laRShwd3JfZDBpM19lbnRlcikpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKQEAgLTMwMSw3ICszMTEsOCBAQCBpbnQgaXZwdV9qc21faHdzX2NyZWF0ZV9jbWRxKHN0cnVj dCBpdnB1X2RldmljZSAqdmRldiwgdTMyIGN0eF9pZCwgdTMyIGNtZHFfZ3JvdQogCXJlcS5wYXls b2FkLmh3c19jcmVhdGVfY21kcS5jbWRxX3NpemUgPSBjbWRxX3NpemU7CiAKIAlyZXQgPSBpdnB1 X2lwY19zZW5kX3JlY2VpdmUodmRldiwgJnJlcSwgVlBVX0pTTV9NU0dfQ1JFQVRFX0NNRF9RVUVV RV9SU1AsICZyZXNwLAotCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1l b3V0LmpzbSk7CisJCQkJICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQu anNtLAorCQkJCSAgICBJVlBVX0pTTV9NU0dfU0laRShod3NfY3JlYXRlX2NtZHEpKTsKIAlpZiAo cmV0KQogCQlpdnB1X3dhcm5fcmF0ZWxpbWl0ZWQodmRldiwgIkZhaWxlZCB0byBjcmVhdGUgY29t bWFuZCBxdWV1ZTogJWRcbiIsIHJldCk7CiAKQEAgLTMxOCw3ICszMjksOCBAQCBpbnQgaXZwdV9q c21faHdzX2Rlc3Ryb3lfY21kcShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYsIHUzMiBjdHhfaWQs IHUzMiBjbWRxX2lkKQogCXJlcS5wYXlsb2FkLmh3c19kZXN0cm95X2NtZHEuY21kcV9pZCA9IGNt ZHFfaWQ7CiAKIAlyZXQgPSBpdnB1X2lwY19zZW5kX3JlY2VpdmUodmRldiwgJnJlcSwgVlBVX0pT TV9NU0dfREVTVFJPWV9DTURfUVVFVUVfUlNQLCAmcmVzcCwKLQkJCQkgICAgVlBVX0lQQ19DSEFO X0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZ TkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01fTVNHX1NJWkUoaHdz X2Rlc3Ryb3lfY21kcSkpOwogCWlmIChyZXQpCiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2ZGV2 LCAiRmFpbGVkIHRvIGRlc3Ryb3kgY29tbWFuZCBxdWV1ZTogJWRcbiIsIHJldCk7CiAKQEAgLTMz OSw3ICszNTEsOCBAQCBpbnQgaXZwdV9qc21faHdzX3JlZ2lzdGVyX2RiKHN0cnVjdCBpdnB1X2Rl dmljZSAqdmRldiwgdTMyIGN0eF9pZCwgdTMyIGNtZHFfaWQsCiAJcmVxLnBheWxvYWQuaHdzX3Jl Z2lzdGVyX2RiLmNtZHFfc2l6ZSA9IGNtZHFfc2l6ZTsKIAogCXJldCA9IGl2cHVfaXBjX3NlbmRf cmVjZWl2ZSh2ZGV2LCAmcmVxLCBWUFVfSlNNX01TR19SRUdJU1RFUl9EQl9ET05FLCAmcmVzcCwK LQkJCQkgICAgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJ CSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAg SVZQVV9KU01fTVNHX1NJWkUoaHdzX3JlZ2lzdGVyX2RiKSk7CiAJaWYgKHJldCkKIAkJaXZwdV9l cnJfcmF0ZWxpbWl0ZWQodmRldiwgIkZhaWxlZCB0byByZWdpc3RlciBkb29yYmVsbCAldTogJWRc biIsIGRiX2lkLCByZXQpOwogCkBAIC0zNTgsNyArMzcxLDggQEAgaW50IGl2cHVfanNtX2h3c19y ZXN1bWVfZW5naW5lKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgdTMyIGVuZ2luZSkKIAlyZXEu cGF5bG9hZC5od3NfcmVzdW1lX2VuZ2luZS5lbmdpbmVfaWR4ID0gZW5naW5lOwogCiAJcmV0ID0g aXZwdV9pcGNfc2VuZF9yZWNlaXZlKHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX0hXU19SRVNVTUVf RU5HSU5FX0RPTkUsICZyZXNwLAotCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2 LT50aW1lb3V0LmpzbSk7CisJCQkJICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRp bWVvdXQuanNtLAorCQkJCSAgICBJVlBVX0pTTV9NU0dfU0laRShod3NfcmVzdW1lX2VuZ2luZSkp OwogCWlmIChyZXQpIHsKIAkJaXZwdV9lcnJfcmF0ZWxpbWl0ZWQodmRldiwgIkZhaWxlZCB0byBy ZXN1bWUgZW5naW5lICVkOiAlZFxuIiwgZW5naW5lLCByZXQpOwogCQlpdnB1X3BtX3RyaWdnZXJf cmVjb3ZlcnkodmRldiwgIkVuZ2luZSByZXN1bWUgZmFpbGVkIik7CkBAIC0zODQsNyArMzk4LDgg QEAgaW50IGl2cHVfanNtX2h3c19zZXRfY29udGV4dF9zY2hlZF9wcm9wZXJ0aWVzKHN0cnVjdCBp dnB1X2RldmljZSAqdmRldiwgdTMyIGN0eF8KIAlyZXEucGF5bG9hZC5od3Nfc2V0X2NvbnRleHRf c2NoZWRfcHJvcGVydGllcy5ncmFjZV9wZXJpb2RfbG93ZXJfcHJpb3JpdHkgPSAwOwogCiAJcmV0 ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlKHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX1NFVF9DT05U RVhUX1NDSEVEX1BST1BFUlRJRVNfUlNQLCAmcmVzcCwKLQkJCQkgICAgVlBVX0lQQ19DSEFOX0FT WU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNf Q01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01fTVNHX1NJWkUoaHdzX3Nl dF9jb250ZXh0X3NjaGVkX3Byb3BlcnRpZXMpKTsKIAlpZiAocmV0KQogCQlpdnB1X3dhcm5fcmF0 ZWxpbWl0ZWQodmRldiwgIkZhaWxlZCB0byBzZXQgY29udGV4dCBzY2hlZCBwcm9wZXJ0aWVzOiAl ZFxuIiwgcmV0KTsKIApAQCAtNDA0LDcgKzQxOSw4IEBAIGludCBpdnB1X2pzbV9od3Nfc2V0X3Nj aGVkdWxpbmdfbG9nKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgdTMyIGVuZ2luZV9pZHgsIHUz CiAJcmVxLnBheWxvYWQuaHdzX3NldF9zY2hlZHVsaW5nX2xvZy5ub3RpZnlfaW5kZXggPSAwOwog CiAJcmV0ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlKHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX0hX U19TRVRfU0NIRURVTElOR19MT0dfUlNQLCAmcmVzcCwKLQkJCQkgICAgVlBVX0lQQ19DSEFOX0FT WU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNf Q01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01fTVNHX1NJWkUoaHdzX3Nl dF9zY2hlZHVsaW5nX2xvZykpOwogCWlmIChyZXQpCiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2 ZGV2LCAiRmFpbGVkIHRvIHNldCBzY2hlZHVsaW5nIGxvZzogJWRcbiIsIHJldCk7CiAKQEAgLTQy OSw3ICs0NDUsOCBAQCBpbnQgaXZwdV9qc21faHdzX3NldHVwX3ByaW9yaXR5X2JhbmRzKHN0cnVj dCBpdnB1X2RldmljZSAqdmRldikKIAlzZXR1cC0+bm9ybWFsX2JhbmRfcGVyY2VudGFnZSA9IDEw OwogCiAJcmV0ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlX2ludGVybmFsKHZkZXYsICZyZXEsIFZQ VV9KU01fTVNHX1NFVF9QUklPUklUWV9CQU5EX1NFVFVQX1JTUCwKLQkJCQkJICAgICAmcmVzcCwg VlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCQkgICAgICZy ZXNwLCBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkJICAg ICBJVlBVX0pTTV9NU0dfU0laRShod3NfcHJpb3JpdHlfYmFuZF9zZXR1cCkpOwogCWlmIChyZXQp CiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2ZGV2LCAiRmFpbGVkIHRvIHNldCBwcmlvcml0eSBi YW5kczogJWRcbiIsIHJldCk7CiAKQEAgLTQ0OSw3ICs0NjYsOCBAQCBpbnQgaXZwdV9qc21fbWV0 cmljX3N0cmVhbWVyX3N0YXJ0KHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwgdTY0IG1ldHJpY19n cm91cF9tYQogCXJlcS5wYXlsb2FkLm1ldHJpY19zdHJlYW1lcl9zdGFydC5idWZmZXJfc2l6ZSA9 IGJ1ZmZlcl9zaXplOwogCiAJcmV0ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZlKHZkZXYsICZyZXEs IFZQVV9KU01fTVNHX01FVFJJQ19TVFJFQU1FUl9TVEFSVF9ET05FLCAmcmVzcCwKLQkJCQkgICAg VlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCSAgICBWUFVf SVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkgICAgSVZQVV9KU01f TVNHX1NJWkUobWV0cmljX3N0cmVhbWVyX3N0YXJ0KSk7CiAJaWYgKHJldCkgewogCQlpdnB1X3dh cm5fcmF0ZWxpbWl0ZWQodmRldiwgIkZhaWxlZCB0byBzdGFydCBtZXRyaWMgc3RyZWFtZXI6IHJl dCAlZFxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKQEAgLTQ2Nyw3ICs0ODUsOCBAQCBpbnQgaXZw dV9qc21fbWV0cmljX3N0cmVhbWVyX3N0b3Aoc3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2LCB1NjQg bWV0cmljX2dyb3VwX21hcwogCXJlcS5wYXlsb2FkLm1ldHJpY19zdHJlYW1lcl9zdG9wLm1ldHJp Y19ncm91cF9tYXNrID0gbWV0cmljX2dyb3VwX21hc2s7CiAKIAlyZXQgPSBpdnB1X2lwY19zZW5k X3JlY2VpdmUodmRldiwgJnJlcSwgVlBVX0pTTV9NU0dfTUVUUklDX1NUUkVBTUVSX1NUT1BfRE9O RSwgJnJlc3AsCi0JCQkJICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQu anNtKTsKKwkJCQkgICAgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20s CisJCQkJICAgIElWUFVfSlNNX01TR19TSVpFKG1ldHJpY19zdHJlYW1lcl9zdG9wKSk7CiAJaWYg KHJldCkKIAkJaXZwdV93YXJuX3JhdGVsaW1pdGVkKHZkZXYsICJGYWlsZWQgdG8gc3RvcCBtZXRy aWMgc3RyZWFtZXI6IHJldCAlZFxuIiwgcmV0KTsKIApAQCAtNDg2LDcgKzUwNSw4IEBAIGludCBp dnB1X2pzbV9tZXRyaWNfc3RyZWFtZXJfdXBkYXRlKHN0cnVjdCBpdnB1X2RldmljZSAqdmRldiwg dTY0IG1ldHJpY19ncm91cF9tCiAJcmVxLnBheWxvYWQubWV0cmljX3N0cmVhbWVyX3VwZGF0ZS5i dWZmZXJfc2l6ZSA9IGJ1ZmZlcl9zaXplOwogCiAJcmV0ID0gaXZwdV9pcGNfc2VuZF9yZWNlaXZl KHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX01FVFJJQ19TVFJFQU1FUl9VUERBVEVfRE9ORSwgJnJl c3AsCi0JCQkJICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQuanNtKTsK KwkJCQkgICAgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20sCisJCQkJ ICAgIElWUFVfSlNNX01TR19TSVpFKG1ldHJpY19zdHJlYW1lcl91cGRhdGUpKTsKIAlpZiAocmV0 KSB7CiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2ZGV2LCAiRmFpbGVkIHRvIHVwZGF0ZSBtZXRy aWMgc3RyZWFtZXI6IHJldCAlZFxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKQEAgLTUxNSw3ICs1 MzUsOCBAQCBpbnQgaXZwdV9qc21fbWV0cmljX3N0cmVhbWVyX2luZm8oc3RydWN0IGl2cHVfZGV2 aWNlICp2ZGV2LCB1NjQgbWV0cmljX2dyb3VwX21hcwogCXJlcS5wYXlsb2FkLm1ldHJpY19zdHJl YW1lcl9zdGFydC5idWZmZXJfc2l6ZSA9IGJ1ZmZlcl9zaXplOwogCiAJcmV0ID0gaXZwdV9pcGNf c2VuZF9yZWNlaXZlKHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX01FVFJJQ19TVFJFQU1FUl9JTkZP X0RPTkUsICZyZXNwLAotCQkJCSAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2ZGV2LT50aW1l b3V0LmpzbSk7CisJCQkJICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQsIHZkZXYtPnRpbWVvdXQu anNtLAorCQkJCSAgICBJVlBVX0pTTV9NU0dfU0laRShtZXRyaWNfc3RyZWFtZXJfc3RhcnQpKTsK IAlpZiAocmV0KSB7CiAJCWl2cHVfd2Fybl9yYXRlbGltaXRlZCh2ZGV2LCAiRmFpbGVkIHRvIGdl dCBtZXRyaWMgc3RyZWFtZXIgaW5mbzogcmV0ICVkXG4iLCByZXQpOwogCQlyZXR1cm4gcmV0OwpA QCAtNTQzLDcgKzU2NCw4IEBAIGludCBpdnB1X2pzbV9kY3RfZW5hYmxlKHN0cnVjdCBpdnB1X2Rl dmljZSAqdmRldiwgdTMyIGFjdGl2ZV91cywgdTMyIGluYWN0aXZlX3VzCiAJcmVxLnBheWxvYWQu cHdyX2RjdF9jb250cm9sLmRjdF9pbmFjdGl2ZV91cyA9IGluYWN0aXZlX3VzOwogCiAJcmV0dXJu IGl2cHVfaXBjX3NlbmRfcmVjZWl2ZV9pbnRlcm5hbCh2ZGV2LCAmcmVxLCBWUFVfSlNNX01TR19E Q1RfRU5BQkxFX0RPTkUsICZyZXNwLAotCQkJCQkgICAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01E LCB2ZGV2LT50aW1lb3V0LmpzbSk7CisJCQkJCSAgICAgIFZQVV9JUENfQ0hBTl9BU1lOQ19DTUQs IHZkZXYtPnRpbWVvdXQuanNtLAorCQkJCQkgICAgICBJVlBVX0pTTV9NU0dfU0laRShwd3JfZGN0 X2NvbnRyb2wpKTsKIH0KIAogaW50IGl2cHVfanNtX2RjdF9kaXNhYmxlKHN0cnVjdCBpdnB1X2Rl dmljZSAqdmRldikKQEAgLTU1Miw3ICs1NzQsOCBAQCBpbnQgaXZwdV9qc21fZGN0X2Rpc2FibGUo c3RydWN0IGl2cHVfZGV2aWNlICp2ZGV2KQogCXN0cnVjdCB2cHVfanNtX21zZyByZXNwOwogCiAJ cmV0dXJuIGl2cHVfaXBjX3NlbmRfcmVjZWl2ZV9pbnRlcm5hbCh2ZGV2LCAmcmVxLCBWUFVfSlNN X01TR19EQ1RfRElTQUJMRV9ET05FLCAmcmVzcCwKLQkJCQkJICAgICAgVlBVX0lQQ19DSEFOX0FT WU5DX0NNRCwgdmRldi0+dGltZW91dC5qc20pOworCQkJCQkgICAgICBWUFVfSVBDX0NIQU5fQVNZ TkNfQ01ELCB2ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkJICAgICAgSVZQVV9KU01fTVNHX0JBU0Vf U0laRSk7CiB9CiAKIGludCBpdnB1X2pzbV9zdGF0ZV9kdW1wKHN0cnVjdCBpdnB1X2RldmljZSAq dmRldikKQEAgLTU2MSw3ICs1ODQsOCBAQCBpbnQgaXZwdV9qc21fc3RhdGVfZHVtcChzdHJ1Y3Qg aXZwdV9kZXZpY2UgKnZkZXYpCiAJc3RydWN0IHZwdV9qc21fbXNnIHJlc3A7CiAKIAlyZXR1cm4g aXZwdV9pcGNfc2VuZF9yZWNlaXZlX2ludGVybmFsKHZkZXYsICZyZXEsIFZQVV9KU01fTVNHX1NU QVRFX0RVTVBfUlNQLCAmcmVzcCwKLQkJCQkJICAgICAgVlBVX0lQQ19DSEFOX0FTWU5DX0NNRCwg dmRldi0+dGltZW91dC5qc20pOworCQkJCQkgICAgICBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELCB2 ZGV2LT50aW1lb3V0LmpzbSwKKwkJCQkJICAgICAgSVZQVV9KU01fTVNHX0JBU0VfU0laRSk7CiB9 CiAKIGludCBpdnB1X2pzbV9zdGF0ZV9kdW1wX25vX3JlcGx5KHN0cnVjdCBpdnB1X2RldmljZSAq dmRldikKQEAgLTU2OSw1ICs1OTMsNiBAQCBpbnQgaXZwdV9qc21fc3RhdGVfZHVtcF9ub19yZXBs eShzdHJ1Y3QgaXZwdV9kZXZpY2UgKnZkZXYpCiAJc3RydWN0IHZwdV9qc21fbXNnIHJlcSA9IHsg LnR5cGUgPSBWUFVfSlNNX01TR19TVEFURV9EVU1QIH07CiAKIAlyZXR1cm4gaXZwdV9pcGNfc2Vu ZF9hbmRfd2FpdCh2ZGV2LCAmcmVxLCBWUFVfSVBDX0NIQU5fQVNZTkNfQ01ELAotCQkJCSAgICAg IHZkZXYtPnRpbWVvdXQuc3RhdGVfZHVtcF9tc2cpOworCQkJCSAgICAgIHZkZXYtPnRpbWVvdXQu c3RhdGVfZHVtcF9tc2csCisJCQkJICAgICAgSVZQVV9KU01fTVNHX0JBU0VfU0laRSk7CiB9Ci0t IAoyLjUxLjEKCg==