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 89157CD5BCF for ; Mon, 25 May 2026 05:09:10 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C87BF10E3C6; Mon, 25 May 2026 05:09:09 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="g0db+i8a"; 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 6D06810E3D6 for ; Mon, 25 May 2026 05:09:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779685742; 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=rBIdZie6RpIvBk6Y4z+QSU0EMts/JP8b+GhZQsswjNU=; b=g0db+i8aSVQXbrNM57O3xGotBX3Ipndeit+H8EvNS7+w/JS34UycW8HzZsMUNteAvR3Vgp zCHa9hoiO7e4U9iNOMMZ9oLKHhMO6uuZT5qoQcE0SCqS9fRISVA3lt95wOJRB+FsvUUBj0 W10UgPp/cuPb29k9fzTOCPpoYGOgdy0= Received: from mail-lj1-f199.google.com (mail-lj1-f199.google.com [209.85.208.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-277-Vfu_fqJCNCaakxCvzL0G0Q-1; Mon, 25 May 2026 01:09:00 -0400 X-MC-Unique: Vfu_fqJCNCaakxCvzL0G0Q-1 X-Mimecast-MFC-AGG-ID: Vfu_fqJCNCaakxCvzL0G0Q_1779685739 Received: by mail-lj1-f199.google.com with SMTP id 38308e7fff4ca-393f10a36c0so4368611fa.0 for ; Sun, 24 May 2026 22:09:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779685739; x=1780290539; 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=rBIdZie6RpIvBk6Y4z+QSU0EMts/JP8b+GhZQsswjNU=; b=Ah3L+2S5t/u5Ukz2PPemw0vbFt+BOuz0Wu5xIGyzFNpOmy+3zanvGbt6UfbYVZgtFN aR23VxSlWVyXgBWkQRcFbxljQ8J8JUDjNw6iq/2uJRb5LVxzStOLsJbSFt2JMQeh2Uaq CV9lB+YNFuu9wxlfeZd/gKvqNbMnivj1OCE9bLgszm/j7HJqYPnRFKr3hX3eJUG88ZhD hy1gImnshhfOex2Sklsxygx0by1KEDw61TUnJFoX9JWeW3jwGbR+Op4sFzoDPzZJV46I btTELM9LF4DCWms+VI4v+IjfPdaTRlnIbuy1D+foxserJekOZA2TBlaq3h0YbryqIq6p hjaA== X-Gm-Message-State: AOJu0YyT+woaUmnVdxXYzjnq3JnRhvgHBIG4tk3sjzJlDWBUlte50TGL 7+tJF3SG0MhSLIVL2ypnzcraUXVG2u8FBBTZIvyTXSiPylJOf5vZcEpDnxWLpNTjbAb0uzMfX0U KRSMARvgQLFW7qiisctVSXvn0Utvh3/U1HDfteSfZ++dtWjCoZeWAdnQuXfEKjXMaBk66 X-Gm-Gg: Acq92OF1sOWoXpJki3Fi2LulnNfwsGWtRMyklaAYlcwuWgiVznC8fLkDQM96e1afIGA nf+RzV0Kwv5qsUAau/koB8rVTIgPu0qN4XGLw/fbCnLm7B8JrllfkpwmEU4hwaglO2xK4UrCC6g m4hy8jstomfGepJuyhlEb2HpdKJlIwGSlSo8iEOJm1csA4YHp8CJqRqVa1Q8Go6aBdMQMbWR/D7 R6gFtiRE5KSZtip/9BgrId/CJ+hQTDJD4FO075RcZquesqtWXVheppRibE3BBQHNzyIMwOqx6Md BOOxi3ZuyoyRhJOUg9m0Wfwpkpbng32qNoD0dcrUMNMiyslhEdUmfTd+3No9K2IEU8Bb7yUOtVh SkZwYvHpXt8pTp/Bmd1iqssyAyG/zI88+PJlzvv5sdBEWx+M= X-Received: by 2002:a2e:ab10:0:b0:395:2467:9e74 with SMTP id 38308e7fff4ca-395d8cca5c3mr45770831fa.14.1779685738944; Sun, 24 May 2026 22:08:58 -0700 (PDT) X-Received: by 2002:a2e:ab10:0:b0:395:2467:9e74 with SMTP id 38308e7fff4ca-395d8cca5c3mr45770571fa.14.1779685738413; Sun, 24 May 2026 22:08:58 -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.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 22:08:58 -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 , Marco Pagani Subject: [PATCH v11 5/5] lib/test_hmm: add a new testcase for the migrate on fault Date: Mon, 25 May 2026 08:08:30 +0300 Message-ID: <20260525050830.100254-6-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: 2UUp1U36ZhIHVnqcPV0tkcjN1xClHr4fcxhduU_xtfc_1779685739 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+CgpFbmhhbmNlIHRoZSBo bW0gdGVzdCBkcml2ZXIgKGxpYi90ZXN0X2htbSkgd2l0aCBtaWdyYXRlIG9uIGZhdWx0IGNhc2Uu CgpDYzogRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQGtlcm5lbC5vcmc+CkNjOiBKYXNvbiBHdW50 aG9ycGUgPGpnZ0BudmlkaWEuY29tPgpDYzogTGVvbiBSb21hbm92c2t5IDxsZW9ucm9AbnZpZGlh LmNvbT4KQ2M6IEFsaXN0YWlyIFBvcHBsZSA8YXBvcHBsZUBudmlkaWEuY29tPgpDYzogQmFsYmly IFNpbmdoIDxiYWxiaXJzQG52aWRpYS5jb20+CkNjOiBaaSBZYW4gPHppeUBudmlkaWEuY29tPgpD YzogTWF0dGhldyBCcm9zdCA8bWF0dGhldy5icm9zdEBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IE1hcmNvIFBhZ2FuaSA8bWFycGFnYW5AcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogTWlrYSBQ ZW50dGlsw6QgPG1wZW50dGlsQHJlZGhhdC5jb20+Ci0tLQogbGliL3Rlc3RfaG1tLmMgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrLQogbGliL3Rl c3RfaG1tX3VhcGkuaCAgICAgICAgICAgICAgICAgICAgfCAgMTkgKystLQogdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvbW0vaG1tLXRlc3RzLmMgfCAgNTQgKysrKysrKysrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDE3NiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWIvdGVzdF9obW0uYyBiL2xpYi90ZXN0X2htbS5jCmluZGV4IDFhM2UyMTMyNWNmMi4uZDQ1NjY2 YjUxZjMzIDEwMDY0NAotLS0gYS9saWIvdGVzdF9obW0uYworKysgYi9saWIvdGVzdF9obW0uYwpA QCAtMzYsNiArMzYsNyBAQAogI2RlZmluZSBETUlSUk9SX1JBTkdFX0ZBVUxUX1RJTUVPVVQJMTAw MAogI2RlZmluZSBERVZNRU1fQ0hVTktfU0laRQkJKDI1NiAqIDEwMjQgKiAxMDI0VSkKICNkZWZp bmUgREVWTUVNX0NIVU5LU19SRVNFUlZFCQkxNgorI2RlZmluZSBQRk5TX0FSUkFZX1NJWkUJCQk2 NAogCiAvKgogICogRm9yIGRldmljZV9wcml2YXRlIHBhZ2VzLCBkcGFnZSBpcyBqdXN0IGEgZHVt bXkgc3RydWN0IHBhZ2UKQEAgLTM1NSw2ICszNTYsNyBAQCBzdGF0aWMgaW50IGRtaXJyb3JfcmFu Z2VfZmF1bHQoc3RydWN0IGRtaXJyb3IgKmRtaXJyb3IsCiAJc3RydWN0IG1tX3N0cnVjdCAqbW0g PSBkbWlycm9yLT5ub3RpZmllci5tbTsKIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQgPQogCQlqaWZm aWVzICsgbXNlY3NfdG9famlmZmllcyhITU1fUkFOR0VfREVGQVVMVF9USU1FT1VUKTsKKwlib29s IG1pZ3JhdGUgPSByYW5nZS0+ZGVmYXVsdF9mbGFncyAmIEhNTV9QRk5fUkVRX01JR1JBVEU7CiAJ aW50IHJldDsKIAogCXdoaWxlICh0cnVlKSB7CkBAIC0zNjQsOSArMzY2LDE1IEBAIHN0YXRpYyBp bnQgZG1pcnJvcl9yYW5nZV9mYXVsdChzdHJ1Y3QgZG1pcnJvciAqZG1pcnJvciwKIAkJfQogCiAJ CXJhbmdlLT5ub3RpZmllcl9zZXEgPSBtbXVfaW50ZXJ2YWxfcmVhZF9iZWdpbihyYW5nZS0+bm90 aWZpZXIpOwotCQltbWFwX3JlYWRfbG9jayhtbSk7Ci0JCXJldCA9IGhtbV9yYW5nZV9mYXVsdChy YW5nZSk7Ci0JCW1tYXBfcmVhZF91bmxvY2sobW0pOworCisJCS8qIG1tYXAgbG9jayBoZWxkIGZv ciB3aG9sZSBtaWdyYXRlIG9uIGZhdWx0IG9wZXJhdGlvbiAqLworCQlpZiAoIW1pZ3JhdGUpIHsK KwkJCW1tYXBfcmVhZF9sb2NrKG1tKTsKKwkJCXJldCA9IGhtbV9yYW5nZV9mYXVsdChyYW5nZSk7 CisJCQltbWFwX3JlYWRfdW5sb2NrKG1tKTsKKwkJfSBlbHNlIHsKKwkJCXJldCA9IGhtbV9yYW5n ZV9mYXVsdChyYW5nZSk7CisJCX0KIAkJaWYgKHJldCkgewogCQkJaWYgKHJldCA9PSAtRUJVU1kp CiAJCQkJY29udGludWU7CkBAIC0zODIsNyArMzkwLDkgQEAgc3RhdGljIGludCBkbWlycm9yX3Jh bmdlX2ZhdWx0KHN0cnVjdCBkbWlycm9yICpkbWlycm9yLAogCQlicmVhazsKIAl9CiAKLQlyZXQg PSBkbWlycm9yX2RvX2ZhdWx0KGRtaXJyb3IsIHJhbmdlKTsKKwkvKiB1cGRhdGUgZGV2aWNlIHBh Z2UgdGFibGUgYWZ0ZXIgbWlncmF0aW9uICovCisJaWYgKCFtaWdyYXRlKQorCQlyZXQgPSBkbWly cm9yX2RvX2ZhdWx0KGRtaXJyb3IsIHJhbmdlKTsKIAogCW11dGV4X3VubG9jaygmZG1pcnJvci0+ bXV0ZXgpOwogb3V0OgpAQCAtMTI1OCw2ICsxMjY4LDEwMCBAQCBzdGF0aWMgaW50IGRtaXJyb3Jf bWlncmF0ZV90b19kZXZpY2Uoc3RydWN0IGRtaXJyb3IgKmRtaXJyb3IsCiAJcmV0dXJuIHJldDsK IH0KIAorc3RhdGljIGludCBkb19mYXVsdF9hbmRfbWlncmF0ZShzdHJ1Y3QgZG1pcnJvciAqZG1p cnJvciwgc3RydWN0IGhtbV9yYW5nZSAqcmFuZ2UpCit7CisJc3RydWN0IG1pZ3JhdGVfdm1hICpt aWdyYXRlID0gcmFuZ2UtPm1pZ3JhdGU7CisJaW50IHJldDsKKworCW1tYXBfcmVhZF9sb2NrKGRt aXJyb3ItPm5vdGlmaWVyLm1tKTsKKworCS8qIEZhdWx0LWluIHBhZ2VzIGZvciBtaWdyYXRpb24g Ki8KKwlyZXQgPSBkbWlycm9yX3JhbmdlX2ZhdWx0KGRtaXJyb3IsIHJhbmdlKTsKKworCXByX2Rl YnVnKCJNaWdyYXRpbmcgZnJvbSBzeXMgbWVtIHRvIGRldmljZSBtZW1cbiIpOworCW1pZ3JhdGVf aG1tX3JhbmdlX3NldHVwKHJhbmdlKTsKKworCWRtaXJyb3JfbWlncmF0ZV9hbGxvY19hbmRfY29w eShtaWdyYXRlLCBkbWlycm9yKTsKKwltaWdyYXRlX3ZtYV9wYWdlcyhtaWdyYXRlKTsKKwlkbWly cm9yX21pZ3JhdGVfZmluYWxpemVfYW5kX21hcChtaWdyYXRlLCBkbWlycm9yKTsKKwltaWdyYXRl X3ZtYV9maW5hbGl6ZShtaWdyYXRlKTsKKworCW1tYXBfcmVhZF91bmxvY2soZG1pcnJvci0+bm90 aWZpZXIubW0pOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZG1pcnJvcl9mYXVsdF9h bmRfbWlncmF0ZV90b19kZXZpY2Uoc3RydWN0IGRtaXJyb3IgKmRtaXJyb3IsCisJCQkJCSAgICAg ICBzdHJ1Y3QgaG1tX2RtaXJyb3JfY21kICpjbWQpCit7CisJdW5zaWduZWQgbG9uZyBzdGFydCwg c2l6ZSwgZW5kLCBuZXh0OworCXVuc2lnbmVkIGxvbmcgc3JjX3BmbnNbUEZOU19BUlJBWV9TSVpF XSA9IHsgMCB9OworCXVuc2lnbmVkIGxvbmcgZHN0X3BmbnNbUEZOU19BUlJBWV9TSVpFXSA9IHsg MCB9OworCXN0cnVjdCBtaWdyYXRlX3ZtYSBtaWdyYXRlID0geyAwIH07CisJc3RydWN0IGhtbV9y YW5nZSByYW5nZSA9IHsgMCB9OworCXN0cnVjdCBkbWlycm9yX2JvdW5jZSBib3VuY2U7CisJaW50 IHJldCA9IDA7CisKKwkvKiBXaG9sZSByYW5nZSAqLworCXN0YXJ0ID0gY21kLT5hZGRyOworCXNp emUgPSBjbWQtPm5wYWdlcyA8PCBQQUdFX1NISUZUOworCWVuZCA9IHN0YXJ0ICsgc2l6ZTsKKwor CWlmICghbW1nZXRfbm90X3plcm8oZG1pcnJvci0+bm90aWZpZXIubW0pKSB7CisJCXJldCA9IC1F RkFVTFQ7CisJCWdvdG8gb3V0OworCX0KKworCW1pZ3JhdGUucGdtYXBfb3duZXIgPSBkbWlycm9y LT5tZGV2aWNlOworCW1pZ3JhdGUuc3JjID0gc3JjX3BmbnM7CisJbWlncmF0ZS5kc3QgPSBkc3Rf cGZuczsKKwltaWdyYXRlLmZsYWdzID0gTUlHUkFURV9WTUFfU0VMRUNUX1NZU1RFTTsKKworCXJh bmdlLm1pZ3JhdGUgPSAmbWlncmF0ZTsKKwlyYW5nZS5obW1fcGZucyA9IHNyY19wZm5zOworCXJh bmdlLnBmbl9mbGFnc19tYXNrID0gMDsKKwlyYW5nZS5kZWZhdWx0X2ZsYWdzID0gSE1NX1BGTl9S RVFfRkFVTFQgfCBITU1fUEZOX1JFUV9NSUdSQVRFOworCXJhbmdlLmRldl9wcml2YXRlX293bmVy ID0gZG1pcnJvci0+bWRldmljZTsKKwlyYW5nZS5ub3RpZmllciA9ICZkbWlycm9yLT5ub3RpZmll cjsKKworCWZvciAobmV4dCA9IHN0YXJ0OyBuZXh0IDwgZW5kOyBuZXh0ID0gcmFuZ2UuZW5kKSB7 CisJCXJhbmdlLnN0YXJ0ID0gbmV4dDsKKwkJcmFuZ2UuZW5kID0gbWluKGVuZCwgbmV4dCArIChQ Rk5TX0FSUkFZX1NJWkUgPDwgUEFHRV9TSElGVCkpOworCisJCXByX2RlYnVnKCJGYXVsdCBhbmQg bWlncmF0ZSByYW5nZSBzdGFydDolI2x4IGVuZDolI2x4XG4iLAorCQkJIHJhbmdlLnN0YXJ0LCBy YW5nZS5lbmQpOworCisJCXJldCA9IGRvX2ZhdWx0X2FuZF9taWdyYXRlKGRtaXJyb3IsICZyYW5n ZSk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dF9tbXB1dDsKKwl9CisKKwkvKgorCSAqIFJldHVy biB0aGUgbWlncmF0ZWQgZGF0YSBmb3IgdmVyaWZpY2F0aW9uLgorCSAqIE9ubHkgZm9yIHBhZ2Vz IGluIGRldmljZSB6b25lCisJICovCisJcmV0ID0gZG1pcnJvcl9ib3VuY2VfaW5pdCgmYm91bmNl LCBzdGFydCwgc2l6ZSk7CisJaWYgKHJldCkKKwkJZ290byBvdXRfbW1wdXQ7CisKKwltdXRleF9s b2NrKCZkbWlycm9yLT5tdXRleCk7CisJcmV0ID0gZG1pcnJvcl9kb19yZWFkKGRtaXJyb3IsIHN0 YXJ0LCBlbmQsICZib3VuY2UpOworCW11dGV4X3VubG9jaygmZG1pcnJvci0+bXV0ZXgpOworCWlm IChyZXQgPT0gMCkgeworCQlyZXQgPSBjb3B5X3RvX3VzZXIodTY0X3RvX3VzZXJfcHRyKGNtZC0+ cHRyKSwgYm91bmNlLnB0ciwgYm91bmNlLnNpemUpOworCQlpZiAocmV0KQorCQkJcmV0ID0gLUVG QVVMVDsKKwl9CisKKwljbWQtPmNwYWdlcyA9IGJvdW5jZS5jcGFnZXM7CisJZG1pcnJvcl9ib3Vu Y2VfZmluaSgmYm91bmNlKTsKKworCitvdXRfbW1wdXQ6CisJbW1wdXQoZG1pcnJvci0+bm90aWZp ZXIubW0pOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyB2b2lkIGRtaXJyb3JfbWtl bnRyeShzdHJ1Y3QgZG1pcnJvciAqZG1pcnJvciwgc3RydWN0IGhtbV9yYW5nZSAqcmFuZ2UsCiAJ CQkgICAgdW5zaWduZWQgY2hhciAqcGVybSwgdW5zaWduZWQgbG9uZyBlbnRyeSkKIHsKQEAgLTE1 MjQsNiArMTYyOCwxMCBAQCBzdGF0aWMgbG9uZyBkbWlycm9yX2ZvcHNfdW5sb2NrZWRfaW9jdGwo c3RydWN0IGZpbGUgKmZpbHAsCiAJCXJldCA9IGRtaXJyb3JfbWlncmF0ZV90b19kZXZpY2UoZG1p cnJvciwgJmNtZCk7CiAJCWJyZWFrOwogCisJY2FzZSBITU1fRE1JUlJPUl9NSUdSQVRFX09OX0ZB VUxUX1RPX0RFVjoKKwkJcmV0ID0gZG1pcnJvcl9mYXVsdF9hbmRfbWlncmF0ZV90b19kZXZpY2Uo ZG1pcnJvciwgJmNtZCk7CisJCWJyZWFrOworCiAJY2FzZSBITU1fRE1JUlJPUl9NSUdSQVRFX1RP X1NZUzoKIAkJcmV0ID0gZG1pcnJvcl9taWdyYXRlX3RvX3N5c3RlbShkbWlycm9yLCAmY21kKTsK IAkJYnJlYWs7CmRpZmYgLS1naXQgYS9saWIvdGVzdF9obW1fdWFwaS5oIGIvbGliL3Rlc3RfaG1t X3VhcGkuaAppbmRleCBmOTRjNmQ0NTczMzguLjBiNmU3YTQxOWUzNiAxMDA2NDQKLS0tIGEvbGli L3Rlc3RfaG1tX3VhcGkuaAorKysgYi9saWIvdGVzdF9obW1fdWFwaS5oCkBAIC0yOSwxNSArMjks MTYgQEAgc3RydWN0IGhtbV9kbWlycm9yX2NtZCB7CiB9OwogCiAvKiBFeHBvc2UgdGhlIGFkZHJl c3Mgc3BhY2Ugb2YgdGhlIGNhbGxpbmcgcHJvY2VzcyB0aHJvdWdoIGhtbSBkZXZpY2UgZmlsZSAq LwotI2RlZmluZSBITU1fRE1JUlJPUl9SRUFECQlfSU9XUignSCcsIDB4MDAsIHN0cnVjdCBobW1f ZG1pcnJvcl9jbWQpCi0jZGVmaW5lIEhNTV9ETUlSUk9SX1dSSVRFCQlfSU9XUignSCcsIDB4MDEs IHN0cnVjdCBobW1fZG1pcnJvcl9jbWQpCi0jZGVmaW5lIEhNTV9ETUlSUk9SX01JR1JBVEVfVE9f REVWCV9JT1dSKCdIJywgMHgwMiwgc3RydWN0IGhtbV9kbWlycm9yX2NtZCkKLSNkZWZpbmUgSE1N X0RNSVJST1JfTUlHUkFURV9UT19TWVMJX0lPV1IoJ0gnLCAweDAzLCBzdHJ1Y3QgaG1tX2RtaXJy b3JfY21kKQotI2RlZmluZSBITU1fRE1JUlJPUl9TTkFQU0hPVAkJX0lPV1IoJ0gnLCAweDA0LCBz dHJ1Y3QgaG1tX2RtaXJyb3JfY21kKQotI2RlZmluZSBITU1fRE1JUlJPUl9FWENMVVNJVkUJCV9J T1dSKCdIJywgMHgwNSwgc3RydWN0IGhtbV9kbWlycm9yX2NtZCkKLSNkZWZpbmUgSE1NX0RNSVJS T1JfQ0hFQ0tfRVhDTFVTSVZFCV9JT1dSKCdIJywgMHgwNiwgc3RydWN0IGhtbV9kbWlycm9yX2Nt ZCkKLSNkZWZpbmUgSE1NX0RNSVJST1JfUkVMRUFTRQkJX0lPV1IoJ0gnLCAweDA3LCBzdHJ1Y3Qg aG1tX2RtaXJyb3JfY21kKQotI2RlZmluZSBITU1fRE1JUlJPUl9GTEFHUwkJX0lPV1IoJ0gnLCAw eDA4LCBzdHJ1Y3QgaG1tX2RtaXJyb3JfY21kKQorI2RlZmluZSBITU1fRE1JUlJPUl9SRUFECQkJ X0lPV1IoJ0gnLCAweDAwLCBzdHJ1Y3QgaG1tX2RtaXJyb3JfY21kKQorI2RlZmluZSBITU1fRE1J UlJPUl9XUklURQkJCV9JT1dSKCdIJywgMHgwMSwgc3RydWN0IGhtbV9kbWlycm9yX2NtZCkKKyNk ZWZpbmUgSE1NX0RNSVJST1JfTUlHUkFURV9UT19ERVYJCV9JT1dSKCdIJywgMHgwMiwgc3RydWN0 IGhtbV9kbWlycm9yX2NtZCkKKyNkZWZpbmUgSE1NX0RNSVJST1JfTUlHUkFURV9PTl9GQVVMVF9U T19ERVYJX0lPV1IoJ0gnLCAweDAzLCBzdHJ1Y3QgaG1tX2RtaXJyb3JfY21kKQorI2RlZmluZSBI TU1fRE1JUlJPUl9NSUdSQVRFX1RPX1NZUwkJX0lPV1IoJ0gnLCAweDA0LCBzdHJ1Y3QgaG1tX2Rt aXJyb3JfY21kKQorI2RlZmluZSBITU1fRE1JUlJPUl9TTkFQU0hPVAkJCV9JT1dSKCdIJywgMHgw NSwgc3RydWN0IGhtbV9kbWlycm9yX2NtZCkKKyNkZWZpbmUgSE1NX0RNSVJST1JfRVhDTFVTSVZF CQkJX0lPV1IoJ0gnLCAweDA2LCBzdHJ1Y3QgaG1tX2RtaXJyb3JfY21kKQorI2RlZmluZSBITU1f RE1JUlJPUl9DSEVDS19FWENMVVNJVkUJCV9JT1dSKCdIJywgMHgwNywgc3RydWN0IGhtbV9kbWly cm9yX2NtZCkKKyNkZWZpbmUgSE1NX0RNSVJST1JfUkVMRUFTRQkJCV9JT1dSKCdIJywgMHgwOCwg c3RydWN0IGhtbV9kbWlycm9yX2NtZCkKKyNkZWZpbmUgSE1NX0RNSVJST1JfRkxBR1MJCQlfSU9X UignSCcsIDB4MDksIHN0cnVjdCBobW1fZG1pcnJvcl9jbWQpCiAKICNkZWZpbmUgSE1NX0RNSVJS T1JfRkxBR19GQUlMX0FMTE9DCSgxVUxMIDw8IDApCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL21tL2htbS10ZXN0cy5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbW0v aG1tLXRlc3RzLmMKaW5kZXggNzdmYjRjNWQ4NzFiLi5jOGQ2YTNjMzNlZjIgMTAwNjQ0Ci0tLSBh L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL21tL2htbS10ZXN0cy5jCisrKyBiL3Rvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL21tL2htbS10ZXN0cy5jCkBAIC0yNzgsNiArMjc4LDEzIEBAIHN0YXRpYyBp bnQgaG1tX21pZ3JhdGVfc3lzX3RvX2RldihpbnQgZmQsCiAJcmV0dXJuIGhtbV9kbWlycm9yX2Nt ZChmZCwgSE1NX0RNSVJST1JfTUlHUkFURV9UT19ERVYsIGJ1ZmZlciwgbnBhZ2VzKTsKIH0KIAor c3RhdGljIGludCBobW1fbWlncmF0ZV9vbl9mYXVsdF9zeXNfdG9fZGV2KGludCBmZCwKKwkJCQkJ ICAgc3RydWN0IGhtbV9idWZmZXIgKmJ1ZmZlciwKKwkJCQkJICAgdW5zaWduZWQgbG9uZyBucGFn ZXMpCit7CisJcmV0dXJuIGhtbV9kbWlycm9yX2NtZChmZCwgSE1NX0RNSVJST1JfTUlHUkFURV9P Tl9GQVVMVF9UT19ERVYsIGJ1ZmZlciwgbnBhZ2VzKTsKK30KKwogc3RhdGljIGludCBobW1fbWln cmF0ZV9kZXZfdG9fc3lzKGludCBmZCwKIAkJCQkgICBzdHJ1Y3QgaG1tX2J1ZmZlciAqYnVmZmVy LAogCQkJCSAgIHVuc2lnbmVkIGxvbmcgbnBhZ2VzKQpAQCAtOTg1LDYgKzk5Miw1MyBAQCBURVNU X0YoaG1tLCBtaWdyYXRlKQogCWhtbV9idWZmZXJfZnJlZShidWZmZXIpOwogfQogCisKKy8qCisg KiBGYXVsdCBhbmQgbWlncmF0ZSBhbm9ueW1vdXMgbWVtb3J5IHRvIGRldmljZSBwcml2YXRlIG1l bW9yeS4KKyAqLworVEVTVF9GKGhtbSwgbWlncmF0ZV9vbl9mYXVsdCkKK3sKKwlzdHJ1Y3QgaG1t X2J1ZmZlciAqYnVmZmVyOworCXVuc2lnbmVkIGxvbmcgbnBhZ2VzOworCXVuc2lnbmVkIGxvbmcg c2l6ZTsKKwl1bnNpZ25lZCBsb25nIGk7CisJaW50ICpwdHI7CisJaW50IHJldDsKKworCW5wYWdl cyA9IEFMSUdOKEhNTV9CVUZGRVJfU0laRSwgc2VsZi0+cGFnZV9zaXplKSA+PiBzZWxmLT5wYWdl X3NoaWZ0OworCUFTU0VSVF9ORShucGFnZXMsIDApOworCXNpemUgPSBucGFnZXMgPDwgc2VsZi0+ cGFnZV9zaGlmdDsKKworCWJ1ZmZlciA9IG1hbGxvYyhzaXplb2YoKmJ1ZmZlcikpOworCUFTU0VS VF9ORShidWZmZXIsIE5VTEwpOworCisJYnVmZmVyLT5mZCA9IC0xOworCWJ1ZmZlci0+c2l6ZSA9 IHNpemU7CisJYnVmZmVyLT5taXJyb3IgPSBtYWxsb2Moc2l6ZSk7CisJQVNTRVJUX05FKGJ1ZmZl ci0+bWlycm9yLCBOVUxMKTsKKworCWJ1ZmZlci0+cHRyID0gbW1hcChOVUxMLCBzaXplLAorCQkJ ICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKKwkJCSAgIE1BUF9QUklWQVRFIHwgTUFQX0FOT05Z TU9VUywKKwkJCSAgIGJ1ZmZlci0+ZmQsIDApOworCUFTU0VSVF9ORShidWZmZXItPnB0ciwgTUFQ X0ZBSUxFRCk7CisKKwkvKiBJbml0aWFsaXplIGJ1ZmZlciBpbiBzeXN0ZW0gbWVtb3J5LiAqLwor CWZvciAoaSA9IDAsIHB0ciA9IGJ1ZmZlci0+cHRyOyBpIDwgc2l6ZSAvIHNpemVvZigqcHRyKTsg KytpKQorCQlwdHJbaV0gPSBpOworCisJLyogRmF1bHQgYW5kIG1pZ3JhdGUgbWVtb3J5IHRvIGRl dmljZS4gKi8KKwlyZXQgPSBobW1fbWlncmF0ZV9vbl9mYXVsdF9zeXNfdG9fZGV2KHNlbGYtPmZk LCBidWZmZXIsIG5wYWdlcyk7CisJQVNTRVJUX0VRKHJldCwgMCk7CisJQVNTRVJUX0VRKGJ1ZmZl ci0+Y3BhZ2VzLCBucGFnZXMpOworCisJLyogQ2hlY2sgd2hhdCB0aGUgZGV2aWNlIHJlYWQuICov CisJZm9yIChpID0gMCwgcHRyID0gYnVmZmVyLT5taXJyb3I7IGkgPCBzaXplIC8gc2l6ZW9mKCpw dHIpOyArK2kpCisJCUFTU0VSVF9FUShwdHJbaV0sIGkpOworCisJaG1tX2J1ZmZlcl9mcmVlKGJ1 ZmZlcik7Cit9CisKIC8qCiAgKiBNaWdyYXRlIHByaXZhdGUgZmlsZSBtZW1vcnkgdG8gZGV2aWNl IHByaXZhdGUgbWVtb3J5LgogICovCi0tIAoyLjUwLjAKCg==