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 4CF1DD58E48 for ; Mon, 2 Mar 2026 16:33:18 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1711D10E366; Mon, 2 Mar 2026 16:33:13 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="DAEWngh1"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by gabe.freedesktop.org (Postfix) with ESMTPS id 936C010E366; Mon, 2 Mar 2026 16:33:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772469192; x=1804005192; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+dB6I97jnF3C+kz4LYr+QDqcLMSjhH89nLttR0xMEkA=; b=DAEWngh1L3YtMSMVSfyiutybU0aR45Nh2nJArTB/HGDtKh5D00Eelvi0 DYSzDKk4Ik9XX/P6IUbYP+T7sMwIIK3cjVFK82RVxkjL1u6t2rpQcDpji REFJXphP1nOjTRSiyPvQ7TOLV0rmSZwK8XPMf7eZDI3/S1dt+cbwrXEb3 4vDak+lxqNxwfZfwHJ7yusVeoL0EofsIqHBOUXhbvXeBalJEi/F/d2GGt 0BcqauyaWB0OMrqzYVXKdeg3VZ4ZTQjz+5TeNneEE4uwqOXFp+4HCHwRV AgY8Uyxx3lGXSHHqqv1RT2V/czuq3aanIpmBNr7mrJYoInhfBj5xnyeM6 A==; X-CSE-ConnectionGUID: PNm39HBJRuGQOnpKiFCI+g== X-CSE-MsgGUID: veNFHsp6Raul52IXeyYx5A== X-IronPort-AV: E=McAfee;i="6800,10657,11717"; a="73447826" X-IronPort-AV: E=Sophos;i="6.21,320,1763452800"; d="scan'208";a="73447826" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 08:33:12 -0800 X-CSE-ConnectionGUID: pUth11IySXeudJp5F/KqPA== X-CSE-MsgGUID: nOQS+yt6QGaZqsL5agaPdQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,320,1763452800"; d="scan'208";a="255564512" Received: from smoticic-mobl1.ger.corp.intel.com (HELO fedora) ([10.245.244.81]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2026 08:33:10 -0800 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-xe@lists.freedesktop.org Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Jason Gunthorpe , Andrew Morton , Simona Vetter , Dave Airlie , Alistair Popple , dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Matthew Brost , =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH v2 1/4] mm/mmu_notifier: Allow two-pass struct mmu_interval_notifiers Date: Mon, 2 Mar 2026 17:32:45 +0100 Message-ID: <20260302163248.105454-2-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260302163248.105454-1-thomas.hellstrom@linux.intel.com> References: <20260302163248.105454-1-thomas.hellstrom@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 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" R1BVIHVzZS1jYXNlcyBmb3IgbW11X2ludGVydmFsX25vdGlmaWVycyB3aXRoIGhtbSBvZnRlbiBp bnZvbHZlCnN0YXJ0aW5nIGEgZ3B1IG9wZXJhdGlvbiBhbmQgdGhlbiB3YWl0aW5nIGZvciBpdCB0 byBjb21wbGV0ZS4KVGhlc2Ugb3BlcmF0aW9ucyBhcmUgdHlwaWNhbGx5IGNvbnRleHQgcHJlZW1w dGlvbiBvciBUTEIgZmx1c2hpbmcuCgpXaXRoIHNpbmdsZS1wYXNzIG5vdGlmaWVycyBwZXIgR1BV IHRoaXMgZG9lc24ndCBzY2FsZSBpbgptdWx0aS1ncHUgc2NlbmFyaW9zLiBJbiB0aG9zZSBzY2Vu YXJpb3Mgd2UnZCB3YW50IHRvIGZpcnN0IHN0YXJ0CnByZWVtcHRpb24tIG9yIFRMQiBmbHVzaGlu ZyBvbiBhbGwgR1BVcyBhbmQgYXMgYSBzZWNvbmQgcGFzcyB3YWl0CmZvciB0aGVtIHRvIGNvbXBs ZXRlLgoKT25lIGNhbiBkbyB0aGlzIG9uIHBlci1kcml2ZXIgYmFzaXMgbXVsdGlwbGV4aW5nIHBl ci1kcml2ZXIKbm90aWZpZXJzIGJ1dCB0aGF0IHdvdWxkIG1lYW4gc2hhcmluZyB0aGUgbm90aWZp ZXIgInVzZXIiIGxvY2sKYWNyb3NzIGFsbCBHUFVzIGFuZCB0aGF0IGRvZXNuJ3Qgc2NhbGUgd2Vs bCBlaXRoZXIsIHNvIGFkZGluZyBzdXBwb3J0CmZvciBtdWx0aS1wYXNzIGluIHRoZSBjb3JlIGFw cGVhcnMgdG8gYmUgdGhlIHJpZ2h0IGNob2ljZS4KCkltcGxlbWVudCB0d28tcGFzcyBjYXBhYmls aXR5IGluIHRoZSBtbXVfaW50ZXJ2YWxfbm90aWZpZXIuIFVzZSBhCmxpbmtlZCBsaXN0IGZvciB0 aGUgZmluYWwgcGFzc2VzIHRvIG1pbmltaXplIHRoZSBpbXBhY3QgZm9yCnVzZS1jYXNlcyB0aGF0 IGRvbid0IG5lZWQgdGhlIG11bHRpLXBhc3MgZnVuY3Rpb25hbGl0eSBieSBhdm9pZGluZwphIHNl Y29uZCBpbnRlcnZhbCB0cmVlIHdhbGssIGFuZCB0byBiZSBhYmxlIHRvIGVhc2lseSBwYXNzIGRh dGEKYmV0d2VlbiB0aGUgdHdvIHBhc3Nlcy4KCnYxOgotIFJlc3RyaWN0IHRvIHR3byBwYXNzZXMg KEphc29uIEd1bnRob3JwZSkKLSBJbXByb3ZlIG9uIGRvY3VtZW50YXRpb24gKEphc29uIEd1bnRo b3JwZSkKLSBJbXByb3ZlIG9uIGZ1bmN0aW9uIG5hbWluZyAoQWxpc3RhaXIgUG9wcGxlKQp2MjoK LSBJbmNsdWRlIHRoZSBpbnZhbGlkYXRlX2ZpbmlzaCgpIGNhbGxiYWNrIGluIHRoZQogIHN0cnVj dCBtbXVfaW50ZXJ2YWxfbm90aWZpZXJfb3BzLgotIFVwZGF0ZSBkb2N1bWVudGF0aW9uIChHaXRI dWIgQ29waWxvdDpjbGF1ZGUtc29ubmV0LTQuNikKLSBVc2UgbG9ja2xlc3MgbGlzdCBmb3IgbGlz dCBtYW5hZ2VtZW50LgoKQ2M6IEphc29uIEd1bnRob3JwZSA8amdnQHppZXBlLmNhPgpDYzogQW5k cmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IFNpbW9uYSBWZXR0ZXIg PHNpbW9uYS52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5j b20+CkNjOiBBbGlzdGFpciBQb3BwbGUgPGFwb3BwbGVAbnZpZGlhLmNvbT4KQ2M6IDxkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPgpDYzogPGxpbnV4LW1tQGt2YWNrLm9yZz4KQ2M6IDxs aW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPgoKQXNzaXN0ZWQtYnk6IEdpdEh1YiBDb3BpbG90 OmNsYXVkZS1zb25uZXQtNC42ICMgRG9jdW1lbnRhdGlvbiBvbmx5LgpTaWduZWQtb2ZmLWJ5OiBU aG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5pbnRlbC5jb20+Ci0tLQog aW5jbHVkZS9saW51eC9tbXVfbm90aWZpZXIuaCB8IDM4ICsrKysrKysrKysrKysrKysrKysrKwog bW0vbW11X25vdGlmaWVyLmMgICAgICAgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCA5IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW11X25vdGlmaWVyLmggYi9pbmNs dWRlL2xpbnV4L21tdV9ub3RpZmllci5oCmluZGV4IDA3YTJiYmFmODZlOS4uZGUwZTc0MmVhODA4 IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21tdV9ub3RpZmllci5oCisrKyBiL2luY2x1ZGUv bGludXgvbW11X25vdGlmaWVyLmgKQEAgLTIzMywxNiArMjMzLDU0IEBAIHN0cnVjdCBtbXVfbm90 aWZpZXIgewogCXVuc2lnbmVkIGludCB1c2VyczsKIH07CiAKKy8qKgorICogc3RydWN0IG1tdV9p bnRlcnZhbF9ub3RpZmllcl9maW5pc2ggLSBtbXVfaW50ZXJ2YWxfbm90aWZpZXIgdHdvLXBhc3Mg YWJzdHJhY3Rpb24KKyAqIEBsaW5rOiBMaXN0IGxpbmsgZm9yIHRoZSBub3RpZmllcnMgcGVuZGlu ZyBwYXNzIGxpc3QKKyAqIEBub3RpZmllcjogVGhlIG1tdV9pbnRlcnZhbF9ub3RpZmllciBmb3Ig d2hpY2ggdGhlIGZpbmlzaCBwYXNzIGlzIGNhbGxlZC4KKyAqCisgKiBBbGxvY2F0ZSwgdHlwaWNh bGx5IHVzaW5nIEdGUF9OT1dBSVQgaW4gdGhlIGludGVydmFsIG5vdGlmaWVyJ3MgZmlyc3QgcGFz cy4KKyAqIElmIGFsbG9jYXRpb24gZmFpbHMgKHdoaWNoIGlzIG5vdCB1bmxpa2VseSB1bmRlciBt ZW1vcnkgcHJlc3N1cmUpLCBmYWxsIGJhY2sKKyAqIHRvIHNpbmdsZS1wYXNzIG9wZXJhdGlvbi4g Tm90ZSB0aGF0IHdpdGggYSBsYXJnZSBudW1iZXIgb2Ygbm90aWZpZXJzCisgKiBpbXBsZW1lbnRp bmcgdHdvIHBhc3NlcywgYWxsb2NhdGlvbiB3aXRoIEdGUF9OT1dBSVQgd2lsbCBiZWNvbWUgaW5j cmVhc2luZ2x5CisgKiBsaWtlbHkgdG8gZmFpbCwgc28gY29uc2lkZXIgaW1wbGVtZW50aW5nIGEg c21hbGwgcG9vbCBpbnN0ZWFkIG9mIHVzaW5nCisgKiBrbWFsbG9jKCkgYWxsb2NhdGlvbnMuCisg KgorICogSWYgdGhlIGltcGxlbWVudGF0aW9uIG5lZWRzIHRvIHBhc3MgZGF0YSBiZXR3ZWVuIHRo ZSB0d28gcGFzc2VzLAorICogdGhlIHJlY29tbWVuZGVkIHdheSBpcyB0byBlbWJlZCBzdHJ1Y3Qg bW11X2ludGVydmFsX25vdGlmaWVyX2ZpbmlzaCBpbnRvIGEgbGFyZ2VyCisgKiBzdHJ1Y3R1cmUg dGhhdCBhbHNvIGNvbnRhaW5zIHRoZSBkYXRhIG5lZWRlZCB0byBiZSBzaGFyZWQuIEtlZXAgaW4g bWluZCB0aGF0CisgKiBhIG5vdGlmaWVyIGNhbGxiYWNrIGNhbiBiZSBpbnZva2VkIGluIHBhcmFs bGVsLCBhbmQgZWFjaCBpbnZvY2F0aW9uIG5lZWRzIGl0cworICogb3duIHN0cnVjdCBtbXVfaW50 ZXJ2YWxfbm90aWZpZXJfZmluaXNoLgorICovCitzdHJ1Y3QgbW11X2ludGVydmFsX25vdGlmaWVy X2ZpbmlzaCB7CisJc3RydWN0IGxsaXN0X25vZGUgbGluazsKKwlzdHJ1Y3QgbW11X2ludGVydmFs X25vdGlmaWVyICpub3RpZmllcjsKK307CisKIC8qKgogICogc3RydWN0IG1tdV9pbnRlcnZhbF9u b3RpZmllcl9vcHMKICAqIEBpbnZhbGlkYXRlOiBVcG9uIHJldHVybiB0aGUgY2FsbGVyIG11c3Qg c3RvcCB1c2luZyBhbnkgU1BURXMgd2l0aGluIHRoaXMKICAqICAgICAgICAgICAgICByYW5nZS4g VGhpcyBmdW5jdGlvbiBjYW4gc2xlZXAuIFJldHVybiBmYWxzZSBvbmx5IGlmIHNsZWVwaW5nCiAg KiAgICAgICAgICAgICAgd2FzIHJlcXVpcmVkIGJ1dCBtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2th YmxlKHJhbmdlKSBpcyBmYWxzZS4KKyAqIEBpbnZhbGlkYXRlX3N0YXJ0OiBTaW1pbGFyIHRvIEBp bnZhbGlkYXRlLCBidXQgaW50ZW5kZWQgZm9yIHR3by1wYXNzIG5vdGlmaWVyCisgKiAgICAgICAg ICAgICAgICAgICAgY2FsbGJhY2tzIHdoZXJlIHRoZSBjYWxsIHRvIEBpbnZhbGlkYXRlX3N0YXJ0 IGlzIHRoZSBmaXJzdAorICogICAgICAgICAgICAgICAgICAgIHBhc3MgYW5kIGFueSBzdHJ1Y3Qg bW11X2ludGVydmFsX25vdGlmaWVyX2ZpbmlzaCBwb2ludGVyCisgKiAgICAgICAgICAgICAgICAg ICAgcmV0dXJuZWQgaW4gdGhlIEBmaW5pc2ggcGFyYW1ldGVyIGRlc2NyaWJlcyB0aGUgZmluYWwg cGFzcy4KKyAqICAgICAgICAgICAgICAgICAgICBJZiBAZmluaXNoIGlzICVOVUxMIG9uIHJldHVy biwgdGhlbiBubyBmaW5hbCBwYXNzIHdpbGwgYmUKKyAqICAgICAgICAgICAgICAgICAgICBjYWxs ZWQuCisgKiBAaW52YWxpZGF0ZV9maW5pc2g6IENhbGxlZCBhcyB0aGUgc2Vjb25kIHBhc3MgZm9y IGFueSBub3RpZmllciB0aGF0IHJldHVybmVkCisgKiAgICAgICAgICAgICAgICAgICAgIGEgbm9u LU5VTEwgQGZpbmlzaCBmcm9tIEBpbnZhbGlkYXRlX3N0YXJ0LiBUaGUgQGZpbmlzaAorICogICAg ICAgICAgICAgICAgICAgICBwb2ludGVyIHBhc3NlZCBoZXJlIGlzIHRoZSBzYW1lIG9uZSByZXR1 cm5lZCBieQorICogICAgICAgICAgICAgICAgICAgICBAaW52YWxpZGF0ZV9zdGFydC4KICAqLwog c3RydWN0IG1tdV9pbnRlcnZhbF9ub3RpZmllcl9vcHMgewogCWJvb2wgKCppbnZhbGlkYXRlKShz dHJ1Y3QgbW11X2ludGVydmFsX25vdGlmaWVyICppbnRlcnZhbF9zdWIsCiAJCQkgICBjb25zdCBz dHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlICpyYW5nZSwKIAkJCSAgIHVuc2lnbmVkIGxvbmcgY3Vy X3NlcSk7CisJYm9vbCAoKmludmFsaWRhdGVfc3RhcnQpKHN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90 aWZpZXIgKmludGVydmFsX3N1YiwKKwkJCQkgY29uc3Qgc3RydWN0IG1tdV9ub3RpZmllcl9yYW5n ZSAqcmFuZ2UsCisJCQkJIHVuc2lnbmVkIGxvbmcgY3VyX3NlcSwKKwkJCQkgc3RydWN0IG1tdV9p bnRlcnZhbF9ub3RpZmllcl9maW5pc2ggKipmaW5pc2gpOworCXZvaWQgKCppbnZhbGlkYXRlX2Zp bmlzaCkoc3RydWN0IG1tdV9pbnRlcnZhbF9ub3RpZmllcl9maW5pc2ggKmZpbmlzaCk7CiB9Owog CiBzdHJ1Y3QgbW11X2ludGVydmFsX25vdGlmaWVyIHsKZGlmZiAtLWdpdCBhL21tL21tdV9ub3Rp Zmllci5jIGIvbW0vbW11X25vdGlmaWVyLmMKaW5kZXggYTZjZGYzNjc0YmRjLi4zOGFjZDVlZjhl YjAgMTAwNjQ0Ci0tLSBhL21tL21tdV9ub3RpZmllci5jCisrKyBiL21tL21tdV9ub3RpZmllci5j CkBAIC0yNjAsNiArMjYwLDE1IEBAIG1tdV9pbnRlcnZhbF9yZWFkX2JlZ2luKHN0cnVjdCBtbXVf aW50ZXJ2YWxfbm90aWZpZXIgKmludGVydmFsX3N1YikKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKG1t dV9pbnRlcnZhbF9yZWFkX2JlZ2luKTsKIAorc3RhdGljIHZvaWQgbW5faXRyZWVfZmluaXNoX3Bh c3Moc3RydWN0IGxsaXN0X2hlYWQgKmZpbmlzaF9wYXNzZXMpCit7CisJc3RydWN0IGxsaXN0X25v ZGUgKmZpcnN0ID0gbGxpc3RfcmV2ZXJzZV9vcmRlcihfX2xsaXN0X2RlbF9hbGwoZmluaXNoX3Bh c3NlcykpOworCXN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90aWZpZXJfZmluaXNoICpmLCAqbmV4dDsK KworCWxsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZiwgbmV4dCwgZmlyc3QsIGxpbmspCisJCWYt Pm5vdGlmaWVyLT5vcHMtPmludmFsaWRhdGVfZmluaXNoKGYpOworfQorCiBzdGF0aWMgdm9pZCBt bl9pdHJlZV9yZWxlYXNlKHN0cnVjdCBtbXVfbm90aWZpZXJfc3Vic2NyaXB0aW9ucyAqc3Vic2Ny aXB0aW9ucywKIAkJCSAgICAgc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7CkBAIC0yNzEsNiArMjgw LDcgQEAgc3RhdGljIHZvaWQgbW5faXRyZWVfcmVsZWFzZShzdHJ1Y3QgbW11X25vdGlmaWVyX3N1 YnNjcmlwdGlvbnMgKnN1YnNjcmlwdGlvbnMsCiAJCS5lbmQgPSBVTE9OR19NQVgsCiAJfTsKIAlz dHJ1Y3QgbW11X2ludGVydmFsX25vdGlmaWVyICppbnRlcnZhbF9zdWI7CisJTExJU1RfSEVBRChm aW5pc2hfcGFzc2VzKTsKIAl1bnNpZ25lZCBsb25nIGN1cl9zZXE7CiAJYm9vbCByZXQ7CiAKQEAg LTI3OCwxMSArMjg4LDI3IEBAIHN0YXRpYyB2b2lkIG1uX2l0cmVlX3JlbGVhc2Uoc3RydWN0IG1t dV9ub3RpZmllcl9zdWJzY3JpcHRpb25zICpzdWJzY3JpcHRpb25zLAogCQkgICAgIG1uX2l0cmVl X2ludl9zdGFydF9yYW5nZShzdWJzY3JpcHRpb25zLCAmcmFuZ2UsICZjdXJfc2VxKTsKIAkgICAg IGludGVydmFsX3N1YjsKIAkgICAgIGludGVydmFsX3N1YiA9IG1uX2l0cmVlX2ludl9uZXh0KGlu dGVydmFsX3N1YiwgJnJhbmdlKSkgewotCQlyZXQgPSBpbnRlcnZhbF9zdWItPm9wcy0+aW52YWxp ZGF0ZShpbnRlcnZhbF9zdWIsICZyYW5nZSwKLQkJCQkJCSAgICBjdXJfc2VxKTsKKwkJaWYgKGlu dGVydmFsX3N1Yi0+b3BzLT5pbnZhbGlkYXRlX3N0YXJ0KSB7CisJCQlzdHJ1Y3QgbW11X2ludGVy dmFsX25vdGlmaWVyX2ZpbmlzaCAqZmluaXNoID0gTlVMTDsKKworCQkJcmV0ID0gaW50ZXJ2YWxf c3ViLT5vcHMtPmludmFsaWRhdGVfc3RhcnQoaW50ZXJ2YWxfc3ViLAorCQkJCQkJCQkgICZyYW5n ZSwKKwkJCQkJCQkJICBjdXJfc2VxLAorCQkJCQkJCQkgICZmaW5pc2gpOworCQkJaWYgKHJldCAm JiBmaW5pc2gpIHsKKwkJCQlmaW5pc2gtPm5vdGlmaWVyID0gaW50ZXJ2YWxfc3ViOworCQkJCV9f bGxpc3RfYWRkKCZmaW5pc2gtPmxpbmssICZmaW5pc2hfcGFzc2VzKTsKKwkJCX0KKworCQl9IGVs c2UgeworCQkJcmV0ID0gaW50ZXJ2YWxfc3ViLT5vcHMtPmludmFsaWRhdGUoaW50ZXJ2YWxfc3Vi LAorCQkJCQkJCSAgICAmcmFuZ2UsCisJCQkJCQkJICAgIGN1cl9zZXEpOworCQl9CiAJCVdBUk5f T04oIXJldCk7CiAJfQogCisJbW5faXRyZWVfZmluaXNoX3Bhc3MoJmZpbmlzaF9wYXNzZXMpOwog CW1uX2l0cmVlX2ludl9lbmQoc3Vic2NyaXB0aW9ucyk7CiB9CiAKQEAgLTQzMCw3ICs0NTYsOSBA QCBzdGF0aWMgaW50IG1uX2l0cmVlX2ludmFsaWRhdGUoc3RydWN0IG1tdV9ub3RpZmllcl9zdWJz Y3JpcHRpb25zICpzdWJzY3JpcHRpb25zLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBtbXVfbm90 aWZpZXJfcmFuZ2UgKnJhbmdlKQogewogCXN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90aWZpZXIgKmlu dGVydmFsX3N1YjsKKwlMTElTVF9IRUFEKGZpbmlzaF9wYXNzZXMpOwogCXVuc2lnbmVkIGxvbmcg Y3VyX3NlcTsKKwlpbnQgZXJyID0gMDsKIAogCWZvciAoaW50ZXJ2YWxfc3ViID0KIAkJICAgICBt bl9pdHJlZV9pbnZfc3RhcnRfcmFuZ2Uoc3Vic2NyaXB0aW9ucywgcmFuZ2UsICZjdXJfc2VxKTsK QEAgLTQzOCwyMyArNDY2LDQxIEBAIHN0YXRpYyBpbnQgbW5faXRyZWVfaW52YWxpZGF0ZShzdHJ1 Y3QgbW11X25vdGlmaWVyX3N1YnNjcmlwdGlvbnMgKnN1YnNjcmlwdGlvbnMsCiAJICAgICBpbnRl cnZhbF9zdWIgPSBtbl9pdHJlZV9pbnZfbmV4dChpbnRlcnZhbF9zdWIsIHJhbmdlKSkgewogCQli b29sIHJldDsKIAotCQlyZXQgPSBpbnRlcnZhbF9zdWItPm9wcy0+aW52YWxpZGF0ZShpbnRlcnZh bF9zdWIsIHJhbmdlLAotCQkJCQkJICAgIGN1cl9zZXEpOworCQlpZiAoaW50ZXJ2YWxfc3ViLT5v cHMtPmludmFsaWRhdGVfc3RhcnQpIHsKKwkJCXN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90aWZpZXJf ZmluaXNoICpmaW5pc2ggPSBOVUxMOworCisJCQlyZXQgPSBpbnRlcnZhbF9zdWItPm9wcy0+aW52 YWxpZGF0ZV9zdGFydChpbnRlcnZhbF9zdWIsCisJCQkJCQkJCSAgcmFuZ2UsCisJCQkJCQkJCSAg Y3VyX3NlcSwKKwkJCQkJCQkJICAmZmluaXNoKTsKKwkJCWlmIChyZXQgJiYgZmluaXNoKSB7CisJ CQkJZmluaXNoLT5ub3RpZmllciA9IGludGVydmFsX3N1YjsKKwkJCQlfX2xsaXN0X2FkZCgmZmlu aXNoLT5saW5rLCAmZmluaXNoX3Bhc3Nlcyk7CisJCQl9CisKKwkJfSBlbHNlIHsKKwkJCXJldCA9 IGludGVydmFsX3N1Yi0+b3BzLT5pbnZhbGlkYXRlKGludGVydmFsX3N1YiwKKwkJCQkJCQkgICAg cmFuZ2UsCisJCQkJCQkJICAgIGN1cl9zZXEpOworCQl9CiAJCWlmICghcmV0KSB7CiAJCQlpZiAo V0FSTl9PTihtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2thYmxlKHJhbmdlKSkpCiAJCQkJY29udGlu dWU7Ci0JCQlnb3RvIG91dF93b3VsZF9ibG9jazsKKwkJCWVyciA9IC1FQUdBSU47CisJCQlicmVh azsKIAkJfQogCX0KLQlyZXR1cm4gMDsKIAotb3V0X3dvdWxkX2Jsb2NrOgorCW1uX2l0cmVlX2Zp bmlzaF9wYXNzKCZmaW5pc2hfcGFzc2VzKTsKKwogCS8qCiAJICogT24gLUVBR0FJTiB0aGUgbm9u LWJsb2NraW5nIGNhbGxlciBpcyBub3QgYWxsb3dlZCB0byBjYWxsCiAJICogaW52YWxpZGF0ZV9y YW5nZV9lbmQoKQogCSAqLwotCW1uX2l0cmVlX2ludl9lbmQoc3Vic2NyaXB0aW9ucyk7Ci0JcmV0 dXJuIC1FQUdBSU47CisJaWYgKGVycikKKwkJbW5faXRyZWVfaW52X2VuZChzdWJzY3JpcHRpb25z KTsKKworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBpbnQgbW5faGxpc3RfaW52YWxpZGF0ZV9y YW5nZV9zdGFydCgKLS0gCjIuNTMuMAoK