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 1DCF1CD4855 for ; Tue, 12 May 2026 08:24:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4BE8610E9AF; Tue, 12 May 2026 08:24:50 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="cEx7cEpL"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4521D10E9A4; Tue, 12 May 2026 08:24:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1778574289; x=1810110289; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AnH/mVVa2xK7leWlYyfjVYavN2/phG52biw4GAsQXZQ=; b=cEx7cEpLza/cuDZHh7W5CyaDiqkqUADF27cNizgcZUt4Lu884B8nHa4R Dp874HOuO3Wt6uLSOgqZ1aijW1TI1Rjlp1kvNHYrUosqusQy3SSZjTgt0 zbTXyNZq2FHLJufYqX09o6zN4QR1dMlxSWRXE291h/djpEtM6Cxhq3WP3 neL1i4/UmuxU7I0lNDpYkDJ5C5yZoUFP0CaxZpaZDPH5PowN1P+tVPNfF 2dCOSimYcuBzLwluE3bNE9G3MdwMYU4Gu4vkapPRrtVjVUbYKLxBuROzx jUjhVJD4j6DaR4/KTcEy/+aRhtMdwVrDv94Z0LCuneAuU6AZ43Gade3to Q==; X-CSE-ConnectionGUID: tfJ3qIZuRq6vzhL4gQInug== X-CSE-MsgGUID: M+8S2DGwTr6L2vP+UjNeoQ== X-IronPort-AV: E=McAfee;i="6800,10657,11783"; a="79195004" X-IronPort-AV: E=Sophos;i="6.23,230,1770624000"; d="scan'208";a="79195004" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2026 01:24:45 -0700 X-CSE-ConnectionGUID: 5OdkQmJPTNugDJ1AaBcTPA== X-CSE-MsgGUID: 299F1ARsQGS15SepHGyrVQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,230,1770624000"; d="scan'208";a="237945566" Received: from vpanait-mobl.ger.corp.intel.com (HELO fedora) ([10.245.245.172]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2026 01:24:39 -0700 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-xe@lists.freedesktop.org Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Natalie Vock , Johannes Weiner , Tejun Heo , =?UTF-8?q?Michal=20Koutn=C3=BD?= , cgroups@vger.kernel.org, Huang Rui , Matthew Brost , Matthew Auld , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Simona Vetter , David Airlie , =?UTF-8?q?Christian=20K=C3=B6nig?= , Alex Deucher , Rodrigo Vivi , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 3/5] drm/ttm: Hook up a cgroup-aware reclaim callback for the dmem controller Date: Tue, 12 May 2026 10:24:04 +0200 Message-ID: <20260512082406.44470-4-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512082406.44470-1-thomas.hellstrom@linux.intel.com> References: <20260512082406.44470-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" QWRkIHR0bV9ib19ldmljdF9jZ3JvdXAoKSB0byBldmljdCBidWZmZXIgb2JqZWN0cyBjaGFyZ2Vk IHRvIGEgc3BlY2lmaWMKZG1lbSBjZ3JvdXAgcG9vbCBmcm9tIGEgcmVzb3VyY2UgbWFuYWdlcidz IExSVSB1bnRpbCBhIGJ5dGUgdGFyZ2V0IGlzCm1ldC4gIEFkZCB0dG1fcmVzb3VyY2VfbWFuYWdl cl9zZXRfZG1lbV9yZWdpb24oKSB0byByZWdpc3RlciB0aGUgVFRNCmV2aWN0aW9uIHBhdGggYXMg dGhlIHJlY2xhaW0gY2FsbGJhY2sgZm9yIGEgZG1lbSBjZ3JvdXAgcmVnaW9uLgoKVGhlIGV2aWN0 aW9uIGNvbnRleHQgaXMgaW50ZXJydXB0aWJsZTsgc2lnbmFscyBhYm9ydCB0aGUgb3BlcmF0aW9u IGFuZApwcm9wYWdhdGUgYmFjayB0aHJvdWdoIHRoZSB3cml0ZSgpIHN5c2NhbGwuCgpJbnRyb2R1 Y2UgYSBuZXcgbW9kZSBmb3IgdGhlIGJvIExSVSB3YWxrZXIgc28gdGhhdCBzbGVlcGluZyBsb2Nr cwpjYW4gYmUgdGFrZW4uIFRoaXMgY2FuIGJlIHVzZWQgd2hlbiB0aGUgY2FsbGVyIGRvZXNuJ3Qg aG9sZCBhbnkKcHJldmlvdXMgZG1hX3Jlc3YgbG9ja3MsIGFuZCB3aGVyZSBpdCBpbnRlbmRzIHRv IGhvbGQgYXQgbW9zdApvbmUgbG9jayBhdCBhIHRpbWUuCgpMaWtlIHRoZSByZXN0IG9mIHRoZSBU VE0gZXZpY3Rpb24gdGhpcyBzaG91bGQgc29vbmVyIHRoYW4gbGF0ZXIKYmUgY29udmVydGVkIHRv IGZ1bGwgV1cgdHJhbnNhY3Rpb25zLgoKdjM6Ci0gRml4IHR0bV9yZXNvdXJjZV9tYW5hZ2VyX3Nl dF9kbWVtX3JlZ2lvbigpIHN0b3JpbmcgYW4gZXJyb3IgcG9pbnRlcgogIGluIG1hbi0+Y2cgdW5j b25kaXRpb25hbGx5LiAoU2FzaGlrby1ib3QpCi0gRml4IGtlcm5lbC1kb2MgZnVuY3Rpb24gbmFt ZSBmb3JtYXQgZm9yIHR0bV9ib19ldmljdF9jZ3JvdXAoKSBhbmQKICB0dG1fcmVzb3VyY2VfbWFu YWdlcl9zZXRfZG1lbV9yZWdpb24oKS4KCkFzc2lzdGVkLWJ5OiBHaXRIdWJfQ29waWxvdDpjbGF1 ZGUtc29ubmV0LTQuNgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhl bGxzdHJvbUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8u YyAgICAgICB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fYm9fdXRpbC5jICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9y ZXNvdXJjZS5jIHwgMzcgKysrKysrKysrKysrCiBpbmNsdWRlL2RybS90dG0vdHRtX2JvLmggICAg ICAgICAgIHwgMTAgKysrKwogaW5jbHVkZS9kcm0vdHRtL3R0bV9yZXNvdXJjZS5oICAgICB8ICA0 ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMgYi9kcml2ZXJzL2dwdS9k cm0vdHRtL3R0bV9iby5jCmluZGV4IDI5MzQwMTcwNTU0Mi4uM2QwODcyZjJmMTRkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvLmMKQEAgLTUxNSwxMiArNTE1LDIwIEBAIHN0YXRpYyBzNjQgdHRtX2JvX2V2aWN0 X2NiKHN0cnVjdCB0dG1fbHJ1X3dhbGsgKndhbGssIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq CiB7CiAJc3RydWN0IHR0bV9ib19ldmljdF93YWxrICpldmljdF93YWxrID0KIAkJY29udGFpbmVy X29mKHdhbGssIHR5cGVvZigqZXZpY3Rfd2FsayksIHdhbGspOworCS8qIENhcHR1cmUgc2l6ZSBi ZWZvcmUgZXZpY3Rpb24gaW4gY2FzZSByZXMgaXMgY2xlYXJlZC4gKi8KKwlzNjQgYm9fc2l6ZSA9 IGJvLT5iYXNlLnNpemU7CiAJczY0IGxyZXQ7CiAKIAlpZiAoIWRtZW1fY2dyb3VwX3N0YXRlX2V2 aWN0X3ZhbHVhYmxlKGV2aWN0X3dhbGstPmxpbWl0X3Bvb2wsIGJvLT5yZXNvdXJjZS0+Y3NzLAog CQkJCQkgICAgICBldmljdF93YWxrLT50cnlfbG93LCAmZXZpY3Rfd2Fsay0+aGl0X2xvdykpCiAJ CXJldHVybiAwOwogCisJLyoKKwkgKiBldmljdF93YWxrLT5wbGFjZSBpcyBOVUxMIGluIGNncm91 cCBkcmFpbiBtb2RlLiAgRHJpdmVycycKKwkgKiBldmljdGlvbl92YWx1YWJsZSgpIGNhbGxiYWNr cyBtdXN0IGhhbmRsZSBhIE5VTEwgcGxhY2UsIHRyZWF0aW5nIGl0CisJICogYXMgImFueSBwbGFj ZW1lbnQiOiB0aGUgVFRNIGJhc2UgaW1wbGVtZW50YXRpb24gYWxyZWFkeSBkb2VzIHNvIHZpYQor CSAqIHR0bV9yZXNvdXJjZV9pbnRlcnNlY3RzKCkuCisJICovCiAJaWYgKGJvLT5waW5fY291bnQg fHwgIWJvLT5iZGV2LT5mdW5jcy0+ZXZpY3Rpb25fdmFsdWFibGUoYm8sIGV2aWN0X3dhbGstPnBs YWNlKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTUzNiwxMSArNTQ0LDE1IEBAIHN0YXRpYyBzNjQgdHRt X2JvX2V2aWN0X2NiKHN0cnVjdCB0dG1fbHJ1X3dhbGsgKndhbGssIHN0cnVjdCB0dG1fYnVmZmVy X29iamVjdCAqCiAJCWdvdG8gb3V0OwogCiAJZXZpY3Rfd2Fsay0+ZXZpY3RlZCsrOwotCWlmIChl dmljdF93YWxrLT5yZXMpCisJaWYgKGV2aWN0X3dhbGstPnJlcykgewogCQlscmV0ID0gdHRtX3Jl c291cmNlX2FsbG9jKGV2aWN0X3dhbGstPmV2aWN0b3IsIGV2aWN0X3dhbGstPnBsYWNlLAogCQkJ CQkgIGV2aWN0X3dhbGstPnJlcywgTlVMTCk7Ci0JaWYgKGxyZXQgPT0gMCkKLQkJcmV0dXJuIDE7 CisJCWlmIChscmV0ID09IDApCisJCQlyZXR1cm4gMTsKKwl9IGVsc2UgeworCQkvKiBDZ3JvdXAg ZHJhaW46IHJldHVybiBieXRlcyBmcmVlZCBmb3IgYnl0ZS1kZW5vbWluYXRlZCBwcm9ncmVzcy4g Ki8KKwkJcmV0dXJuIGJvX3NpemU7CisJfQogb3V0OgogCS8qIEVycm9ycyB0aGF0IHNob3VsZCB0 ZXJtaW5hdGUgdGhlIHdhbGsuICovCiAJaWYgKGxyZXQgPT0gLUVOT1NQQykKQEAgLTYxNCw2ICs2 MjYsODMgQEAgc3RhdGljIGludCB0dG1fYm9fZXZpY3RfYWxsb2Moc3RydWN0IHR0bV9kZXZpY2Ug KmJkZXYsCiAJcmV0dXJuIDA7CiB9CiAKKy8qKgorICogdHRtX2JvX2V2aWN0X2Nncm91cCgpIC0g RXZpY3QgYnVmZmVyIG9iamVjdHMgY2hhcmdlZCB0byBhIHNwZWNpZmljIGNncm91cC4KKyAqIEBi ZGV2OiBUaGUgVFRNIGRldmljZS4KKyAqIEBtYW46IFRoZSByZXNvdXJjZSBtYW5hZ2VyIHdob3Nl IExSVSB0byB3YWxrLgorICogQGxpbWl0X3Bvb2w6IFRoZSBjZ3JvdXAgcG9vbCBzdGF0ZSB3aG9z ZSBtZW1iZXJzIHNob3VsZCBiZSBldmljdGVkLgorICogQHRhcmdldF9ieXRlczogTnVtYmVyIG9m IGJ5dGVzIHRvIGZyZWUuCisgKiBAY3R4OiBUaGUgVFRNIG9wZXJhdGlvbiBjb250ZXh0LgorICoK KyAqIFdhbGsgdGhlIExSVSBvZiBAbWFuIGFuZCBldmljdCBidWZmZXIgb2JqZWN0cyB0aGF0IGFy ZSBjaGFyZ2VkIHRvIHRoZQorICogY2dyb3VwIGlkZW50aWZpZWQgYnkgQGxpbWl0X3Bvb2wsIHVu dGlsIGF0IGxlYXN0IEB0YXJnZXRfYnl0ZXMgaGF2ZSBiZWVuCisgKiBmcmVlZC4gIE1pcnJvcnMg dGhlIHR3by1wYXNzICh0cnlsb2NrIC0+IHNsZWVwaW5nLWxvY2ssIGxvdy13YXRlcm1hcmspCisg KiBzdHJhdGVneSB1c2VkIGJ5IHR0bV9ib19ldmljdF9hbGxvYygpLgorICoKKyAqIFJldHVybjog Pj0gQHRhcmdldF9ieXRlcyBvbiBmdWxsIHN1Y2Nlc3MsIDAuLnRhcmdldF9ieXRlcy0xIGlmIHBh cnRpYWwsCisgKiAgICAgICAgIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmF0YWwgZXJyb3IuCisg Ki8KK3M2NCB0dG1fYm9fZXZpY3RfY2dyb3VwKHN0cnVjdCB0dG1fZGV2aWNlICpiZGV2LAorCQkJ c3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4sCisJCQlzdHJ1Y3QgZG1lbV9jZ3JvdXBf cG9vbF9zdGF0ZSAqbGltaXRfcG9vbCwKKwkJCXM2NCB0YXJnZXRfYnl0ZXMsCisJCQlzdHJ1Y3Qg dHRtX29wZXJhdGlvbl9jdHggKmN0eCkKK3sKKwlzdHJ1Y3QgdHRtX2JvX2V2aWN0X3dhbGsgZXZp Y3Rfd2FsayA9IHsKKwkJLndhbGsgPSB7CisJCQkub3BzID0gJnR0bV9ldmljdF93YWxrX29wcywK KwkJCS5hcmcgPSB7IC5jdHggPSBjdHggfSwKKwkJfSwKKwkJLmxpbWl0X3Bvb2wgPSBsaW1pdF9w b29sLAorCQkvKiBwbGFjZSwgZXZpY3RvciwgcmVzIGxlZnQgTlVMTDogc2VsZWN0cyBjZ3JvdXAg ZHJhaW4gbW9kZSAqLworCX07CisJczY0IGxyZXQsIHBhc3M7CisKKwlldmljdF93YWxrLndhbGsu YXJnLnRyeWxvY2tfb25seSA9IHRydWU7CisJbHJldCA9IHR0bV9scnVfd2Fsa19mb3JfZXZpY3Qo JmV2aWN0X3dhbGsud2FsaywgYmRldiwgbWFuLCB0YXJnZXRfYnl0ZXMpOworCWlmIChscmV0IDwg MCB8fCBscmV0ID49IHRhcmdldF9ieXRlcykKKwkJcmV0dXJuIGxyZXQ7CisKKwkvKiBTZWNvbmQg cGFzczogYWxzbyBldmljdCBCT3MgYXQgdGhlIGxvdyB3YXRlcm1hcmsuICovCisJaWYgKGV2aWN0 X3dhbGsuaGl0X2xvdykgeworCQlldmljdF93YWxrLnRyeV9sb3cgPSB0cnVlOworCQlwYXNzID0g dHRtX2xydV93YWxrX2Zvcl9ldmljdCgmZXZpY3Rfd2Fsay53YWxrLCBiZGV2LCBtYW4sCisJCQkJ CSAgICAgIHRhcmdldF9ieXRlcyAtIGxyZXQpOworCQlpZiAocGFzcyA8IDApCisJCQlyZXR1cm4g cGFzczsKKwkJbHJldCArPSBwYXNzOworCQlpZiAobHJldCA+PSB0YXJnZXRfYnl0ZXMpCisJCQly ZXR1cm4gbHJldDsKKwl9CisKKwkvKiBGdWxsIHNsZWVwaW5nLWxvY2sgcGFzcyBmb3IgcmVtYWlu aW5nIHRhcmdldC4gKi8KKwlldmljdF93YWxrLnRyeV9sb3cgPSBldmljdF93YWxrLmhpdF9sb3cg PSBmYWxzZTsKKwlldmljdF93YWxrLndhbGsuYXJnLnRyeWxvY2tfb25seSA9IGZhbHNlOworCity ZXRyeToKKwlldmljdF93YWxrLndhbGsuYXJnLnNsZWVwaW5nX2xvY2sgPSB0cnVlOworCWRvIHsK KwkJZXZpY3Rfd2Fsay5ldmljdGVkID0gMDsKKwkJcGFzcyA9IHR0bV9scnVfd2Fsa19mb3JfZXZp Y3QoJmV2aWN0X3dhbGsud2FsaywgYmRldiwgbWFuLAorCQkJCQkgICAgICB0YXJnZXRfYnl0ZXMg LSBscmV0KTsKKwkJaWYgKHBhc3MgPCAwKSB7CisJCQlscmV0ID0gcGFzczsKKwkJCWdvdG8gb3V0 OworCQl9CisJCWxyZXQgKz0gcGFzczsKKwl9IHdoaWxlIChscmV0IDwgdGFyZ2V0X2J5dGVzICYm IGV2aWN0X3dhbGsuZXZpY3RlZCk7CisKKwkvKiBPbmUgbW9yZSBhdHRlbXB0IGlmIHdlIGhpdCB0 aGUgbG93IGxpbWl0IGR1cmluZyBzbGVlcGluZy1sb2NrIHBhc3MuICovCisJaWYgKGxyZXQgPCB0 YXJnZXRfYnl0ZXMgJiYgZXZpY3Rfd2Fsay5oaXRfbG93ICYmICFldmljdF93YWxrLnRyeV9sb3cp IHsKKwkJZXZpY3Rfd2Fsay50cnlfbG93ID0gdHJ1ZTsKKwkJZ290byByZXRyeTsKKwl9CisKK291 dDoKKwlyZXR1cm4gbHJldDsKK30KK0VYUE9SVF9TWU1CT0wodHRtX2JvX2V2aWN0X2Nncm91cCk7 CisKIC8qKgogICogdHRtX2JvX3BpbiAtIFBpbiB0aGUgYnVmZmVyIG9iamVjdC4KICAqIEBibzog VGhlIGJ1ZmZlciBvYmplY3QgdG8gcGluCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdHRt L3R0bV9ib191dGlsLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGlsLmMKaW5kZXgg ZjgzYjdkNWVjNmM2Li44MWM2YTY3NGM0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX3V0aWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib191dGlsLmMK QEAgLTk5OSw3ICs5OTksOCBAQCBfX3R0bV9ib19scnVfY3Vyc29yX25leHQoc3RydWN0IHR0bV9i b19scnVfY3Vyc29yICpjdXJzKQogCQlibyA9IHJlcy0+Ym87CiAJCWlmICh0dG1fbHJ1X3dhbGtf dHJ5bG9jayhjdXJzLCBibykpCiAJCQlib19sb2NrZWQgPSB0cnVlOwotCQllbHNlIGlmICghYXJn LT50aWNrZXQgfHwgYXJnLT5jdHgtPm5vX3dhaXRfZ3B1IHx8IGFyZy0+dHJ5bG9ja19vbmx5KQor CQllbHNlIGlmICgoIWFyZy0+dGlja2V0ICYmICFhcmctPnNsZWVwaW5nX2xvY2spIHx8IGFyZy0+ Y3R4LT5ub193YWl0X2dwdSB8fAorCQkJIGFyZy0+dHJ5bG9ja19vbmx5KQogCQkJY29udGludWU7 CiAKIAkJaWYgKCF0dG1fYm9fZ2V0X3VubGVzc196ZXJvKGJvKSkgewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3R0bS90dG1fcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRt X3Jlc291cmNlLmMKaW5kZXggMGU1ZjE1ODJmMTNkLi42ZDI0ZjMzMjA4OTIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3R0bS90dG1fcmVzb3VyY2UuYwpAQCAtOTUwLDMgKzk1MCw0MCBAQCB2b2lkIHR0bV9yZXNvdXJj ZV9tYW5hZ2VyX2NyZWF0ZV9kZWJ1Z2ZzKHN0cnVjdCB0dG1fcmVzb3VyY2VfbWFuYWdlciAqbWFu LAogI2VuZGlmCiB9CiBFWFBPUlRfU1lNQk9MKHR0bV9yZXNvdXJjZV9tYW5hZ2VyX2NyZWF0ZV9k ZWJ1Z2ZzKTsKKworc3RhdGljIGludCB0dG1fcmVzb3VyY2VfbWFuYWdlcl9kbWVtX3JlY2xhaW0o c3RydWN0IGRtZW1fY2dyb3VwX3Bvb2xfc3RhdGUgKnBvb2wsCisJCQkJCSAgICAgdTY0IHRhcmdl dF9ieXRlcywgdm9pZCAqcHJpdikKK3sKKwlzdHJ1Y3QgdHRtX3Jlc291cmNlX21hbmFnZXIgKm1h biA9IHByaXY7CisJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsgLmludGVycnVwdGli bGUgPSB0cnVlIH07CisJczY0IGZyZWVkOworCisJZnJlZWQgPSB0dG1fYm9fZXZpY3RfY2dyb3Vw KG1hbi0+YmRldiwgbWFuLCBwb29sLCB0YXJnZXRfYnl0ZXMsICZjdHgpOworCWlmIChmcmVlZCA8 IDApCisJCXJldHVybiBmcmVlZDsKKworCXJldHVybiBmcmVlZCA+PSAoczY0KXRhcmdldF9ieXRl cyA/IDAgOiAtRU5PU1BDOworfQorCisvKioKKyAqIHR0bV9yZXNvdXJjZV9tYW5hZ2VyX3NldF9k bWVtX3JlZ2lvbigpIC0gQXNzb2NpYXRlIGEgZG1lbSBjZ3JvdXAgcmVnaW9uIHdpdGggYQorICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2UgbWFuYWdlciBh bmQgcmVnaXN0ZXIgYSByZWNsYWltCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjYWxsYmFjay4KKyAqIEBtYW46IFRoZSByZXNvdXJjZSBtYW5hZ2VyLgorICogQHJl Z2lvbjogVGhlIGRtZW0gY2dyb3VwIHJlZ2lvbiB0byBhc3NvY2lhdGUsIG1heSBiZSBOVUxMIG9y IElTX0VSUigpLgorICoKKyAqIFNldHMgQG1hbi0+Y2cgYW5kIHJlZ2lzdGVycyB0dG1fcmVzb3Vy Y2VfbWFuYWdlcl9kbWVtX3JlY2xhaW0oKSBzbyB0aGF0CisgKiB3cml0aW5nIHRvIGRtZW0ubWF4 IGJlbG93IGN1cnJlbnQgdXNhZ2UgdHJpZ2dlcnMgVFRNIGV2aWN0aW9uIHJhdGhlciB0aGFuCisg KiByZXR1cm5pbmcgLUVCVVNZIHRvIHVzZXJzcGFjZS4KKyAqLwordm9pZCB0dG1fcmVzb3VyY2Vf bWFuYWdlcl9zZXRfZG1lbV9yZWdpb24oc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4s CisJCQkJCSAgc3RydWN0IGRtZW1fY2dyb3VwX3JlZ2lvbiAqcmVnaW9uKQoreworCWlmICghSVNf RVJSX09SX05VTEwocmVnaW9uKSkgeworCQltYW4tPmNnID0gcmVnaW9uOworCQlkbWVtX2Nncm91 cF9yZWdpb25fc2V0X3JlY2xhaW0ocmVnaW9uLAorCQkJCQkgICAgICAgdHRtX3Jlc291cmNlX21h bmFnZXJfZG1lbV9yZWNsYWltLAorCQkJCQkgICAgICAgbWFuKTsKKwl9Cit9CitFWFBPUlRfU1lN Qk9MKHR0bV9yZXNvdXJjZV9tYW5hZ2VyX3NldF9kbWVtX3JlZ2lvbik7CmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS90dG0vdHRtX2JvLmggYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvLmgKaW5kZXgg ODMxMGJjM2Q1NWY5Li4zMjc5MWM0ZGIyYTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL3R0bS90 dG1fYm8uaAorKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvLmgKQEAgLTIyNiw2ICsyMjYsMTEg QEAgc3RydWN0IHR0bV9scnVfd2Fsa19hcmcgewogCXN0cnVjdCB3d19hY3F1aXJlX2N0eCAqdGlj a2V0OwogCS8qKiBAdHJ5bG9ja19vbmx5OiBPbmx5IHVzZSB0cnlsb2NrIGZvciBsb2NraW5nLiAq LwogCWJvb2wgdHJ5bG9ja19vbmx5OworCS8qKgorCSAqIEBzbGVlcGluZ19sb2NrOiBVc2Ugc2xl ZXBpbmcgbG9ja3MgZXZlbiB3aXRoICVOVUxMIEB0aWNrZXQuCisJICogQHRyeWxvY2tfb25seSBo YXMgcHJlY2VkZW5jZSBvdmVyIHRoaXMgZmllbGQuCisJICovCisJYm9vbCBzbGVlcGluZ19sb2Nr OwogfTsKIAogLyoqCkBAIC00MzEsNiArNDM2LDExIEBAIHZvaWQgdHRtX2JvX3VucGluKHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCAqYm8pOwogaW50IHR0bV9ib19ldmljdF9maXJzdChzdHJ1Y3Qg dHRtX2RldmljZSAqYmRldiwKIAkJICAgICAgIHN0cnVjdCB0dG1fcmVzb3VyY2VfbWFuYWdlciAq bWFuLAogCQkgICAgICAgc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4ICpjdHgpOworczY0IHR0bV9i b19ldmljdF9jZ3JvdXAoc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsCisJCQlzdHJ1Y3QgdHRtX3Jl c291cmNlX21hbmFnZXIgKm1hbiwKKwkJCXN0cnVjdCBkbWVtX2Nncm91cF9wb29sX3N0YXRlICps aW1pdF9wb29sLAorCQkJczY0IHRhcmdldF9ieXRlcywKKwkJCXN0cnVjdCB0dG1fb3BlcmF0aW9u X2N0eCAqY3R4KTsKIGludCB0dG1fYm9fYWNjZXNzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8sIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCQkgIHZvaWQgKmJ1ZiwgaW50IGxlbiwgaW50IHdy aXRlKTsKIHZtX2ZhdWx0X3QgdHRtX2JvX3ZtX3Jlc2VydmUoc3RydWN0IHR0bV9idWZmZXJfb2Jq ZWN0ICpibywKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2UuaCBiL2lu Y2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2UuaAppbmRleCBhNWQzODY1ODNmYjYuLjFiYTNhZTM5 NzYzYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9yZXNvdXJjZS5oCisrKyBiL2lu Y2x1ZGUvZHJtL3R0bS90dG1fcmVzb3VyY2UuaApAQCAtMzksNiArMzksNyBAQAogCiBzdHJ1Y3Qg ZGVudHJ5Owogc3RydWN0IGRtZW1fY2dyb3VwX2RldmljZTsKK3N0cnVjdCBkbWVtX2Nncm91cF9y ZWdpb247CiBzdHJ1Y3QgZHJtX3ByaW50ZXI7CiBzdHJ1Y3QgdHRtX2RldmljZTsKIHN0cnVjdCB0 dG1fcmVzb3VyY2VfbWFuYWdlcjsKQEAgLTQ3Nyw2ICs0NzgsOSBAQCB2b2lkIHR0bV9yZXNvdXJj ZV9tYW5hZ2VyX2luaXQoc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4sCiAJCQkgICAg ICAgc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsCiAJCQkgICAgICAgdWludDY0X3Qgc2l6ZSk7CiAK K3ZvaWQgdHRtX3Jlc291cmNlX21hbmFnZXJfc2V0X2RtZW1fcmVnaW9uKHN0cnVjdCB0dG1fcmVz b3VyY2VfbWFuYWdlciAqbWFuLAorCQkJCQkgIHN0cnVjdCBkbWVtX2Nncm91cF9yZWdpb24gKnJl Z2lvbik7CisKIGludCB0dG1fcmVzb3VyY2VfbWFuYWdlcl9ldmljdF9hbGwoc3RydWN0IHR0bV9k ZXZpY2UgKmJkZXYsCiAJCQkJICAgc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4pOwog Ci0tIAoyLjU0LjAKCg==