From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id D57926E8DA for ; Mon, 24 May 2021 16:35:00 +0000 (UTC) From: Andrzej Turko Date: Mon, 24 May 2021 18:34:29 +0200 Message-Id: <20210524163429.5658-2-andrzej.turko@linux.intel.com> In-Reply-To: <20210524163429.5658-1-andrzej.turko@linux.intel.com> References: <20210524163429.5658-1-andrzej.turko@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 1/1] lib/intel_allocator: Move the ioctl calls to client processes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: V2hlbiBydW5uaW5nIHRoZSBhbGxvY2F0b3IgaW4gbXVsdGlwcm9jZXNzIG1vZGUsIGFsbCBxdWVy aWVzCmFyZSBwcm9jZXNzZWQgaW4gYSBkZXNpZ25hdGVkIHRocmVhZCBpbiB0aGUgcGFyZW50IHBy b2Nlc3MuCkhvd2V2ZXIsIGEgY2hpbGQgcHJvY2VzcyBtYXkgcmVxdWVzdCBvcGVuaW5nIHRoZSBh bGxvY2F0b3IKZm9yIGEgZ3B1IHVzaW5nIGEgZmlsZSBkZXNjcmlwdG9yIGFic2VudCBpbiB0aGUg cGFyZW50IHByb2Nlc3MuCkhlbmNlLCBxdWVyeWluZyBhdmFpbGFibGUgZ3R0IHNpemUgbXVzdCBi ZSBkb25lIGluIHRoZSBjaGlsZAppbnN0ZWFkIG9mIHRoZSBwYXJlbnQgcHJvY2Vzcy4KClRoaXMg bW9kaWZpY2F0aW9uIGhhcyB0cmlnZ2VyZWQgc2xpZ2h0IGNoYW5nZXMgdG8gdGhlCmNyZWF0aW9u IG9mIHJhbmRvbSBhbmQgcmVsb2MgYWxsb2NhdG9ycy4KClNpZ25lZC1vZmYtYnk6IEFuZHJ6ZWog VHVya28gPGFuZHJ6ZWoudHVya29AbGludXguaW50ZWwuY29tPgpDYzogWmJpZ25pZXcgS2VtcGN6 ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRlbC5jb20+Ci0tLQogbGliL2ludGVsX2Fs bG9jYXRvci5jICAgICAgICB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LQogbGliL2ludGVsX2FsbG9jYXRvcl9yYW5kb20uYyB8IDI4ICsrKysrKysrLS0tLS0tLS0tLS0t CiBsaWIvaW50ZWxfYWxsb2NhdG9yX3JlbG9jLmMgIHwgMjAgKysrKy0tLS0tLS0tLS0KIGxpYi9p bnRlbF9hbGxvY2F0b3Jfc2ltcGxlLmMgfCA0NCArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiA0IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYi9pbnRlbF9hbGxvY2F0b3IuYyBiL2xpYi9pbnRlbF9hbGxvY2F0b3Iu YwppbmRleCA5NmY4MzlkNGIuLjUzMTNhZjE3NCAxMDA2NDQKLS0tIGEvbGliL2ludGVsX2FsbG9j YXRvci5jCisrKyBiL2xpYi9pbnRlbF9hbGxvY2F0b3IuYwpAQCAtNDUsNiArNDUsMTIgQEAgc3Rh dGljIGlubGluZSBjb25zdCBjaGFyICpyZXFzdHIoZW51bSByZXF0eXBlIHJlcXVlc3RfdHlwZSkK ICNkZWZpbmUgYWxsb2NfZGVidWcoLi4uKSB7fQogI2VuZGlmCiAKKy8qCisgKiBXZSBsaW1pdCBh bGxvY2F0b3Igc3BhY2UgdG8gYXZvaWQgaGFuZyB3aGVuIGJhdGNoIHdvdWxkIGJlCisgKiBwaW5u ZWQgaW4gdGhlIGxhc3QgcGFnZS4KKyAqLworI2RlZmluZSBSRVNFUlZFRCA0MDk2CisKIHN0cnVj dCBhbGxvY2F0b3IgewogCWludCBmZDsKIAl1aW50MzJfdCBjdHg7CkBAIC01OCwxMiArNjQsMTEg QEAgc3RydWN0IGhhbmRsZV9lbnRyeSB7CiAJc3RydWN0IGFsbG9jYXRvciAqYWw7CiB9OwogCi1z dHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGludCBm ZCk7Ci1zdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9hbGxvY2F0b3JfcmFuZG9tX2NyZWF0 ZShpbnQgZmQpOwotc3RydWN0IGludGVsX2FsbG9jYXRvciAqaW50ZWxfYWxsb2NhdG9yX3NpbXBs ZV9jcmVhdGUoaW50IGZkKTsKK3N0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRv cl9yZWxvY19jcmVhdGUoaW50IGZkLCB1aW50NjRfdCBlbmQpOworc3RydWN0IGludGVsX2FsbG9j YXRvciAqaW50ZWxfYWxsb2NhdG9yX3JhbmRvbV9jcmVhdGUoaW50IGZkLCB1aW50NjRfdCBlbmQp Owogc3RydWN0IGludGVsX2FsbG9jYXRvciAqCi1pbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX2NyZWF0 ZV9mdWxsKGludCBmZCwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVuZCwKLQkJCQkgICBlbnVt IGFsbG9jYXRvcl9zdHJhdGVneSBzdHJhdGVneSk7CitpbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX2Ny ZWF0ZShpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQsCisJCQkgICAgICBlbnVt IGFsbG9jYXRvcl9zdHJhdGVneSBzdHJhdGVneSk7CiAKIC8qCiAgKiBJbnN0ZWFkIG9mIHRyeWlu ZyB0byBmaW5kIGZpcnN0IGVtcHR5IGhhbmRsZSBqdXN0IGdldCBuZXcgb25lLiBBc3N1bWluZwpA QCAtMjg2LDE3ICsyOTEsMTQgQEAgc3RhdGljIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVs X2FsbG9jYXRvcl9jcmVhdGUoaW50IGZkLAogCQkJICAgICAiV2UgY2Fubm90IHVzZSBOT05FIGFs bG9jYXRvclxuIik7CiAJCWJyZWFrOwogCWNhc2UgSU5URUxfQUxMT0NBVE9SX1JFTE9DOgotCQlp YWwgPSBpbnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGZkKTsKKwkJaWFsID0gaW50ZWxfYWxs b2NhdG9yX3JlbG9jX2NyZWF0ZShmZCwgZW5kKTsKIAkJYnJlYWs7CiAJY2FzZSBJTlRFTF9BTExP Q0FUT1JfUkFORE9NOgotCQlpYWwgPSBpbnRlbF9hbGxvY2F0b3JfcmFuZG9tX2NyZWF0ZShmZCk7 CisJCWlhbCA9IGludGVsX2FsbG9jYXRvcl9yYW5kb21fY3JlYXRlKGZkLCBlbmQpOwogCQlicmVh azsKIAljYXNlIElOVEVMX0FMTE9DQVRPUl9TSU1QTEU6Ci0JCWlmICghc3RhcnQgJiYgIWVuZCkK LQkJCWlhbCA9IGludGVsX2FsbG9jYXRvcl9zaW1wbGVfY3JlYXRlKGZkKTsKLQkJZWxzZQotCQkJ aWFsID0gaW50ZWxfYWxsb2NhdG9yX3NpbXBsZV9jcmVhdGVfZnVsbChmZCwgc3RhcnQsIGVuZCwK LQkJCQkJCQkJIGFsbG9jYXRvcl9zdHJhdGVneSk7CisJCWlhbCA9IGludGVsX2FsbG9jYXRvcl9z aW1wbGVfY3JlYXRlKGZkLCBzdGFydCwgZW5kLAorCQkJCQkJICAgIGFsbG9jYXRvcl9zdHJhdGVn eSk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWlndF9hc3NlcnRfZihpYWwsICJBbGxvY2F0b3Ig dHlwZSAlZCBub3QgaW1wbGVtZW50ZWRcbiIsCkBAIC04NzcsNiArODc5LDEzIEBAIHN0YXRpYyB1 aW50NjRfdCBfX2ludGVsX2FsbG9jYXRvcl9vcGVuX2Z1bGwoaW50IGZkLCB1aW50MzJfdCBjdHgs CiAJCQkJIC5vcGVuLmFsbG9jYXRvcl90eXBlID0gYWxsb2NhdG9yX3R5cGUsCiAJCQkJIC5vcGVu LmFsbG9jYXRvcl9zdHJhdGVneSA9IHN0cmF0ZWd5IH07CiAJc3RydWN0IGFsbG9jX3Jlc3AgcmVz cDsKKwl1aW50NjRfdCBndHRfc2l6ZSA9IGdlbV9hcGVydHVyZV9zaXplKGZkKTsKKworCWlndF9h c3NlcnQoZW5kIDw9IGd0dF9zaXplKTsKKwlpZiAoIWdlbV91c2VzX2Z1bGxfcHBndHQoZmQpKQor CQlndHRfc2l6ZSAvPSAyOworCWlndF9hc3NlcnQoZW5kIC0gc3RhcnQgPD0gZ3R0X3NpemUpOwor CiAKIAkvKiBHZXQgY2hpbGRfdGlkIG9ubHkgb25jZSBhdCBvcGVuKCkgKi8KIAlpZiAoY2hpbGRf dGlkID09IC0xKQpAQCAtOTU0LDEzICs5NjMsMjcgQEAgdWludDY0X3QgaW50ZWxfYWxsb2NhdG9y X29wZW5fdm1fZnVsbChpbnQgZmQsIHVpbnQzMl90IHZtLAogICovCiB1aW50NjRfdCBpbnRlbF9h bGxvY2F0b3Jfb3BlbihpbnQgZmQsIHVpbnQzMl90IGN0eCwgdWludDhfdCBhbGxvY2F0b3JfdHlw ZSkKIHsKLQlyZXR1cm4gaW50ZWxfYWxsb2NhdG9yX29wZW5fZnVsbChmZCwgY3R4LCAwLCAwLCBh bGxvY2F0b3JfdHlwZSwKKwl1aW50NjRfdCBndHRfc2l6ZSA9IGdlbV9hcGVydHVyZV9zaXplKGZk KTsKKworCWlmICghZ2VtX3VzZXNfZnVsbF9wcGd0dChmZCkpCisJCWd0dF9zaXplIC89IDI7CisJ ZWxzZQorCQlndHRfc2l6ZSAtPSBSRVNFUlZFRDsKKworCXJldHVybiBpbnRlbF9hbGxvY2F0b3Jf b3Blbl9mdWxsKGZkLCBjdHgsIDAsIGd0dF9zaXplLCBhbGxvY2F0b3JfdHlwZSwKIAkJCQkJIEFM TE9DX1NUUkFURUdZX0hJR0hfVE9fTE9XKTsKIH0KIAogdWludDY0X3QgaW50ZWxfYWxsb2NhdG9y X29wZW5fdm0oaW50IGZkLCB1aW50MzJfdCB2bSwgdWludDhfdCBhbGxvY2F0b3JfdHlwZSkKIHsK LQlyZXR1cm4gaW50ZWxfYWxsb2NhdG9yX29wZW5fdm1fZnVsbChmZCwgdm0sIDAsIDAsIGFsbG9j YXRvcl90eXBlLAorCXVpbnQ2NF90IGd0dF9zaXplID0gZ2VtX2FwZXJ0dXJlX3NpemUoZmQpOwor CisJaWYgKCFnZW1fdXNlc19mdWxsX3BwZ3R0KGZkKSkKKwkJZ3R0X3NpemUgLz0gMjsKKwllbHNl CisJCWd0dF9zaXplIC09IFJFU0VSVkVEOworCisJcmV0dXJuIGludGVsX2FsbG9jYXRvcl9vcGVu X3ZtX2Z1bGwoZmQsIHZtLCAwLCBndHRfc2l6ZSwgYWxsb2NhdG9yX3R5cGUsCiAJCQkJCSAgICBB TExPQ19TVFJBVEVHWV9ISUdIX1RPX0xPVyk7CiB9CiAKZGlmZiAtLWdpdCBhL2xpYi9pbnRlbF9h bGxvY2F0b3JfcmFuZG9tLmMgYi9saWIvaW50ZWxfYWxsb2NhdG9yX3JhbmRvbS5jCmluZGV4IDNk OWE3OGYxNy4uNTJiMTY3YTEyIDEwMDY0NAotLS0gYS9saWIvaW50ZWxfYWxsb2NhdG9yX3JhbmRv bS5jCisrKyBiL2xpYi9pbnRlbF9hbGxvY2F0b3JfcmFuZG9tLmMKQEAgLTEwLDEyICsxMCwxMiBA QAogI2luY2x1ZGUgImlndF9yYW5kLmgiCiAjaW5jbHVkZSAiaW50ZWxfYWxsb2NhdG9yLmgiCiAK LXN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9yYW5kb21fY3JlYXRlKGlu dCBmZCk7CitzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9hbGxvY2F0b3JfcmFuZG9tX2Ny ZWF0ZShpbnQgZmQsIHVpbnQ2NF90IGVuZCk7CiAKIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3JfcmFu ZG9tIHsKIAl1aW50NjRfdCBiaWFzOwogCXVpbnQzMl90IHBybmc7Ci0JdWludDY0X3QgZ3R0X3Np emU7CisJdWludDY0X3QgYWRkcmVzc19tYXNrOwogCXVpbnQ2NF90IHN0YXJ0OwogCXVpbnQ2NF90 IGVuZDsKIApAQCAtMjMsMTIgKzIzLDggQEAgc3RydWN0IGludGVsX2FsbG9jYXRvcl9yYW5kb20g ewogCXVpbnQ2NF90IGFsbG9jYXRlZF9vYmplY3RzOwogfTsKIAotc3RhdGljIHVpbnQ2NF90IGdl dF9iaWFzKGludCBmZCkKLXsKLQkodm9pZCkgZmQ7CisjZGVmaW5lIEJJQVMgMjU2IDw8IDEwOwog Ci0JcmV0dXJuIDI1NiA8PCAxMDsKLX0KIAogc3RhdGljIHZvaWQgaW50ZWxfYWxsb2NhdG9yX3Jh bmRvbV9nZXRfYWRkcmVzc19yYW5nZShzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppYWwsCiAJCQkJ CQkgICAgIHVpbnQ2NF90ICpzdGFydHAsCkBAIC01Nyw4ICs1Myw4IEBAIHN0YXRpYyB1aW50NjRf dCBpbnRlbF9hbGxvY2F0b3JfcmFuZG9tX2FsbG9jKHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlh bCwKIAkvKiByYW5kb21pemUgdGhlIGFkZHJlc3MsIHdlIHRyeSB0byBhdm9pZCByZWxvY2F0aW9u cyAqLwogCWRvIHsKIAkJb2Zmc2V0ID0gaGFyc19wZXRydXNrYV9mNTRfMV9yYW5kb202NCgmaWFs ci0+cHJuZyk7Ci0JCW9mZnNldCArPSBpYWxyLT5iaWFzOyAvKiBLZWVwIHRoZSBsb3cgMjU2ayBj bGVhciwgZm9yIG5lZ2F0aXZlIGRlbHRhcyAqLwotCQlvZmZzZXQgJj0gaWFsci0+Z3R0X3NpemUg LSAxOworCQlvZmZzZXQgfD0gaWFsci0+YmlhczsgLyogS2VlcCB0aGUgbG93IDI1NmsgY2xlYXIs IGZvciBuZWdhdGl2ZSBkZWx0YXMgKi8KKwkJb2Zmc2V0ICY9IGlhbHItPmFkZHJlc3NfbWFzazsK IAkJb2Zmc2V0ICY9IH4oYWxpZ25tZW50IC0gMSk7CiAJfSB3aGlsZSAob2Zmc2V0ICsgc2l6ZSA+ IGlhbHItPmVuZCk7CiAKQEAgLTE1MCw4ICsxNDYsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9hbGxv Y2F0b3JfcmFuZG9tX2lzX2VtcHR5KHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlhbCkKIAlyZXR1 cm4gIWlhbHItPmFsbG9jYXRlZF9vYmplY3RzOwogfQogCi0jZGVmaW5lIFJFU0VSVkVEIDQwOTYK LXN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9yYW5kb21fY3JlYXRlKGlu dCBmZCkKK3N0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9yYW5kb21fY3Jl YXRlKGludCBmZCwgdWludDY0X3QgZW5kKQogewogCXN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlh bDsKIAlzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yX3JhbmRvbSAqaWFscjsKQEAgLTE3NSwxNCArMTcw LDEzIEBAIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmludGVsX2FsbG9jYXRvcl9yYW5kb21fY3Jl YXRlKGludCBmZCkKIAlpYWxyID0gaWFsLT5wcml2ID0gY2FsbG9jKDEsIHNpemVvZigqaWFscikp OwogCWlndF9hc3NlcnQoaWFsLT5wcml2KTsKIAlpYWxyLT5wcm5nID0gKHVpbnQzMl90KSB0b191 c2VyX3BvaW50ZXIoaWFsKTsKLQlpYWxyLT5ndHRfc2l6ZSA9IGdlbV9hcGVydHVyZV9zaXplKGZk KTsKLQlpZ3RfZGVidWcoIkd0dCBzaXplOiAlIiBQUklkNjQgIlxuIiwgaWFsci0+Z3R0X3NpemUp OwotCWlmICghZ2VtX3VzZXNfZnVsbF9wcGd0dChmZCkpCi0JCWlhbHItPmd0dF9zaXplIC89IDI7 CisJaWFsci0+YWRkcmVzc19tYXNrID0gMTsKKwl3aGlsZSAoaWFsci0+YWRkcmVzc19tYXNrIDw9 IGVuZCkgaWFsci0+YWRkcmVzc19tYXNrICo9IDJVTEw7CisJaWFsci0+YWRkcmVzc19tYXNrLS07 CiAKLQlpYWxyLT5iaWFzID0gZ2V0X2JpYXMoZmQpOworCWlhbHItPmJpYXMgPSBCSUFTOwogCWlh bHItPnN0YXJ0ID0gaWFsci0+YmlhczsKLQlpYWxyLT5lbmQgPSBpYWxyLT5ndHRfc2l6ZSAtIFJF U0VSVkVEOworCWlhbHItPmVuZCA9IGVuZDsKIAogCWlhbHItPmFsbG9jYXRlZF9vYmplY3RzID0g MDsKIApkaWZmIC0tZ2l0IGEvbGliL2ludGVsX2FsbG9jYXRvcl9yZWxvYy5jIGIvbGliL2ludGVs X2FsbG9jYXRvcl9yZWxvYy5jCmluZGV4IGU4YWY3ODdiMC4uZTg1NjEzMmE3IDEwMDY0NAotLS0g YS9saWIvaW50ZWxfYWxsb2NhdG9yX3JlbG9jLmMKKysrIGIvbGliL2ludGVsX2FsbG9jYXRvcl9y ZWxvYy5jCkBAIC0xMCwxMiArMTAsMTEgQEAKICNpbmNsdWRlICJpZ3RfcmFuZC5oIgogI2luY2x1 ZGUgImludGVsX2FsbG9jYXRvci5oIgogCi1zdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9h bGxvY2F0b3JfcmVsb2NfY3JlYXRlKGludCBmZCk7CitzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICpp bnRlbF9hbGxvY2F0b3JfcmVsb2NfY3JlYXRlKGludCBmZCwgdWludDY0X3QgZW5kKTsKIAogc3Ry dWN0IGludGVsX2FsbG9jYXRvcl9yZWxvYyB7CiAJdWludDY0X3QgYmlhczsKIAl1aW50MzJfdCBw cm5nOwotCXVpbnQ2NF90IGd0dF9zaXplOwogCXVpbnQ2NF90IHN0YXJ0OwogCXVpbnQ2NF90IGVu ZDsKIAl1aW50NjRfdCBvZmZzZXQ7CkBAIC0yNCwxMiArMjMsOCBAQCBzdHJ1Y3QgaW50ZWxfYWxs b2NhdG9yX3JlbG9jIHsKIAl1aW50NjRfdCBhbGxvY2F0ZWRfb2JqZWN0czsKIH07CiAKLXN0YXRp YyB1aW50NjRfdCBnZXRfYmlhcyhpbnQgZmQpCi17Ci0JKHZvaWQpIGZkOworI2RlZmluZSBCSUFT IDI1NiA8PCAxMDsKIAotCXJldHVybiAyNTYgPDwgMTA7Ci19CiAKIHN0YXRpYyB2b2lkIGludGVs X2FsbG9jYXRvcl9yZWxvY19nZXRfYWRkcmVzc19yYW5nZShzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9y ICppYWwsCiAJCQkJCQkgICAgdWludDY0X3QgKnN0YXJ0cCwKQEAgLTE1Miw4ICsxNDcsNyBAQCBz dGF0aWMgYm9vbCBpbnRlbF9hbGxvY2F0b3JfcmVsb2NfaXNfZW1wdHkoc3RydWN0IGludGVsX2Fs bG9jYXRvciAqaWFsKQogCXJldHVybiAhaWFsci0+YWxsb2NhdGVkX29iamVjdHM7CiB9CiAKLSNk ZWZpbmUgUkVTRVJWRUQgNDA5Ngotc3RydWN0IGludGVsX2FsbG9jYXRvciAqaW50ZWxfYWxsb2Nh dG9yX3JlbG9jX2NyZWF0ZShpbnQgZmQpCitzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICppbnRlbF9h bGxvY2F0b3JfcmVsb2NfY3JlYXRlKGludCBmZCwgdWludDY0X3QgZW5kKQogewogCXN0cnVjdCBp bnRlbF9hbGxvY2F0b3IgKmlhbDsKIAlzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yX3JlbG9jICppYWxy OwpAQCAtMTc3LDE0ICsxNzEsMTAgQEAgc3RydWN0IGludGVsX2FsbG9jYXRvciAqaW50ZWxfYWxs b2NhdG9yX3JlbG9jX2NyZWF0ZShpbnQgZmQpCiAJaWFsciA9IGlhbC0+cHJpdiA9IGNhbGxvYygx LCBzaXplb2YoKmlhbHIpKTsKIAlpZ3RfYXNzZXJ0KGlhbC0+cHJpdik7CiAJaWFsci0+cHJuZyA9 ICh1aW50MzJfdCkgdG9fdXNlcl9wb2ludGVyKGlhbCk7Ci0JaWFsci0+Z3R0X3NpemUgPSBnZW1f YXBlcnR1cmVfc2l6ZShmZCk7Ci0JaWd0X2RlYnVnKCJHdHQgc2l6ZTogJSIgUFJJZDY0ICJcbiIs IGlhbHItPmd0dF9zaXplKTsKLQlpZiAoIWdlbV91c2VzX2Z1bGxfcHBndHQoZmQpKQotCQlpYWxy LT5ndHRfc2l6ZSAvPSAyOwogCi0JaWFsci0+YmlhcyA9IGlhbHItPm9mZnNldCA9IGdldF9iaWFz KGZkKTsKKwlpYWxyLT5iaWFzID0gaWFsci0+b2Zmc2V0ID0gQklBUzsKIAlpYWxyLT5zdGFydCA9 IGlhbHItPmJpYXM7Ci0JaWFsci0+ZW5kID0gaWFsci0+Z3R0X3NpemUgLSBSRVNFUlZFRDsKKwlp YWxyLT5lbmQgPSBlbmQ7CiAKIAlpYWxyLT5hbGxvY2F0ZWRfb2JqZWN0cyA9IDA7CiAKZGlmZiAt LWdpdCBhL2xpYi9pbnRlbF9hbGxvY2F0b3Jfc2ltcGxlLmMgYi9saWIvaW50ZWxfYWxsb2NhdG9y X3NpbXBsZS5jCmluZGV4IDk2M2Q4ZDI1Ny4uNjAyMmU4MzJiIDEwMDY0NAotLS0gYS9saWIvaW50 ZWxfYWxsb2NhdG9yX3NpbXBsZS5jCisrKyBiL2xpYi9pbnRlbF9hbGxvY2F0b3Jfc2ltcGxlLmMK QEAgLTExLDE3ICsxMSwxMSBAQAogI2luY2x1ZGUgImludGVsX2J1Zm9wcy5oIgogI2luY2x1ZGUg ImlndF9tYXAuaCIKIAotLyoKLSAqIFdlIGxpbWl0IGFsbG9jYXRvciBzcGFjZSB0byBhdm9pZCBo YW5nIHdoZW4gYmF0Y2ggd291bGQgYmUKLSAqIHBpbm5lZCBpbiB0aGUgbGFzdCBwYWdlLgotICov Ci0jZGVmaW5lIFJFU0VSVkVEIDQwOTYKIAogLyogQXZvaWQgY29tcGlsYXRpb24gd2FybmluZyAq Lwotc3RydWN0IGludGVsX2FsbG9jYXRvciAqaW50ZWxfYWxsb2NhdG9yX3NpbXBsZV9jcmVhdGUo aW50IGZkKTsKIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKgotaW50ZWxfYWxsb2NhdG9yX3NpbXBs ZV9jcmVhdGVfZnVsbChpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQsCi0JCQkJ ICAgZW51bSBhbGxvY2F0b3Jfc3RyYXRlZ3kgc3RyYXRlZ3kpOworaW50ZWxfYWxsb2NhdG9yX3Np bXBsZV9jcmVhdGUoaW50IGZkLCB1aW50NjRfdCBzdGFydCwgdWludDY0X3QgZW5kLAorCQkJICAg ICAgZW51bSBhbGxvY2F0b3Jfc3RyYXRlZ3kgc3RyYXRlZ3kpOwogCiBzdHJ1Y3Qgc2ltcGxlX3Zt YV9oZWFwIHsKIAlzdHJ1Y3QgaWd0X2xpc3RfaGVhZCBob2xlczsKQEAgLTczNCw5ICs3MjgsOSBA QCBzdGF0aWMgdm9pZCBpbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX3ByaW50KHN0cnVjdCBpbnRlbF9h bGxvY2F0b3IgKmlhbCwgYm9vbCBmdWxsKQogCQkgaWFscy0+YWxsb2NhdGVkX29iamVjdHMsIGlh bHMtPnJlc2VydmVkX2FyZWFzKTsKIH0KIAotc3RhdGljIHN0cnVjdCBpbnRlbF9hbGxvY2F0b3Ig KgotX19pbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX2NyZWF0ZShpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0 LCB1aW50NjRfdCBlbmQsCi0JCQkJZW51bSBhbGxvY2F0b3Jfc3RyYXRlZ3kgc3RyYXRlZ3kpCitz dHJ1Y3QgaW50ZWxfYWxsb2NhdG9yICoKK2ludGVsX2FsbG9jYXRvcl9zaW1wbGVfY3JlYXRlKGlu dCBmZCwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVuZCwKKwkJCSAgICAgIGVudW0gYWxsb2Nh dG9yX3N0cmF0ZWd5IHN0cmF0ZWd5KQogewogCXN0cnVjdCBpbnRlbF9hbGxvY2F0b3IgKmlhbDsK IAlzdHJ1Y3QgaW50ZWxfYWxsb2NhdG9yX3NpbXBsZSAqaWFsczsKQEAgLTc3NywzMSArNzcxLDMg QEAgX19pbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX2NyZWF0ZShpbnQgZmQsIHVpbnQ2NF90IHN0YXJ0 LCB1aW50NjRfdCBlbmQsCiAKIAlyZXR1cm4gaWFsOwogfQotCi1zdHJ1Y3QgaW50ZWxfYWxsb2Nh dG9yICoKLWludGVsX2FsbG9jYXRvcl9zaW1wbGVfY3JlYXRlKGludCBmZCkKLXsKLQl1aW50NjRf dCBndHRfc2l6ZSA9IGdlbV9hcGVydHVyZV9zaXplKGZkKTsKLQotCWlmICghZ2VtX3VzZXNfZnVs bF9wcGd0dChmZCkpCi0JCWd0dF9zaXplIC89IDI7Ci0JZWxzZQotCQlndHRfc2l6ZSAtPSBSRVNF UlZFRDsKLQotCXJldHVybiBfX2ludGVsX2FsbG9jYXRvcl9zaW1wbGVfY3JlYXRlKGZkLCAwLCBn dHRfc2l6ZSwKLQkJCQkJICAgICAgIEFMTE9DX1NUUkFURUdZX0hJR0hfVE9fTE9XKTsKLX0KLQot c3RydWN0IGludGVsX2FsbG9jYXRvciAqCi1pbnRlbF9hbGxvY2F0b3Jfc2ltcGxlX2NyZWF0ZV9m dWxsKGludCBmZCwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGVuZCwKLQkJCQkgICBlbnVtIGFs bG9jYXRvcl9zdHJhdGVneSBzdHJhdGVneSkKLXsKLQl1aW50NjRfdCBndHRfc2l6ZSA9IGdlbV9h cGVydHVyZV9zaXplKGZkKTsKLQotCWlndF9hc3NlcnQoZW5kIDw9IGd0dF9zaXplKTsKLQlpZiAo IWdlbV91c2VzX2Z1bGxfcHBndHQoZmQpKQotCQlndHRfc2l6ZSAvPSAyOwotCWlndF9hc3NlcnQo ZW5kIC0gc3RhcnQgPD0gZ3R0X3NpemUpOwotCi0JcmV0dXJuIF9faW50ZWxfYWxsb2NhdG9yX3Np bXBsZV9jcmVhdGUoZmQsIHN0YXJ0LCBlbmQsIHN0cmF0ZWd5KTsKLX0KLS0gCjIuMjUuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWls aW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==