From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id E476780726 for ; Wed, 30 Sep 2026 07:36:14 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68U7Z0JX014545; Wed, 30 Sep 2026 10:35:00 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68U7Z0JX014545 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="vdBJC0BH" Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 68U7Yv0w014537 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 30 Sep 2026 10:34:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 68U7Yv0w014537 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-48af11f8d62so1121444f8f.0 for ; Wed, 30 Sep 2026 00:34:57 -0700 (PDT) X-Gm-Message-State: AFq9FYIifUWjZyYvXB+UavJ0VUYwIc050+yK2np0l3ya/EnbMnsEeXer KUQNQsPKt6Ck1nB/tJ9aoE+5d0zytK/o6iX+bJ6s0AnHq9YeoFBADP9ojuCw72yfav5HezyHUQ2 ctKDvealeUrukxmt7hd67oR9vHf9DqnEU/Wdf0de5Le4TBzZplGLL0Q== X-Gm-Gg: AYBFou2Q3AWNl8/k3lNvZdov7yjSWC3Q1nGFYXAAJo6AIjb7NVohEqEwgw8swlj0/Ro QCQvcO23U8O1dru9YySDTGx4UU+MzI8SLH8osMdtg1xbGYJs7WWZ36WVy/Nl7BR1fNUo0M2d5+f AYwUxmhCHewF94+7ARi3DlqyLP0/rMZjm/5Vdh6oOECDs5x0nxmPxKbvOXF1mLvGPMdnUPS7J9/ qWYdOxHmkS+n9gFpV3STfzaDdaAbWk/PNSfNv0VE9QCUkVpZVyqZuf9HDtmTj/H3p06KqB2IFAw 2TITZrwqfF0WGX1hgEEauhQ5iJ8NWoQm/9ZCUcwvTovYGuNCxV0R/74ra8/21RxM3iLyH+0o019 viuHHr62DJvOB4aE= X-Received: by 2002:a5d:5d0e:0:b0:487:27f6:a4d3 with SMTP id ffacd0b85a97d-48b02512ddamr1357164f8f.35.1790753697548; Wed, 30 Sep 2026 00:34:57 -0700 (PDT) X-Received: by 2002:a5d:5d0e:0:b0:487:27f6:a4d3 with SMTP id ffacd0b85a97d-48b02512ddamr1357082f8f.35.1790753696904; Wed, 30 Sep 2026 00:34:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1790753696; cv=none; d=google.com; s=arc-20260327; b=Fz3akuCnGVav6ged9E9SXZYrmt1Eia3/JW30yGK3F9hZzD9fHD5xx5p7VmCM3ZdLP0 XyLAmCynreKCPg6+fY9B757TiaDiLbShrX8yvQ9DuYGwehG9BeM9L6ELCxqd/02FP7K1 njEuk0uGouVFUJsyvQEDt3iWyyOczIVFvl2EptZ3p0Sy/P+Eoi5LpDCMqbRZhWa/nS+S JjJfNV0CAc8LxYB8/fNr5ZZC94MYT7FsHx/gZznv59QBeg49ZqRcSFXarcEeL1MQIMzu yKJUGbnl1H3hMvspmi4Ybm7IFjGvQuC6s2fCZDCHGlsb4Z57BIEalG7p3N2PaH6cj6hn 4EvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=Uztw71LjOCM9MqyP5yxDQQJjGVs8+NsOpnrRk9C5aTg=; fh=6JpqpGxFeFNaDh+k4t2UfZyo3rKe/54dyQ52T8vVmSc=; b=A1BaduZKdEWOjOoKPi6T4WcLcJrmPmIDCLa0eg5hTWqiLoofpfO2ewq/U7kEflAyJ3 GvfHQ3krz5tSvi1l8zL8qg1lOlNqbi5hg53lIHqe3GyRvg9Dz3ikRv275SDJ5Sk2txkI uVirPkJjpHPI5B8fVI6KrPOb5GTb9L62/5ojCGQ1ylufQ92kqpULBiGVs0Dgib1eWeGb VyZQ3Yo5RpA4JsSXCZ5bKk6tjtjrTUMtz6DkL4dK7aFTFxQna6Wg09QFW+lq9GIPFerE u8I0mrk5Y23dVxBlECMP1NItEMJnIMhL/rNtA9jXL1uCeF9kkK7Apdc2A3YRBAQlwsLP JRig==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=vdBJC0BH; spf=pass (google.com: domain of kui.liu@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=kui.liu@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48b029db090si955044f8f.219.2026.09.30.00.34.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Sep 2026 00:34:56 -0700 (PDT) Received-SPF: pass (google.com: domain of kui.liu@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=vdBJC0BH; spf=pass (google.com: domain of kui.liu@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=kui.liu@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=Uztw71LjOCM9MqyP5yxDQQJjGVs8+NsOpnrRk9C5aTg=; b=vdBJC0BHcbYH5Y6bGS8 tjW/LqDWgvLwlljCTqjGTF1rkVt2K4shrNz8UUEbeSylmKDcJggXWwgz2JQpG9vLJvF3uPYBi1tlN 9lGEpABI/HGZijTeYOBXVhdjS4BllQjcY2aTq1cAGrcVb7VvKfF8oAE/YizBgWqAsTVG4jniEC820 IBaD/1xqxZvTDDUQymwcp/2BaWQpFxfwPYM7kYowQysPwvulIM+RhdmGt/BRNlICg9MD7vqWVnJwO aWi0odORv6xpRF/mXztkkhZqdNqoYpg1b93fItjcAWLU8YVbgI+M21tsvdDTfid7np3MB+EiMr6ES ZsB4gF2fY55VDkg==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=LK-MBP.local) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xBon2-00FyU7-1X; Wed, 30 Sep 2026 09:34:56 +0200 From: Liu Kui Date: Wed, 30 Sep 2026 15:34:31 +0800 MIME-Version: 1.0 Message-Id: <20260930-sockio-refactor-8-1-v1-1-806348b9eb26@virtuozzo.com> References: <20260930-sockio-refactor-8-1-v1-0-806348b9eb26@virtuozzo.com> In-Reply-To: <20260930-sockio-refactor-8-1-v1-0-806348b9eb26@virtuozzo.com> To: Konstantin Khorenko X-Mailer: b4 0.16.0 X-OZ-Fwd: true Cc: azaitsev@virtuozzo.com, devel@openvz.org, Liu Kui Subject: [Devel] [PATCH hci-8.1 1/3] fs/fuse kio: teach pcs_umem about hugepage-backed mappings X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org cGNzX3VtZW0gcGlucyBldmVyeSBtYXBwaW5nIGFzIGEgZmxhdCBhcnJheSBvZiA0ayBwYWdlcyBh bmQgdGhlIGtycGMKYnZlYyBidWlsZGVyIGVtaXRzIG9uZSBiaW9fdmVjIHBlciBwYWdlLCBzbyBh IDFNIGNodW5rIGNvc3RzIDI1NiBwYWdlCnBvaW50ZXJzIGFuZCAyNTYgYmlvX3ZlY3MgZXZlbiB3 aGVuIGl0IHNpdHMgaW4gYSBzaW5nbGUgaHVnZXBhZ2UuCgpEZXRlY3QgaHVnZXBhZ2UgYmFja2lu ZyBhZnRlciBwaW5uaW5nOiBpZiB0aGUgcmFuZ2UgaXMgMk0tYWxpZ25lZCBhbmQKZWFjaCAyTSBj aHVuayBpcyBiYWNrZWQgYnkgb25lIGZvbGlvIChodWdldGxiZnMgb3IgZnVsbHktbWFwcGVkIFRI UCksCmtlZXAgb25seSB0aGUgZm9saW8gaGVhZCBwYWdlIHBlciBjaHVuayBhbmQgcmFpc2UgdW1l bS0+cGFnZV9zaGlmdCB0bwpQTURfU0hJRlQuIFRoZSBidmVjIGJ1aWxkZXIgdGhlbiBjYXBzIGJ2 X2xlbiBhdCB0aGUgYmFja2luZyB1bml0Cmluc3RlYWQgb2YgUEFHRV9TSVpFLCBzbyBhIDFNIGNo dW5rIGluIGEgaHVnZXBhZ2UgdW1lbSBiZWNvbWVzIGEKc2luZ2xlIGJpb192ZWMuIE1peGVkIG9y IG1pc2FsaWduZWQgbWFwcGluZ3Mgc3RheSBhdCA0ay4KCkFsc28gcGluIHdpdGggcGluX3VzZXJf cGFnZXNfZmFzdCgpLCB3aGljaCBuZWVkcyBubyBtbWFwX2xvY2ssIGFuZApmaXggdGhlIHBjc191 bWVtX2dldCgpIGVycm9yIHBhdGgsIHdoaWNoIGxlYWtlZCBjaHVuayBwYWdlIGFycmF5cyBhbmQK Y291bGQgZGVyZWYgYSBOVUxMIHBhZ2VfY2h1bmsuCgpodHRwczovL3ZpcnR1b3p6by5hdGxhc3Np YW4ubmV0L2Jyb3dzZS9WU1RPUi0xNDIxNjYKClNpZ25lZC1vZmYtYnk6IExpdSBLdWkgPGt1aS5s aXVAdmlydHVvenpvLmNvbT4KLS0tCiBmcy9mdXNlL2tpby9wY3MvcGNzX2tycGMuYyB8ICA5ICsr KystCiBmcy9mdXNlL2tpby9wY3MvcGNzX21yLmMgICB8IDg0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGZzL2Z1c2Uva2lvL3Bjcy9wY3NfbXIuaCAgIHwg NDUgKysrKysrKysrKysrKysrKysrKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5zZXJ0 aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZnMvZnVzZS9raW8vcGNzL3Bj c19rcnBjLmMgYi9mcy9mdXNlL2tpby9wY3MvcGNzX2tycGMuYwppbmRleCA3ZDQwZTE3Y2U4YWUu LmQ0YmFmMjhjZWY3MSAxMDA2NDQKLS0tIGEvZnMvZnVzZS9raW8vcGNzL3Bjc19rcnBjLmMKKysr IGIvZnMvZnVzZS9raW8vcGNzL3Bjc19rcnBjLmMKQEAgLTQxMCw2ICs0MTAsNyBAQCBzdGF0aWMg dm9pZCBrcmVxX3ByZXBhcmVfZGF0YV9idWZmKHN0cnVjdCBrcnBjX3JlcSAqa3JlcSwgc3RydWN0 IGtycGNfY2h1bmsgKmNodQogCQl9CiAJfSBlbHNlIHsKIAkJc3RydWN0IHBjc191bWVtICp1bWVt OworCQl1bnNpZ25lZCBpbnQgY29udGlnOwogCiAJCXVtZW0gPSAoY2h1bmstPnR5cGUgPT0gS1JQ Q19DSFVOS19UWVBFX01SKSA/IGNodW5rLT5tci0+dW1lbSA6IGNodW5rLT51bWVtOwogCkBAIC00 MjYsNyArNDI3LDEzIEBAIHN0YXRpYyB2b2lkIGtyZXFfcHJlcGFyZV9kYXRhX2J1ZmYoc3RydWN0 IGtycGNfcmVxICprcmVxLCBzdHJ1Y3Qga3JwY19jaHVuayAqY2h1CiAJCQlidmVjLT5idl9wYWdl ID0gcGFnZTsKIAkJCWJ2ZWMtPmJ2X29mZnNldCA9IG9mZnNldDsKIAotCQkJYnZlYy0+YnZfbGVu ID0gbGVuIDwgKFBBR0VfU0laRSAtIG9mZnNldCkgPyBsZW4gOiAoUEFHRV9TSVpFIC0gb2Zmc2V0 KTsKKwkJCS8qCisJCQkgKiBPbmUgYmlvX3ZlYyBwZXIgcGh5c2ljYWxseSBjb250aWd1b3VzIGV4 dGVudDogYQorCQkJICogd2hvbGUgMk0gYmxvY2sgd2hlbiB0aGUgdW1lbSBpcyBodWdlcGFnZS1i YWNrZWQsCisJCQkgKiBhIHNpbmdsZSBwYWdlIG90aGVyd2lzZS4KKwkJCSAqLworCQkJY29udGln ID0gcGNzX3VtZW1fY29udGlnKHVtZW0sIHBvcyk7CisJCQlidmVjLT5idl9sZW4gPSBsZW4gPCBj b250aWcgPyBsZW4gOiBjb250aWc7CiAKIAkJCXBvcyArPSBidmVjLT5idl9sZW47CiAJCQlsZW4g LT0gYnZlYy0+YnZfbGVuOwpkaWZmIC0tZ2l0IGEvZnMvZnVzZS9raW8vcGNzL3Bjc19tci5jIGIv ZnMvZnVzZS9raW8vcGNzL3Bjc19tci5jCmluZGV4IDFlM2E3NDAzMzUxMC4uNThmMWZmNDFjNzUw IDEwMDY0NAotLS0gYS9mcy9mdXNlL2tpby9wY3MvcGNzX21yLmMKKysrIGIvZnMvZnVzZS9raW8v cGNzL3Bjc19tci5jCkBAIC03LDIwICs3LDMwIEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgog I2luY2x1ZGUgPGxpbnV4L3NjaGVkL21tLmg+CiAjaW5jbHVkZSA8bGludXgvcmVzb3VyY2UuaD4K KyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3BndGFibGUuaD4KIAogI2lu Y2x1ZGUgInBjc19tci5oIgogCiB2b2lkIHBjc191bWVtX3JlbGVhc2Uoc3RydWN0IHBjc191bWVt ICp1bWVtKQogewogCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tX3MgPSB1bWVtLT5tbTsKLQlpbnQgaSwg bnBhZ2VzID0gdW1lbS0+bnBhZ2VzOwotCi0JZm9yIChpID0gMDsgbnBhZ2VzOyBpKyspIHsKLQkJ aW50IHRvX2ZyZWUgPSBtaW5fdChpbnQsIFBDU19QQUdFU19QRVJfQ0hVTkssIG5wYWdlcyk7Ci0K LQkJdW5waW5fdXNlcl9wYWdlcyh1bWVtLT5wYWdlX2NodW5rW2ldLnBhZ2VzLCB0b19mcmVlKTsK LQkJa2ZyZWUodW1lbS0+cGFnZV9jaHVua1tpXS5wYWdlcyk7Ci0JCW5wYWdlcyAtPSB0b19mcmVl OworCWludCBucGFnZXMgPSB1bWVtLT5ucGFnZXM7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyB1 bWVtLT5wYWdlX2NodW5rICYmIGkgPCB1bWVtLT5uY2h1bmtzOyBpKyspIHsKKwkJc3RydWN0IHBj c19wYWdlX2NodW5rICpjaHVuayA9ICZ1bWVtLT5wYWdlX2NodW5rW2ldOworCQlpbnQgbiA9IG1p bl90KGludCwgUENTX1BBR0VTX1BFUl9DSFVOSywgbnBhZ2VzKTsKKworCQlpZiAodW1lbS0+cGFn ZV9zaGlmdCA9PSBQTURfU0hJRlQpIHsKKwkJCS8qIG9uZSBmdWxsIGh1Z2VwYWdlIGZvbGlvIHBl ciBjaHVuayAqLworCQkJdW5waW5fdXNlcl9wYWdlX3JhbmdlX2RpcnR5X2xvY2soY2h1bmstPmhl YWQsCisJCQkJCVBDU19QQUdFU19QRVJfQ0hVTkssIGZhbHNlKTsKKwkJfSBlbHNlIGlmIChjaHVu ay0+cGFnZXMpIHsKKwkJCXVucGluX3VzZXJfcGFnZXMoY2h1bmstPnBhZ2VzLCBuKTsKKwkJCWtm cmVlKGNodW5rLT5wYWdlcyk7CisJCX0KKwkJbnBhZ2VzIC09IG47CiAJfQogCWF0b21pYzY0X3N1 Yih1bWVtLT5ucGFnZXMsICZtbV9zLT5waW5uZWRfdm0pOwogCW1tZHJvcChtbV9zKTsKQEAgLTI4 LDYgKzM4LDQzIEBAIHZvaWQgcGNzX3VtZW1fcmVsZWFzZShzdHJ1Y3QgcGNzX3VtZW0gKnVtZW0p CiAJa2ZyZWUodW1lbSk7CiB9CiAKKy8qCisgKiBBIHBhZ2UgY2h1bmsgY292ZXJzIGV4YWN0bHkg b25lIGh1Z2VwYWdlLiBJZiB0aGUgd2hvbGUgcGlubmVkIHJhbmdlCisgKiBpcyAyTS1hbGlnbmVk IGFuZCBldmVyeSBjaHVuayBpcyBiYWNrZWQgYnkgb25lIGFsaWduZWQgaHVnZXBhZ2UgZm9saW8K KyAqIChodWdldGxiZnMgb3IgZnVsbHktbWFwcGVkIFRIUCksIGRyb3AgdGhlIDRrIHBhZ2UgYXJy YXlzIGFuZCBrZWVwIGp1c3QKKyAqIHRoZSBmb2xpbyBoZWFkIHBhZ2UgaW4gZWFjaCBjaHVuaywg cmFpc2luZyBwYWdlX3NoaWZ0IGFjY29yZGluZ2x5LgorICogTWl4ZWQgb3IgbWlzYWxpZ25lZCBt YXBwaW5ncyBzaW1wbHkgc3RheSBhdCA0ayBncmFudWxhcml0eS4KKyAqLworc3RhdGljIHZvaWQg cGNzX3VtZW1fdHJ5X2NvbXBhY3Qoc3RydWN0IHBjc191bWVtICp1bWVtKQoreworCWludCBpLCBq OworCisJaWYgKHVtZW0tPmZwX2FkZHIgJiAoUE1EX1NJWkUgLSAxKSkKKwkJcmV0dXJuOworCWlm ICghdW1lbS0+bnBhZ2VzIHx8IHVtZW0tPm5wYWdlcyAlIFBDU19QQUdFU19QRVJfQ0hVTkspCisJ CXJldHVybjsKKworCWZvciAoaSA9IDA7IGkgPCB1bWVtLT5uY2h1bmtzOyBpKyspIHsKKwkJc3Ry dWN0IHBhZ2UgKmhlYWQgPSB1bWVtLT5wYWdlX2NodW5rW2ldLnBhZ2VzWzBdOworCQlzdHJ1Y3Qg Zm9saW8gKmZvbGlvID0gcGFnZV9mb2xpbyhoZWFkKTsKKworCQlpZiAoZm9saW9fbnJfcGFnZXMo Zm9saW8pIC0gZm9saW9fcGFnZV9pZHgoZm9saW8sIGhlYWQpIDwKKwkJCQlQQ1NfUEFHRVNfUEVS X0NIVU5LKQorCQkJcmV0dXJuOworCQlmb3IgKGogPSAxOyBqIDwgUENTX1BBR0VTX1BFUl9DSFVO SzsgaisrKQorCQkJaWYgKHVtZW0tPnBhZ2VfY2h1bmtbaV0ucGFnZXNbal0gIT0gbnRoX3BhZ2Uo aGVhZCwgaikpCisJCQkJcmV0dXJuOworCX0KKworCWZvciAoaSA9IDA7IGkgPCB1bWVtLT5uY2h1 bmtzOyBpKyspIHsKKwkJc3RydWN0IHBhZ2UgKmhlYWQgPSB1bWVtLT5wYWdlX2NodW5rW2ldLnBh Z2VzWzBdOworCisJCWtmcmVlKHVtZW0tPnBhZ2VfY2h1bmtbaV0ucGFnZXMpOworCQl1bWVtLT5w YWdlX2NodW5rW2ldLmhlYWQgPSBoZWFkOworCX0KKwl1bWVtLT5wYWdlX3NoaWZ0ID0gUE1EX1NI SUZUOworfQorCiAvKgogICogUGluIHBhZ2VzIGZyb20gdXNlcnNwYWNlIG1lbW9yeQogICovCkBA IC0zNiwxMSArODMsMTAgQEAgc3RydWN0IHBjc191bWVtICpwY3NfdW1lbV9nZXQodTY0IHN0YXJ0 LCB1NjQgbGVuKQogCXN0cnVjdCBwY3NfdW1lbSAqdW1lbSA9IE5VTEw7CiAJc3RydWN0IG1tX3N0 cnVjdCAqbW1fczsKIAl1NjQgZnBfdmE7Ci0JaW50IG5wYWdlcywgbmNodW5rcywgaSwgcmV0Owor CWludCBucGFnZXMsIGksIHJldDsKIAogCWZwX3ZhID0gc3RhcnQgJiBQQUdFX01BU0s7CiAJbnBh Z2VzID0gUEFHRV9BTElHTihzdGFydCArIGxlbiAtIGZwX3ZhKSA+PiBQQUdFX1NISUZUOwotCW5j aHVua3MgPSBESVZfUk9VTkRfVVAobnBhZ2VzLCBQQ1NfUEFHRVNfUEVSX0NIVU5LKTsKIAogCXVt ZW0gPSBremFsbG9jKHNpemVvZigqdW1lbSksIEdGUF9LRVJORUwpOwogCWlmICghdW1lbSkKQEAg LTQ5LDEyICs5NSwxNCBAQCBzdHJ1Y3QgcGNzX3VtZW0gKnBjc191bWVtX2dldCh1NjQgc3RhcnQs IHU2NCBsZW4pCiAJLyogIHBpbiB1c2VyIHBhZ2VzICovCiAJbW1fcyA9IGN1cnJlbnQtPm1tOwog CXVtZW0tPm1tID0gbW1fczsKKwl1bWVtLT5wYWdlX3NoaWZ0ID0gUEFHRV9TSElGVDsKKwl1bWVt LT5uY2h1bmtzID0gRElWX1JPVU5EX1VQKG5wYWdlcywgUENTX1BBR0VTX1BFUl9DSFVOSyk7CiAK IAltbWdyYWIobW1fcyk7Ci0JbW1hcF9yZWFkX2xvY2sobW1fcyk7CiAKIAl1bWVtLT5mcF9hZGRy ID0gZnBfdmE7Ci0JdW1lbS0+cGFnZV9jaHVuayA9IGtjYWxsb2MobmNodW5rcywgc2l6ZW9mKHN0 cnVjdCBwY3NfcGFnZV9jaHVuayksIEdGUF9LRVJORUwpOworCXVtZW0tPnBhZ2VfY2h1bmsgPSBr Y2FsbG9jKHVtZW0tPm5jaHVua3MsIHNpemVvZihzdHJ1Y3QgcGNzX3BhZ2VfY2h1bmspLAorCQkJ CSAgIEdGUF9LRVJORUwpOwogCWlmICghdW1lbS0+cGFnZV9jaHVuaykgewogCQlyZXQgPSAtRU5P TUVNOwogCQlnb3RvIG91dF9lcnI7CkBAIC03MSw5ICsxMTksMTMgQEAgc3RydWN0IHBjc191bWVt ICpwY3NfdW1lbV9nZXQodTY0IHN0YXJ0LCB1NjQgbGVuKQogCQl1bWVtLT5wYWdlX2NodW5rW2ld LnBhZ2VzID0gcGFnZXM7CiAKIAkJd2hpbGUgKG4pIHsKLQkJCXJldCA9IHBpbl91c2VyX3BhZ2Vz KGZwX3ZhLCBuLCBGT0xMX1dSSVRFIHwgRk9MTF9MT05HVEVSTSwgcGFnZXMpOwotCQkJaWYgKHJl dCA8IDApCisJCQlyZXQgPSBwaW5fdXNlcl9wYWdlc19mYXN0KGZwX3ZhLCBuLAorCQkJCQkJICBG T0xMX1dSSVRFIHwgRk9MTF9MT05HVEVSTSwgcGFnZXMpOworCQkJaWYgKHJldCA8PSAwKSB7CisJ CQkJaWYgKCFyZXQpCisJCQkJCXJldCA9IC1FRkFVTFQ7CiAJCQkJZ290byBvdXRfZXJyOworCQkJ fQogCiAJCQlhdG9taWM2NF9hZGQocmV0LCAmbW1fcy0+cGlubmVkX3ZtKTsKIAkJCXVtZW0tPm5w YWdlcyArPSByZXQ7CkBAIC04MywxMiArMTM1LDEyIEBAIHN0cnVjdCBwY3NfdW1lbSAqcGNzX3Vt ZW1fZ2V0KHU2NCBzdGFydCwgdTY0IGxlbikKIAkJCW5wYWdlcyAtPSByZXQ7CiAJCX0KIAl9Ci0J bW1hcF9yZWFkX3VubG9jayhtbV9zKTsKKworCXBjc191bWVtX3RyeV9jb21wYWN0KHVtZW0pOwog CiAJcmV0dXJuIHVtZW07CiAKIG91dF9lcnI6Ci0JbW1hcF9yZWFkX3VubG9jayhtbV9zKTsKIAlw Y3NfdW1lbV9yZWxlYXNlKHVtZW0pOwogCiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKZGlmZiAtLWdp dCBhL2ZzL2Z1c2Uva2lvL3Bjcy9wY3NfbXIuaCBiL2ZzL2Z1c2Uva2lvL3Bjcy9wY3NfbXIuaApp bmRleCA2NGYyMzdmNTdkZWMuLmVhMDJhZjFkZDYyMiAxMDA2NDQKLS0tIGEvZnMvZnVzZS9raW8v cGNzL3Bjc19tci5oCisrKyBiL2ZzL2Z1c2Uva2lvL3Bjcy9wY3NfbXIuaApAQCAtNiwxMiArNiwx NCBAQAogI2RlZmluZSBfUENTX01SX0hfIDEKIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cisj aW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLWludGVybmFsLmg+ CiAKIHN0cnVjdCBwY3NfdW1lbTsKIAogI2RlZmluZSBQQ1NfTUFYX01SCQkweDEwMDAwCi0jZGVm aW5lIFBDU19QQUdFX0NIVU5LX1NISUZUIDkKKy8qIEEgcGFnZSBjaHVuayBjb3ZlcnMgZXhhY3Rs eSBvbmUgaHVnZXBhZ2U6IDJNLCBQTURfU0laRSAqLworI2RlZmluZSBQQ1NfUEFHRV9DSFVOS19T SElGVCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCkKICNkZWZpbmUgUENTX1BBR0VTX1BFUl9DSFVO SyAoMSA8PCBQQ1NfUEFHRV9DSFVOS19TSElGVCkKIAogc3RydWN0IHBjc19tcl9zZXQgewpAQCAt MjAsMTQgKzIyLDMwIEBAIHN0cnVjdCBwY3NfbXJfc2V0IHsKIAlhdG9taWNfdAltcl9udW07CQkv KiBudW1iZXIgb2YgcmVnaXN0ZXJlZCBNUnMqLwogfTsKIAorLyoKKyAqIEEgY2h1bmsgY292ZXJz IGV4YWN0bHkgb25lIDJNIGh1Z2VwYWdlIG9mIFZBOiBQQ1NfUEFHRVNfUEVSX0NIVU5LIDRrCisg KiBwYWdlcy4gRGVwZW5kaW5nIG9uIHVtZW0tPnBhZ2Vfc2hpZnQgaXQgc3RvcmVzIGVpdGhlciBh biBhcnJheSBvZgorICogdGhlIHBpbm5lZCA0ayBwYWdlcywgb3Ig4oCUIHdoZW4gdGhlIGNodW5r IGlzIGJhY2tlZCBieSBvbmUgYWxpZ25lZAorICogaHVnZXBhZ2UgZm9saW8g4oCUIGp1c3QgdGhl IGZvbGlvIGhlYWQgcGFnZSwgd2l0aCBubyBhcnJheSBhdCBhbGwuCisgKi8KIHN0cnVjdCBwY3Nf cGFnZV9jaHVuawogewotCXN0cnVjdCBwYWdlICoqcGFnZXM7IC8qIGFycmF5IG9mIHBpbm5lZCBw YWdlcyAqLworCXVuaW9uIHsKKwkJc3RydWN0IHBhZ2UgKipwYWdlczsgLyogcGFnZV9zaGlmdCA9 PSBQQUdFX1NISUZUICovCisJCXN0cnVjdCBwYWdlICpoZWFkOyAgIC8qIHBhZ2Vfc2hpZnQgPT0g UE1EX1NISUZUICovCisJfTsKIH07CiAKIHN0cnVjdCBwY3NfdW1lbSB7CiAJc3RydWN0IHBjc19w YWdlX2NodW5rICpwYWdlX2NodW5rOwotCWludCBucGFnZXM7IC8qIG51bWJlciBvZiBwaW5uZWQg cGFnZXMgKi8KKwlpbnQgbmNodW5rczsgLyogbnVtYmVyIG9mIGFsbG9jYXRlZCBwYWdlIGNodW5r cyAqLworCWludCBucGFnZXM7IC8qIG51bWJlciBvZiBwaW5uZWQgUEFHRV9TSVpFIHBhZ2VzICov CisJLyoKKwkgKiBHcmFudWxhcml0eSBvZiB0aGUgc3RvcmVkIHBhZ2UgcG9pbnRlcnM6IFBBR0Vf U0hJRlQgKGNodW5rcworCSAqIGhvbGQgNGsgcGFnZSBhcnJheXMpIG9yIFBNRF9TSElGVCAoY2h1 bmtzIGhvbGQgaHVnZXBhZ2UgZm9saW8KKwkgKiBoZWFkcykuCisJICovCisJdW5zaWduZWQgaW50 IHBhZ2Vfc2hpZnQ7CiAJdTY0IGZwX2FkZHI7IC8qIEZpcnN0IHBhZ2UgYmFzZSBhZGRyZXNzICov CiAJc3RydWN0IG1tX3N0cnVjdCAqbW07CS8qIG1tIHRoZSBtZW1vcnkgYmVsb25ncyB0byAqLwog fTsKQEAgLTQ3LDEzICs2NSwyOCBAQCBzdHJ1Y3QgcGNzX21yIHsKICAqLwogc3RhdGljIGlubGlu ZSBzdHJ1Y3QgcGFnZSAqcGNzX3VtZW1fcGFnZShzdHJ1Y3QgcGNzX3VtZW0gKnVtZW0sIHU2NCBh ZGRyKQogewotCXVuc2lnbmVkIGludCBwYWdlX2lkeCA9IChhZGRyIC0gdW1lbS0+ZnBfYWRkcikg Pj4gUEFHRV9TSElGVDsKKwl1NjQgb2ZmID0gYWRkciAtIHVtZW0tPmZwX2FkZHI7CisJdW5zaWdu ZWQgaW50IHBhZ2VfaWR4ID0gb2ZmID4+IFBBR0VfU0hJRlQ7CiAJdW5zaWduZWQgaW50IGNodW5r X2lkeCA9IHBhZ2VfaWR4ID4+IFBDU19QQUdFX0NIVU5LX1NISUZUOwogCXVuc2lnbmVkIGludCBw YWdlX2luX2NodW5rID0gcGFnZV9pZHggJiAoUENTX1BBR0VTX1BFUl9DSFVOSyAtIDEpOwogCi0J aWYgKGxpa2VseShwYWdlX2lkeCA8IHVtZW0tPm5wYWdlcykpCisJaWYgKHVubGlrZWx5KHBhZ2Vf aWR4ID49IHVtZW0tPm5wYWdlcykpCisJCXJldHVybiBOVUxMOworCisJaWYgKHVtZW0tPnBhZ2Vf c2hpZnQgPT0gUEFHRV9TSElGVCkKIAkJcmV0dXJuIHVtZW0tPnBhZ2VfY2h1bmtbY2h1bmtfaWR4 XS5wYWdlc1twYWdlX2luX2NodW5rXTsKLQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gbnRoX3BhZ2Uo dW1lbS0+cGFnZV9jaHVua1tjaHVua19pZHhdLmhlYWQsIHBhZ2VfaW5fY2h1bmspOworfQorCisv KgorICogTnVtYmVyIG9mIHBoeXNpY2FsbHkgY29udGlndW91cyBieXRlcyBtYXBwZWQgYXQgdGhl IGFkZHJlc3M6IGZyb20gYWRkcgorICogdG8gdGhlIGVuZCBvZiBpdHMgYmFja2luZyB1bml0IChQ QUdFX1NJWkUgb3IgYSAyTSBodWdlcGFnZSBmb2xpbykuCisgKiBMZXRzIGNhbGxlcnMgYnVpbGQg YmlvX3ZlY3Mgc3Bhbm5pbmcgYSB3aG9sZSBodWdlcGFnZSBpbnN0ZWFkIG9mCisgKiBvbmUgYmlv X3ZlYyBwZXIgNGsgcGFnZS4KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcGNzX3Vt ZW1fY29udGlnKHN0cnVjdCBwY3NfdW1lbSAqdW1lbSwgdTY0IGFkZHIpCit7CisJcmV0dXJuICgx VSA8PCB1bWVtLT5wYWdlX3NoaWZ0KSAtIChhZGRyICYgKCgxVSA8PCB1bWVtLT5wYWdlX3NoaWZ0 KSAtIDEpKTsKIH0KIAogc3RydWN0IHBjc191bWVtICpwY3NfdW1lbV9nZXQodTY0IHN0YXJ0LCB1 NjQgbGVuKTsKCi0tIApHaXQtMTU1KQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KRGV2ZWwgbWFpbGluZyBsaXN0CkRldmVsQG9wZW52ei5vcmcKaHR0cHM6 Ly9saXN0cy5vcGVudnoub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwK