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 1F8E0CD5BC7 for ; Mon, 25 May 2026 05:09:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 28B4710E3D0; Mon, 25 May 2026 05:09:02 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="cLwdiNo7"; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id A6B9610E3CB for ; Mon, 25 May 2026 05:08:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779685736; 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=cLwdiNo7GN3HLDt2er1JJKyKnK84CYetercTcoNyVrxsaniWQtxLUZ7m7y88pLQuCOqllD yulwbJahbEUmWrW5fRt2MqejWaZMCmxKZgqtpIWRxH18+Aura2m8VPCrlHftU0DsHcjWbt EsfSQe1hvbnrc9OdhknFFttY2IhZ85A= Received: from mail-lf1-f72.google.com (mail-lf1-f72.google.com [209.85.167.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-27-Q1Uf9F1_Mo6ARDVSy6hX5w-1; Mon, 25 May 2026 01:08:54 -0400 X-MC-Unique: Q1Uf9F1_Mo6ARDVSy6hX5w-1 X-Mimecast-MFC-AGG-ID: Q1Uf9F1_Mo6ARDVSy6hX5w_1779685733 Received: by mail-lf1-f72.google.com with SMTP id 2adb3069b0e04-5a3febf3b1cso5881422e87.1 for ; Sun, 24 May 2026 22:08:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779685733; x=1780290533; 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=Uzzai8asBU4gEGaO0UyDFhHvxAO8p5u7PdIjIPatCTxEooLpwKOiGhWjYbgmawQ3uL l1VqhYLhWUOTsDnnr4SV9IePrYxGYZ5FzCw3tRkeLboSQ+ZOjQwhjyeRxgRSZ2mVl2uE 1JTQdn/VRWUxkBguvHRTg5Hds6J547XW7fafatEgqGdsSte5Yct/xbNZaTrr6crAuQvV yS+E3qmjjRX7ErPpXrn4vXKkiGAdgcK8hdnjH8ZGmDp3jzOPpt+cTrWNATfANqB6bLP6 O9zDrSz7cxvlOBWe8/9Fn3XNH5R3rVaMSIJmhkNW5OXtPGg4lPSZo1yb3bAElNPEHc9y fNlw== X-Gm-Message-State: AOJu0YylNsaOc3LX/VUEFN6yaLrade59F9tDPR2J9s7jCIT5A/ElfcCV 1BSfqfnm5EgJQWNi3P3HiuhgbqRSmLwDLK4z0pd5Nx6CEsx3ne2FJRfRlFKI+/8nBqDrqFJ4jFb 7ZUlFd/m0f1b5auqdEkyW7jhPRWg2xobuMEtxK48iG/UqP4UBFDnb+Ny9y6v3Lgv5SyGX X-Gm-Gg: Acq92OFMxPGn6BdstmM2SHPTcOlMI9EY0fIOjYgbAXUe1A8AJ6javs6JpGEat8PjG13 Rm9P0U6fTS8+cCZyPaEeU9pmA9D43Z3SYqhq9/UPiOxXI/OM5UQKsA7oaECLjzXFul6A9MpxutQ kC8q7vqUZ2dSgBEPmQVKv3eV+R+aWkQYWyAuKiB0dBwL+lx3Ssof5Wgg+e4ruViYmU94vIFNEjR 9nyPifamHIy/htFhhnLjlu0vuBCKl1U11Kk17E0OAQ6KNKpVXIsva+SS7CdGL/yOrfIXdtcBKtg 1ocSw0DgYDPaYMBGh5CVOCKyh0NMN10ZOOIv4IX9lFD+3Ld0ng/nkv9ThIJlHaRZaIQsvkRxK5L iR4FTvLMbhy0Hzk/i81Rx1LcvdWt/MufRfp2K X-Received: by 2002:a05:6512:3409:b0:5a8:881c:9cec with SMTP id 2adb3069b0e04-5aa323a49c5mr2990032e87.1.1779685732732; Sun, 24 May 2026 22:08:52 -0700 (PDT) X-Received: by 2002:a05:6512:3409:b0:5a8:881c:9cec with SMTP id 2adb3069b0e04-5aa323a49c5mr2990014e87.1.1779685732203; Sun, 24 May 2026 22:08:52 -0700 (PDT) Received: from fedora (85-23-51-1.bb.dnainternet.fi. [85.23.51.1]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-395dca7bcddsm20698161fa.16.2026.05.24.22.08.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 22:08:51 -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 v11 2/5] mm: Add helper to convert HMM pfn to migrate pfn Date: Mon, 25 May 2026 08:08:27 +0300 Message-ID: <20260525050830.100254-3-mpenttil@redhat.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20260525050830.100254-1-mpenttil@redhat.com> References: <20260525050830.100254-1-mpenttil@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ozBiNAYoWqphaP8Te8IJ8Ck7H4uyFaNSN3hMbG4H3a0_1779685733 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==