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 D435CCD5BBF for ; Mon, 25 May 2026 08:45:57 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 327B710E600; Mon, 25 May 2026 08:45:57 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="Af96JGHD"; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0FBF110E51F for ; Mon, 25 May 2026 08:45:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779698751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xqQpQ/GF7r/UpbjClH/YEY/g/tI3n+T6qxGAQdsX9zg=; b=Af96JGHDHV19ioVZ6paGbhDf9BufbYF5d6WhmQ8wsr+8d3Pq4Cizc1iKj1SX2GpnDV9A1/ v9knnQyhyOOSReYRVkxuZSnY9UjVY1EGum2uXln/WCJ6JB54oGJ+oJm858srSnI9NCpZKY PD9GqF/88Oe6sz9ZHYjciTLhlz5vCuw= Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-124-FHblc90kPfar7DU13hTUWA-1; Mon, 25 May 2026 04:45:48 -0400 X-MC-Unique: FHblc90kPfar7DU13hTUWA-1 X-Mimecast-MFC-AGG-ID: FHblc90kPfar7DU13hTUWA_1779698746 Received: by mail-lj1-f200.google.com with SMTP id 38308e7fff4ca-3942da9e8deso34181521fa.0 for ; Mon, 25 May 2026 01:45:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779698746; x=1780303546; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xqQpQ/GF7r/UpbjClH/YEY/g/tI3n+T6qxGAQdsX9zg=; b=ZOC8VMeERgaaiLyvHUypAcWoLyuy6gTVcWT/OG9o4SGuMu8D6+s33ycwpu9xMY+UlU 0DeRBNJKg2mcrLc/i1xejvR2X3P4zcuSQTK9QtX0YnPcNk3DvP/kvFAnwBpQhupYEfep iRBqluYOaYGVKQtqalgo9GSoslDu9hawy69O3gyW8Id+p4BBbEyGWhHkqrs/n22916GO TVRoKYJB4F0Dg3quTz1oOfN1c4PPT+KHyMrmVkBUxeGdzvRaHG7SSrgfFujred7FUQhz 55cs72NxyBy/hfSxw4/InUEj/eHU6ms12c1h6Bj4mR/aaM16JGEmbmUSK1novtrFCFn1 CW9g== X-Gm-Message-State: AOJu0YzNhIi66vY6N2Pc390O/D/DyiuzUwRqb/7Qj0vD9Y2gTU/WjIdR Ps5bE8LTyPkba0y8j8sdngezk9iPKfbj2/+puMcqgH+i0E1/5gGiECnqCiU37369FHP/NX4kC/8 ndedGHu9YJ9Gd+68eRwj5mSUYDRrptJuL4thy75/R13X+UU2v6DJJjHSkRVHRuDk4jhCr X-Gm-Gg: Acq92OEv4clPJZg35nSOPu01THPEM3AIXV6DQ1EnySFbu76j5/EHOMAQp/9PsUPgu4G oBiff86nuij/6i3ZHhkiHYEKylppcNdCAp72WSH/lYbEgWwlJ3TLkn41pZ3r3H70gbzZRHKu8IR A5bMofpIHjdPpJgU49wUyc3ROVz+g/7hnMIgOz2C2d5RCPva/U4GH+m4alI5wFFCR6eQHwb4Q67 xWwIS8Ye3LK3iPpgBkiMbYGeg41C7lUnJPnpgmNJU+tTv+fun1OQK3GKYYXdtvcTsDkaJBxhNKc IOkQNNg3G3w30QmEsX5AStnrEkO0RwMp363BmfkpClwTO+MK1v+sxXgfJL9n4dR/xpF4zeE+akB cXUyw/0i2smgMl4wb8YpFjUWWEHnf0uy4/Vrn X-Received: by 2002:a2e:ab0a:0:b0:38e:298:96de with SMTP id 38308e7fff4ca-395d8bd30f6mr43125621fa.1.1779698746322; Mon, 25 May 2026 01:45:46 -0700 (PDT) X-Received: by 2002:a2e:ab0a:0:b0:38e:298:96de with SMTP id 38308e7fff4ca-395d8bd30f6mr43125471fa.1.1779698745867; Mon, 25 May 2026 01:45:45 -0700 (PDT) Received: from fedora (85-23-51-1.bb.dnainternet.fi. [85.23.51.1]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-395dca7bcddsm21679061fa.16.2026.05.25.01.45.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 May 2026 01:45:45 -0700 (PDT) From: mpenttil@redhat.com To: linux-mm@kvack.org Cc: dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Mika=20Penttil=C3=A4?= , David Hildenbrand , Jason Gunthorpe , Leon Romanovsky , Alistair Popple , Balbir Singh , Zi Yan , Matthew Brost , Andrew Morton , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko Subject: [PATCH v12 2/5] mm: Add helper to convert HMM pfn to migrate pfn Date: Mon, 25 May 2026 11:45:21 +0300 Message-ID: <20260525084524.139868-3-mpenttil@redhat.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20260525084524.139868-1-mpenttil@redhat.com> References: <20260525084524.139868-1-mpenttil@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: J69gbwprWuOqlSBb6UcoBxkN4iXOq1HAcz0RzMgQnKo_1779698746 X-Mimecast-Originator: redhat.com 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" RnJvbTogTWlrYSBQZW50dGlsw6QgPG1wZW50dGlsQHJlZGhhdC5jb20+CgpUaGUgdW5pZmllZCBI TU0vbWlncmF0ZV9kZXZpY2UgcGFnZXdhbGsgZG9lcyB0aGUgImNvbGxlY3RpbmciCm9uIHRoZSBI TU0gc2lkZSwgc28gd2UgbmVlZCBhIGhlbHBlciB0byB0cmFuc2ZlciBwZm5zIHRvIHRoZQptaWdy YXRlX3ZtYSB3b3JsZC4KCkNjOiBEYXZpZCBIaWxkZW5icmFuZCA8ZGF2aWRAa2VybmVsLm9yZz4K Q2M6IEphc29uIEd1bnRob3JwZSA8amdnQG52aWRpYS5jb20+CkNjOiBMZW9uIFJvbWFub3Zza3kg PGxlb25yb0BudmlkaWEuY29tPgpDYzogQWxpc3RhaXIgUG9wcGxlIDxhcG9wcGxlQG52aWRpYS5j b20+CkNjOiBCYWxiaXIgU2luZ2ggPGJhbGJpcnNAbnZpZGlhLmNvbT4KQ2M6IFppIFlhbiA8eml5 QG52aWRpYS5jb20+CkNjOiBNYXR0aGV3IEJyb3N0IDxtYXR0aGV3LmJyb3N0QGludGVsLmNvbT4K U3VnZ2VzdGVkLWJ5OiBBbGlzdGFpciBQb3BwbGUgPGFwb3BwbGVAbnZpZGlhLmNvbT4KU2lnbmVk LW9mZi1ieTogTWlrYSBQZW50dGlsw6QgPG1wZW50dGlsQHJlZGhhdC5jb20+Ci0tLQogaW5jbHVk ZS9saW51eC9obW0uaCAgICAgfCAxOSArKysrKysrKysrKysrLQogaW5jbHVkZS9saW51eC9taWdy YXRlLmggfCAgMyArKy0KIG1tL21pZ3JhdGVfZGV2aWNlLmMgICAgIHwgNTUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2htbS5o IGIvaW5jbHVkZS9saW51eC9obW0uaAppbmRleCBkYjc1ZmZjOTQ5YTcuLmJmZWRhZmMxYzE0MyAx MDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9obW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L2htbS5o CkBAIC0xMyw2ICsxMyw4IEBACiAKIHN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90aWZpZXI7CiAKK3N0 cnVjdCBtaWdyYXRlX3ZtYTsKKwogLyoKICAqIE9uIG91dHB1dDoKICAqIDAgICAgICAgICAgICAg LSBUaGUgcGFnZSBpcyBmYXVsdGFibGUgYW5kIGEgZnV0dXJlIGNhbGwgd2l0aCAKQEAgLTI3LDYg KzI5LDEzIEBAIHN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90aWZpZXI7CiAgKiBITU1fUEZOX1AyUERN QV9CVVMgLSBCdXMgbWFwcGVkIFAyUCB0cmFuc2ZlcgogICogSE1NX1BGTl9ETUFfTUFQUEVEIC0g RmxhZyBwcmVzZXJ2ZWQgb24gaW5wdXQtdG8tb3V0cHV0IHRyYW5zZm9ybWF0aW9uCiAgKiAgICAg ICAgICAgICAgICAgICAgICB0byBtYXJrIHRoYXQgcGFnZSBpcyBhbHJlYWR5IERNQSBtYXBwZWQK KyAqIEhNTV9QRk5fTUlHUkFURSAgICAtIFRoZSBlbnRyeSBpcyB0byBiZSBtaWdyYXRlZC4gTm90 ZSwgSE1NX1BGTl9NSUdSQVRFCisgKiAgICAgICAgICAgICAgICAgICAgICBhbG9uZSB3aXRob3V0 IEhNTV9QRk5fVkFMSUQgZGVub3RlcyB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgIGVtcHR5 IHBhZ2UuCisgKiAgICAgICAgICAgICAgICAgICAgICBUaGlzIGZsYWcgdG9nZXRoZXIgd2l0aCBI TU1fUEZOX0NPTVBPVU5EIGFyZQorICogICAgICAgICAgICAgICAgICAgICAgaW5kaWNhdG9ycyBm b3IgbWlncmF0ZV9obW1fcmFuZ2Vfc2V0dXAoKSB0bworICogICAgICAgICAgICAgICAgICAgICAg c2V0dXAgdGhlIG1pZ3JhdGUgcGZucy4KKyAqIEhNTV9QRk5fQ09NUE9VTkQgICAtIFRoZSBlbnRy eSBpcyByZXByZXNlbnRzIGEgPiAwIG9yZGVyIHBhZ2UKICAqCiAgKiBPbiBpbnB1dDoKICAqIDAg ICAgICAgICAgICAgICAgIC0gUmV0dXJuIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwYWdlLCBk byBub3QgZmF1bHQgaXQuCkBAIC0zNCw2ICs0Myw4IEBAIHN0cnVjdCBtbXVfaW50ZXJ2YWxfbm90 aWZpZXI7CiAgKiAgICAgICAgICAgICAgICAgICAgIHdpbGwgZmFpbAogICogSE1NX1BGTl9SRVFf V1JJVEUgLSBUaGUgb3V0cHV0IG11c3QgaGF2ZSBITU1fUEZOX1dSSVRFIG9yIGhtbV9yYW5nZV9m YXVsdCgpCiAgKiAgICAgICAgICAgICAgICAgICAgIHdpbGwgZmFpbC4gTXVzdCBiZSBjb21iaW5l ZCB3aXRoIEhNTV9QRk5fUkVRX0ZBVUxULgorICogSE1NX1BGTl9SRVFfTUlHUkFURSAtIEZvciBk ZWZhdWx0X2ZsYWdzLCByZXF1ZXN0IHRvIG1pZ3JhdGUsIGFjY29yZGluZyB0bworICogICAgICAg ICAgICAgICAgICAgICAgIGhtbV9yYW5nZS5taWdyYXRlLmZsYWdzCiAgKi8KIGVudW0gaG1tX3Bm bl9mbGFncyB7CiAJLyogT3V0cHV0IGZpZWxkcyBhbmQgZmxhZ3MgKi8KQEAgLTQ4LDExICs1OSwx NSBAQCBlbnVtIGhtbV9wZm5fZmxhZ3MgewogCUhNTV9QRk5fUDJQRE1BICAgICA9IDFVTCA8PCAo QklUU19QRVJfTE9ORyAtIDUpLAogCUhNTV9QRk5fUDJQRE1BX0JVUyA9IDFVTCA8PCAoQklUU19Q RVJfTE9ORyAtIDYpLAogCi0JSE1NX1BGTl9PUkRFUl9TSElGVCA9IChCSVRTX1BFUl9MT05HIC0g MTEpLAorCS8qIE1pZ3JhdGUgcmVxdWVzdCAqLworCUhNTV9QRk5fTUlHUkFURSAgICA9IDFVTCA8 PCAoQklUU19QRVJfTE9ORyAtIDcpLAorCUhNTV9QRk5fQ09NUE9VTkQgICA9IDFVTCA8PCAoQklU U19QRVJfTE9ORyAtIDgpLAorCUhNTV9QRk5fT1JERVJfU0hJRlQgPSAoQklUU19QRVJfTE9ORyAt IDEzKSwKIAogCS8qIElucHV0IGZsYWdzICovCiAJSE1NX1BGTl9SRVFfRkFVTFQgPSBITU1fUEZO X1ZBTElELAogCUhNTV9QRk5fUkVRX1dSSVRFID0gSE1NX1BGTl9XUklURSwKKwlITU1fUEZOX1JF UV9NSUdSQVRFID0gSE1NX1BGTl9NSUdSQVRFLAogCiAJSE1NX1BGTl9GTEFHUyA9IH4oKDFVTCA8 PCBITU1fUEZOX09SREVSX1NISUZUKSAtIDEpLAogfTsKQEAgLTEwNyw2ICsxMjIsNyBAQCBzdGF0 aWMgaW5saW5lIHVuc2lnbmVkIGludCBobW1fcGZuX3RvX21hcF9vcmRlcih1bnNpZ25lZCBsb25n IGhtbV9wZm4pCiAgKiBAZGVmYXVsdF9mbGFnczogZGVmYXVsdCBmbGFncyBmb3IgdGhlIHJhbmdl ICh3cml0ZSwgcmVhZCwgLi4uIHNlZSBobW0gZG9jKQogICogQHBmbl9mbGFnc19tYXNrOiBhbGxv d3MgdG8gbWFzayBwZm4gZmxhZ3Mgc28gdGhhdCBvbmx5IGRlZmF1bHRfZmxhZ3MgbWF0dGVyCiAg KiBAZGV2X3ByaXZhdGVfb3duZXI6IG93bmVyIG9mIGRldmljZSBwcml2YXRlIHBhZ2VzCisgKiBA bWlncmF0ZTogc3RydWN0dXJlIGZvciBtaWdyYXRpbmcgYSByYW5nZSBvZiBhIFZNQQogICovCiBz dHJ1Y3QgaG1tX3JhbmdlIHsKIAlzdHJ1Y3QgbW11X2ludGVydmFsX25vdGlmaWVyICpub3RpZmll cjsKQEAgLTExNyw2ICsxMzMsNyBAQCBzdHJ1Y3QgaG1tX3JhbmdlIHsKIAl1bnNpZ25lZCBsb25n CQlkZWZhdWx0X2ZsYWdzOwogCXVuc2lnbmVkIGxvbmcJCXBmbl9mbGFnc19tYXNrOwogCXZvaWQJ CQkqZGV2X3ByaXZhdGVfb3duZXI7CisJc3RydWN0IG1pZ3JhdGVfdm1hICAgICAgKm1pZ3JhdGU7 CiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9taWdyYXRlLmggYi9pbmNsdWRl L2xpbnV4L21pZ3JhdGUuaAppbmRleCBkNWFmMmI3ZjU3N2IuLjQyNWFiNTI0MmRhMCAxMDA2NDQK LS0tIGEvaW5jbHVkZS9saW51eC9taWdyYXRlLmgKKysrIGIvaW5jbHVkZS9saW51eC9taWdyYXRl LmgKQEAgLTMsNiArMyw3IEBACiAjZGVmaW5lIF9MSU5VWF9NSUdSQVRFX0gKIAogI2luY2x1ZGUg PGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvaG1tLmg+CiAjaW5jbHVkZSA8bGludXgvbWVt cG9saWN5Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlncmF0ZV9tb2RlLmg+CiAjaW5jbHVkZSA8bGlu dXgvaHVnZXRsYi5oPgpAQCAtMjAwLDcgKzIwMSw3IEBAIHZvaWQgbWlncmF0ZV9kZXZpY2VfcGFn ZXModW5zaWduZWQgbG9uZyAqc3JjX3BmbnMsIHVuc2lnbmVkIGxvbmcgKmRzdF9wZm5zLAogCQkJ dW5zaWduZWQgbG9uZyBucGFnZXMpOwogdm9pZCBtaWdyYXRlX2RldmljZV9maW5hbGl6ZSh1bnNp Z25lZCBsb25nICpzcmNfcGZucywKIAkJCXVuc2lnbmVkIGxvbmcgKmRzdF9wZm5zLCB1bnNpZ25l ZCBsb25nIG5wYWdlcyk7Ci0KK3ZvaWQgbWlncmF0ZV9obW1fcmFuZ2Vfc2V0dXAoc3RydWN0IGht bV9yYW5nZSAqcmFuZ2UpOwogI2VuZGlmIC8qIENPTkZJR19NSUdSQVRJT04gKi8KIAogI2VuZGlm IC8qIF9MSU5VWF9NSUdSQVRFX0ggKi8KZGlmZiAtLWdpdCBhL21tL21pZ3JhdGVfZGV2aWNlLmMg Yi9tbS9taWdyYXRlX2RldmljZS5jCmluZGV4IGFiNDlkNGRjZGI2MC4uZGViNmM5NDRjZjE1IDEw MDY0NAotLS0gYS9tbS9taWdyYXRlX2RldmljZS5jCisrKyBiL21tL21pZ3JhdGVfZGV2aWNlLmMK QEAgLTE0ODcsMyArMTQ4Nyw1OCBAQCBpbnQgbWlncmF0ZV9kZXZpY2VfY29oZXJlbnRfZm9saW8o c3RydWN0IGZvbGlvICpmb2xpbykKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIC1FQlVTWTsKIH0KKwor LyoqCisgKiBtaWdyYXRlX2htbV9yYW5nZV9zZXR1cCgpIC0gcHJlcGFyZSB0byBtaWdyYXRlIGEg cmFuZ2Ugb2YgbWVtb3J5CisgKiBAcmFuZ2U6IGNvbnRhaW5zIHBvaW50ZXIgdG8gc3RydWN0IG1p Z3JhdGVfdm1hIHRvIGJlIHNldCB1cC4KKyAqCisgKiBXaGVuIGNvbGxlY3RpbmcgaGFzIGJlZW4g ZG9uZSB3aXRoIGhtbV9yYW5nZV9mYXVsdCgpLCB0aGlzCisgKiBzaG91bGQgYmUgY2FsbGVkIG5l eHQsIGFuZCBjb21wbGV0ZXMgcmFuZ2UtPm1pZ3JhdGUgYnkKKyAqIHBvcHVsYXRpbmcgbWlncmF0 ZS0+c3JjW10gYW5kIG1pZ3JhdGUtPmRzdFtdCisgKiB1c2luZyByYW5nZS0+aG1tX3BmbnNbXS4K KyAqIEFsc28sIG1pZ3JhdGUtPmNwYWdlcyBhbmQgbWlncmF0ZS0+bnBhZ2VzIGdldCBpbml0aWFs aXplZC4KKyAqIEFmdGVyIG1pZ3JhdGVfaG1tX3JhbmdlX3NldHVwKCksIHJhbmdlLT5taWdyYXRl IGlzIGdvb2QKKyAqIGZvciB0aGUgcmVzdCBvZiB0aGUgbWlncmF0ZV92bWFfKiBmbG93LgorICov Cit2b2lkIG1pZ3JhdGVfaG1tX3JhbmdlX3NldHVwKHN0cnVjdCBobW1fcmFuZ2UgKnJhbmdlKQor eworCXN0cnVjdCBtaWdyYXRlX3ZtYSAqbWlncmF0ZSA9IHJhbmdlLT5taWdyYXRlOworCisJaWYg KCFtaWdyYXRlKQorCQlyZXR1cm47CisKKwltaWdyYXRlLT5ucGFnZXMgPSAobWlncmF0ZS0+ZW5k IC0gbWlncmF0ZS0+c3RhcnQpID4+IFBBR0VfU0hJRlQ7CisJbWlncmF0ZS0+Y3BhZ2VzID0gMDsK KworCWZvciAodW5zaWduZWQgbG9uZyBpID0gMDsgaSA8IG1pZ3JhdGUtPm5wYWdlczsgaSsrKSB7 CisJCXVuc2lnbmVkIGxvbmcgcGZuID0gcmFuZ2UtPmhtbV9wZm5zW2ldOworCisJCS8qCisJCSAq IFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gZW50cmllcyB0byBiZQorCQkgKiBtaWdyYXRlZC4K KwkJICovCisJCWlmICghKHBmbiAmIEhNTV9QRk5fTUlHUkFURSkpIHsKKwkJCW1pZ3JhdGUtPnNy Y1tpXSA9IDA7CisJCQltaWdyYXRlLT5kc3RbaV0gPSAwOworCQkJY29udGludWU7CisJCX0KKwor CQltaWdyYXRlLT5jcGFnZXMrKzsKKworCQkvKiBITU1fUEZOX01JR1JBVEUgd2l0aG91dCBITU1f UEZOX1ZBTElEIGRlbm90ZXMgdGhlIHNwZWNpYWwgemVybyBwYWdlICovCisJCWlmIChwZm4gJiBI TU1fUEZOX1ZBTElEKQorCQkJbWlncmF0ZS0+c3JjW2ldID0gbWlncmF0ZV9wZm4ocGFnZV90b19w Zm4oaG1tX3Bmbl90b19wYWdlKHBmbikpKTsKKwkJZWxzZQorCQkJbWlncmF0ZS0+c3JjW2ldID0g MDsKKworCQltaWdyYXRlLT5zcmNbaV0gfD0gTUlHUkFURV9QRk5fTUlHUkFURTsKKwkJbWlncmF0 ZS0+c3JjW2ldIHw9IChwZm4gJiBITU1fUEZOX1dSSVRFKSA/IE1JR1JBVEVfUEZOX1dSSVRFIDog MDsKKwkJbWlncmF0ZS0+c3JjW2ldIHw9IChwZm4gJiBITU1fUEZOX0NPTVBPVU5EKSA/IE1JR1JB VEVfUEZOX0NPTVBPVU5EIDogMDsKKwkJbWlncmF0ZS0+ZHN0W2ldID0gMDsKKwl9CisKKwlpZiAo bWlncmF0ZS0+Y3BhZ2VzKQorCQltaWdyYXRlX3ZtYV91bm1hcChtaWdyYXRlKTsKKworfQorRVhQ T1JUX1NZTUJPTChtaWdyYXRlX2htbV9yYW5nZV9zZXR1cCk7Ci0tIAoyLjUwLjAKCg==