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 68660CD4F54 for ; Wed, 20 May 2026 07:13:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8FEDC10EF3A; Wed, 20 May 2026 07:13:42 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XMlWCcI5"; dkim-atps=neutral Received: from mail-dy1-f180.google.com (mail-dy1-f180.google.com [74.125.82.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2AD9910E0A6 for ; Wed, 20 May 2026 06:07:30 +0000 (UTC) Received: by mail-dy1-f180.google.com with SMTP id 5a478bee46e88-304106b1204so942663eec.0 for ; Tue, 19 May 2026 23:07:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779257249; x=1779862049; darn=lists.freedesktop.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=FkbUxOw9XQFqUtX2Z9eJ32TNe+t+n97l8FjGhNB6Arg=; b=XMlWCcI5tQQnL6TCcXJq6l4yIYZ2bEHFL26pbn4ufYpEjLdlB7jKiAogF4HexKdjYc w/qHa1olShE64cHYHcVIBLJAj4cOBYwBOMKetfe1IcylQMQnQ614WokHWpmM650wTWUN aiwFcMtdEKQzuU+FHfyNQwlAKpITbC0hJs1lPTANl8NfLGciXNGcAJtYbcQ3d1V93p+x 0LIDiagO9KGcXko9tib5idKPkenXTZyIuOiMLSOGyIcCy98LqrH+a6pQ4FRgY7hdYNpP ppwTaGhKPgjo4KBNXxOPEvUtwigx59/uLFxBKaQvzkLx7pp/luTs7goBq6ziecbheVVO K2fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779257249; x=1779862049; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FkbUxOw9XQFqUtX2Z9eJ32TNe+t+n97l8FjGhNB6Arg=; b=K50Nh0X+zkMJ79a3oMPe9RbJSCkZn91Wiq7x9pXzbJey6u8HKf/hqSGMZALLejKfxZ TVoOubGEVJRMrcAUm71thLrr6rBBUEhei9xnF/UC5gI3Mhxq5jmPXdCidzzmkyykTQSA ki5q8L1a/3mRXtioKl2BDqlweiTAQXfxF1HNEMntntovGEt76UtwR4zJ2U92AUA+6jQ+ 3Jnzh8OC5LEYPUYALLk9qLfNEoOtEnlQErPfJ6SbJVTXK0jTKShO6/MpKjxXMycjesoB O6FBAbg9wH5ORpy74eiknj6dj5VC4cXJUpyDhiZRGSvmv7yykQAVjZVpJWXOvCU9DXNp qftw== X-Forwarded-Encrypted: i=1; AFNElJ99/RGn8pwp9iFLA6q6V3+zW4c+DLQDzhavzMYWb3azm0k78lmN3YVu8l5reu/T9kISKTufCNxXfAA=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yxz+c4bNtL5yWUY9rx1TgsXTxJ77fDMWF4xTAif8tKGJLDnulko vbHdkiSghO3ZUYzis0WRxdOsyXs0U9kqBlVGP4MzVxatJlznsrP/5Ui3 X-Gm-Gg: Acq92OFImkM4y7isAZbgW/tqHkQ23AzEHy90u2VUImz9tDg5ueADiJtaaGBulj8WV+5 1JZxeGfxyjYXDB6Un8W49Oonko/9jooU/k8mdyWWTrXK4IjL+vmUNEVjiwPVbydbDCnFxzOLGPm RMlRPgvbCGZ3Ef8/scNGeCpvQ4j4TMvzNNa/Gp/mSPeUwf4Ams8HVodlI4PtPm/WYC1rZD6XSzG QqR29x3x0JOKdMFb1QO2Tw3Pq9cclL6j0QnV+LHLOyA4KbYXBxm8VWNtV21UBtR1h8PI0Rg1CY3 2roFr203bnnDiDH+3KA9mrM1R36pqhWLJPdEvlF6n0lGKAD7mIHDVdKB9OomPD1DtciUmAmO/2v UDBqv9obRuHEJCt5DzxUqWp9cVudiPo9WiWBzis66mTQ4BuQEGPaVNNfUcU9i/yQHE2ulFaS7Ba bA7poJ0lQIANg/981W4rk2MgLN7B7P3vGG6yw6ILmG5A== X-Received: by 2002:a05:7301:600c:b0:2dd:6937:79d5 with SMTP id 5a478bee46e88-303982b788dmr10220464eec.8.1779257249365; Tue, 19 May 2026 23:07:29 -0700 (PDT) Received: from wujing.localdomain ([74.48.213.230]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30294500a97sm20885330eec.9.2026.05.19.23.07.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:07:29 -0700 (PDT) From: Qiliang Yuan Date: Wed, 20 May 2026 14:07:20 +0800 Subject: [PATCH] cgroup/dmem: implement dmem.high soft limit and throttling MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-Id: <20260520-feature-dmem-high-v1-1-97ca0cb7f95a@gmail.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/x3MTQqAIBBA4avErBvIfiy7SrSQnHIWVmhFIN49a fkt3osQyDMFGIsInh4OfOwZoixgsXrfCNlkQ13VsuqEwpX0dXtC48ih5c2ikEr1oh3M0gyQu9P Tyu//nOaUPnDDIj9jAAAA X-Change-ID: 20260519-feature-dmem-high-16997148dc38 To: Maarten Lankhorst , Maxime Ripard , Natalie Vock , Tejun Heo , Johannes Weiner , =?utf-8?q?Michal_Koutn=C3=BD?= Cc: cgroups@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Qiliang Yuan X-Mailer: b4 0.14.3 X-Mailman-Approved-At: Wed, 20 May 2026 07:13:27 +0000 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" SW50cm9kdWNlIHRoZSAiaGlnaCIgc29mdCBsaW1pdCBmb3IgdGhlIGRtZW0gY2dyb3VwIHYyIGNv bnRyb2xsZXIuCldoZW4gYSBjZ3JvdXAncyBkZXZpY2UgbWVtb3J5IHVzYWdlIGV4Y2VlZHMgaXRz IGhpZ2ggbGltaXQsIHRhc2tzCmJlbG9uZ2luZyB0byB0aGF0IGNncm91cCBhcmUgdGhyb3R0bGVk IGJ5IGJlaW5nIGZvcmNlZCBpbnRvIGEgc2xlZXAKYmVmb3JlIHJldHVybmluZyB0byB1c2VyIHNw YWNlLCBpbnN0ZWFkIG9mIGJlaW5nIGZhaWxlZCBvdXRyaWdodAphcyB3aXRoIHRoZSAibWF4IiBs aW1pdC4KCktleSBjaGFuZ2VzOgotIEFkZCBoaWdoIGNvdW50ZXIgY29uZmlndXJhdGlvbiB0byBk bWVtX2Nncm91cF9wb29sLgotIEFkZCBvdmVyLWhpZ2ggY2hlY2sgaW4gdGhlIHRyeV9jaGFyZ2Ug cGF0aCBhbmQgc2V0IFRJRl9OT1RJRllfUkVTVU1FLgotIEluamVjdCB0aGUgZG1lbSB0aHJvdHRs aW5nIGhhbmRsZXIgaW50byByZXN1bWVfdXNlcl9tb2RlX3dvcmsuCi0gSW1wbGVtZW50IHRoZSBo YW5kbGVyIHRvIHBlcmZvcm0gYSAxMDBtcyBpbnRlcnJ1cHRpYmxlIHNsZWVwIGZvcgogIG92ZXIt bGltaXQgdGFza3MuCgpUaGlzIG1lY2hhbmlzbSBwcm92aWRlcyBzbW9vdGhlciBvdmVyLXN1YnNj cmlwdGlvbiBzdXBwb3J0IGZvciBkZXZpY2UKbWVtb3J5IHJlc291cmNlcy4KClNpZ25lZC1vZmYt Ynk6IFFpbGlhbmcgWXVhbiA8cmVhbHd1amluZ0BnbWFpbC5jb20+Ci0tLQpUaGlzIHNlcmllcyBp bnRyb2R1Y2VzIHRoZSAiaGlnaCIgc29mdCBsaW1pdCBhbmQgYXNzb2NpYXRlZCB0YXNrCnRocm90 dGxpbmcgbWVjaGFuaXNtIHRvIHRoZSBkbWVtIGNncm91cCB2MiBjb250cm9sbGVyLgoKVGhlIGRl dmljZSBtZW1vcnkgKFZSQU0pIG1hbmFnZW1lbnQgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgaGFy ZCBsaW1pdHMKKG1heCksIHdoaWNoIGxlYWRzIHRvIGltbWVkaWF0ZSBhbGxvY2F0aW9uIGZhaWx1 cmVzIHdoZW4gcmVhY2hlZC4gVGhpcwpjYW4gYmUgZGlzcnVwdGl2ZSBmb3IgR1BVLWJvdW5kIEFJ IHdvcmtsb2Fkcy4gQnkgaW50cm9kdWNpbmcgYSBzb2Z0CmxpbWl0LCB3ZSBhbGxvdyBjZ3JvdXBz IHRvIGV4Y2VlZCB0aGVpciBxdW90YSB0ZW1wb3JhcmlseSB3aGlsZQphcHBseWluZyBiYWNrcHJl c3N1cmUgdmlhIHRhc2sgdGhyb3R0bGluZyBiZWZvcmUgdGhlIHByb2Nlc3MgcmV0dXJucwp0byB1 c2VyIHNwYWNlLgoKVGhlIG1lY2hhbmlzbSBpcyBpbnNwaXJlZCBieSB0aGUgbWVtb3J5IGNncm91 cCdzIGhpZ2ggbGltaXQ6Ci0gV2hlbiB1c2FnZSA+IGhpZ2gsIHRoZSB0YXNrIGlzIG1hcmtlZCB3 aXRoIFRJRl9OT1RJRllfUkVTVU1FLgotIFVwb24gcmV0dXJuaW5nIHRvIHVzZXIgc3BhY2UsIGl0 IHRyaWdnZXJzIGEgMTAwbXMgc2xlZXAuCi0gVGhpcyBwcm92aWRlcyBhIHNtb290aGVyIG92ZXIt c3Vic2NyaXB0aW9uIG1vZGVsIGZvciBHUFUgcmVzb3VyY2VzLgoKUWlsaWFuZyBZdWFuICgxKToK CmNncm91cC9kbWVtOiBpbXBsZW1lbnQgZG1lbS5oaWdoIHNvZnQgbGltaXQgYW5kIHRocm90dGxp bmcKLS0tClRvOiBNYWFydGVuIExhbmtob3JzdCA8ZGV2QGxhbmtob3JzdC5zZT4KVG86IE1heGlt ZSBSaXBhcmQgPG1yaXBhcmRAa2VybmVsLm9yZz4KVG86IE5hdGFsaWUgVm9jayA8bmF0YWxpZS52 b2NrQGdteC5kZT4KVG86IFRlanVuIEhlbyA8dGpAa2VybmVsLm9yZz4KVG86IEpvaGFubmVzIFdl aW5lciA8aGFubmVzQGNtcHhjaGcub3JnPgpUbzogTWljaGFsIEtvdXRuw70gPG1rb3V0bnlAc3Vz ZS5jb20+CkNjOiBjZ3JvdXBzQHZnZXIua2VybmVsLm9yZwpDYzogZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwotLS0KIGluY2x1 ZGUvbGludXgvY2dyb3VwX2RtZW0uaCAgICAgIHwgMTAgKysrKysrKwogaW5jbHVkZS9saW51eC9y ZXN1bWVfdXNlcl9tb2RlLmggfCAgMiArKwoga2VybmVsL2Nncm91cC9kbWVtLmMgICAgICAgICAg ICAgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAzIGZpbGVz IGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L2Nncm91cF9kbWVtLmggYi9pbmNsdWRlL2xpbnV4L2Nncm91cF9kbWVtLmgK aW5kZXggZGQ0ODY5ZjFkNzM2ZS4uZDU4OTcyZGU3YzkxMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9jZ3JvdXBfZG1lbS5oCisrKyBiL2luY2x1ZGUvbGludXgvY2dyb3VwX2RtZW0uaApAQCAt MjEsNiArMjEsMTMgQEAgaW50IGRtZW1fY2dyb3VwX3RyeV9jaGFyZ2Uoc3RydWN0IGRtZW1fY2dy b3VwX3JlZ2lvbiAqcmVnaW9uLCB1NjQgc2l6ZSwKIAkJCSAgIHN0cnVjdCBkbWVtX2Nncm91cF9w b29sX3N0YXRlICoqcmV0X3Bvb2wsCiAJCQkgICBzdHJ1Y3QgZG1lbV9jZ3JvdXBfcG9vbF9zdGF0 ZSAqKnJldF9saW1pdF9wb29sKTsKIHZvaWQgZG1lbV9jZ3JvdXBfdW5jaGFyZ2Uoc3RydWN0IGRt ZW1fY2dyb3VwX3Bvb2xfc3RhdGUgKnBvb2wsIHU2NCBzaXplKTsKK3ZvaWQgX19kbWVtX2Nncm91 cF9oYW5kbGVfb3Zlcl9oaWdoKHZvaWQpOworCitzdGF0aWMgaW5saW5lIHZvaWQgZG1lbV9jZ3Jv dXBfaGFuZGxlX292ZXJfaGlnaCh2b2lkKQoreworCV9fZG1lbV9jZ3JvdXBfaGFuZGxlX292ZXJf aGlnaCgpOworfQorCiBib29sIGRtZW1fY2dyb3VwX3N0YXRlX2V2aWN0X3ZhbHVhYmxlKHN0cnVj dCBkbWVtX2Nncm91cF9wb29sX3N0YXRlICpsaW1pdF9wb29sLAogCQkJCSAgICAgIHN0cnVjdCBk bWVtX2Nncm91cF9wb29sX3N0YXRlICp0ZXN0X3Bvb2wsCiAJCQkJICAgICAgYm9vbCBpZ25vcmVf bG93LCBib29sICpyZXRfaGl0X2xvdyk7CkBAIC01MSw2ICs1OCw5IEBAIHN0YXRpYyBpbmxpbmUg aW50IGRtZW1fY2dyb3VwX3RyeV9jaGFyZ2Uoc3RydWN0IGRtZW1fY2dyb3VwX3JlZ2lvbiAqcmVn aW9uLCB1NjQKIHN0YXRpYyBpbmxpbmUgdm9pZCBkbWVtX2Nncm91cF91bmNoYXJnZShzdHJ1Y3Qg ZG1lbV9jZ3JvdXBfcG9vbF9zdGF0ZSAqcG9vbCwgdTY0IHNpemUpCiB7IH0KIAorc3RhdGljIGlu bGluZSB2b2lkIGRtZW1fY2dyb3VwX2hhbmRsZV9vdmVyX2hpZ2godm9pZCkKK3sgfQorCiBzdGF0 aWMgaW5saW5lCiBib29sIGRtZW1fY2dyb3VwX3N0YXRlX2V2aWN0X3ZhbHVhYmxlKHN0cnVjdCBk bWVtX2Nncm91cF9wb29sX3N0YXRlICpsaW1pdF9wb29sLAogCQkJCSAgICAgIHN0cnVjdCBkbWVt X2Nncm91cF9wb29sX3N0YXRlICp0ZXN0X3Bvb2wsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L3Jlc3VtZV91c2VyX21vZGUuaCBiL2luY2x1ZGUvbGludXgvcmVzdW1lX3VzZXJfbW9kZS5oCmlu ZGV4IGJmOTIyMjdjNzhkMGQuLmFmY2FiMjA5OThjNDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlu dXgvcmVzdW1lX3VzZXJfbW9kZS5oCisrKyBiL2luY2x1ZGUvbGludXgvcmVzdW1lX3VzZXJfbW9k ZS5oCkBAIC04LDYgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21lbWNvbnRyb2wuaD4KICNpbmNs dWRlIDxsaW51eC9yc2VxLmg+CiAjaW5jbHVkZSA8bGludXgvYmxrLWNncm91cC5oPgorI2luY2x1 ZGUgPGxpbnV4L2Nncm91cF9kbWVtLmg+CiAKIC8qKgogICogc2V0X25vdGlmeV9yZXN1bWUgLSBj YXVzZSByZXN1bWVfdXNlcl9tb2RlX3dvcmsoKSB0byBiZSBjYWxsZWQKQEAgLTU4LDYgKzU5LDcg QEAgc3RhdGljIGlubGluZSB2b2lkIHJlc3VtZV91c2VyX21vZGVfd29yayhzdHJ1Y3QgcHRfcmVn cyAqcmVncykKIAogCW1lbV9jZ3JvdXBfaGFuZGxlX292ZXJfaGlnaChHRlBfS0VSTkVMKTsKIAli bGtjZ19tYXliZV90aHJvdHRsZV9jdXJyZW50KCk7CisJZG1lbV9jZ3JvdXBfaGFuZGxlX292ZXJf aGlnaCgpOwogCiAJcnNlcV9oYW5kbGVfc2xvd3BhdGgocmVncyk7CiB9CmRpZmYgLS1naXQgYS9r ZXJuZWwvY2dyb3VwL2RtZW0uYyBiL2tlcm5lbC9jZ3JvdXAvZG1lbS5jCmluZGV4IDQ3NTNhNjdk MGYwZjIuLmY3N2M2OTJiODg3YjEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9jZ3JvdXAvZG1lbS5jCisr KyBiL2tlcm5lbC9jZ3JvdXAvZG1lbS5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGlu dXgvcGFnZV9jb3VudGVyLmg+CiAjaW5jbHVkZSA8bGludXgvcGFyc2VyLmg+CiAjaW5jbHVkZSA8 bGludXgvcmVmY291bnQuaD4KKyNpbmNsdWRlIDxsaW51eC9yZXN1bWVfdXNlcl9tb2RlLmg+CiAj aW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KIApAQCAt MTU2LDYgKzE1NywxMiBAQCBzZXRfcmVzb3VyY2VfbG93KHN0cnVjdCBkbWVtX2Nncm91cF9wb29s X3N0YXRlICpwb29sLCB1NjQgdmFsKQogCXBhZ2VfY291bnRlcl9zZXRfbG93KCZwb29sLT5jbnQs IHZhbCk7CiB9CiAKK3N0YXRpYyB2b2lkCitzZXRfcmVzb3VyY2VfaGlnaChzdHJ1Y3QgZG1lbV9j Z3JvdXBfcG9vbF9zdGF0ZSAqcG9vbCwgdTY0IHZhbCkKK3sKKwlwYWdlX2NvdW50ZXJfc2V0X2hp Z2goJnBvb2wtPmNudCwgdmFsKTsKK30KKwogc3RhdGljIHZvaWQKIHNldF9yZXNvdXJjZV9tYXgo c3RydWN0IGRtZW1fY2dyb3VwX3Bvb2xfc3RhdGUgKnBvb2wsIHU2NCB2YWwpCiB7CkBAIC0xNjcs NiArMTc0LDExIEBAIHN0YXRpYyB1NjQgZ2V0X3Jlc291cmNlX2xvdyhzdHJ1Y3QgZG1lbV9jZ3Jv dXBfcG9vbF9zdGF0ZSAqcG9vbCkKIAlyZXR1cm4gcG9vbCA/IFJFQURfT05DRShwb29sLT5jbnQu bG93KSA6IDA7CiB9CiAKK3N0YXRpYyB1NjQgZ2V0X3Jlc291cmNlX2hpZ2goc3RydWN0IGRtZW1f Y2dyb3VwX3Bvb2xfc3RhdGUgKnBvb2wpCit7CisJcmV0dXJuIHBvb2wgPyBSRUFEX09OQ0UocG9v bC0+Y250LmhpZ2gpIDogMDsKK30KKwogc3RhdGljIHU2NCBnZXRfcmVzb3VyY2VfbWluKHN0cnVj dCBkbWVtX2Nncm91cF9wb29sX3N0YXRlICpwb29sKQogewogCXJldHVybiBwb29sID8gUkVBRF9P TkNFKHBvb2wtPmNudC5taW4pIDogMDsKQEAgLTE4Niw2ICsxOTgsNyBAQCBzdGF0aWMgdm9pZCBy ZXNldF9hbGxfcmVzb3VyY2VfbGltaXRzKHN0cnVjdCBkbWVtX2Nncm91cF9wb29sX3N0YXRlICpy cG9vbCkKIHsKIAlzZXRfcmVzb3VyY2VfbWluKHJwb29sLCAwKTsKIAlzZXRfcmVzb3VyY2VfbG93 KHJwb29sLCAwKTsKKwlzZXRfcmVzb3VyY2VfaGlnaChycG9vbCwgUEFHRV9DT1VOVEVSX01BWCk7 CiAJc2V0X3Jlc291cmNlX21heChycG9vbCwgUEFHRV9DT1VOVEVSX01BWCk7CiB9CiAKQEAgLTY4 NSw2ICs2OTgsOSBAQCBpbnQgZG1lbV9jZ3JvdXBfdHJ5X2NoYXJnZShzdHJ1Y3QgZG1lbV9jZ3Jv dXBfcmVnaW9uICpyZWdpb24sIHU2NCBzaXplLAogCQlnb3RvIGVycjsKIAl9CiAKKwlpZiAocGFn ZV9jb3VudGVyX3JlYWQoJnBvb2wtPmNudCkgPiBSRUFEX09OQ0UocG9vbC0+Y250LmhpZ2gpKQor CQlzZXRfbm90aWZ5X3Jlc3VtZShjdXJyZW50KTsKKwogCS8qIE9uIHN1Y2Nlc3MsIHJlZmVyZW5j ZSBmcm9tIGdldF9jdXJyZW50X2RtZW1jcyBpcyB0cmFuc2ZlcnJlZCB0byAqcmV0X3Bvb2wgKi8K IAkqcmV0X3Bvb2wgPSBwb29sOwogCXJldHVybiAwOwpAQCAtODM1LDEzICs4NTEsMjQgQEAgc3Rh dGljIHNzaXplX3QgZG1lbV9jZ3JvdXBfcmVnaW9uX2xvd193cml0ZShzdHJ1Y3Qga2VybmZzX29w ZW5fZmlsZSAqb2YsCiAJcmV0dXJuIGRtZW1jZ19saW1pdF93cml0ZShvZiwgYnVmLCBuYnl0ZXMs IG9mZiwgc2V0X3Jlc291cmNlX2xvdyk7CiB9CiAKK3N0YXRpYyBpbnQgZG1lbV9jZ3JvdXBfcmVn aW9uX2hpZ2hfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNmLCB2b2lkICp2KQoreworCXJldHVybiBk bWVtY2dfbGltaXRfc2hvdyhzZiwgdiwgZ2V0X3Jlc291cmNlX2hpZ2gpOworfQorCitzdGF0aWMg c3NpemVfdCBkbWVtX2Nncm91cF9yZWdpb25faGlnaF93cml0ZShzdHJ1Y3Qga2VybmZzX29wZW5f ZmlsZSAqb2YsCisJCQkJCSAgY2hhciAqYnVmLCBzaXplX3QgbmJ5dGVzLCBsb2ZmX3Qgb2ZmKQor eworCXJldHVybiBkbWVtY2dfbGltaXRfd3JpdGUob2YsIGJ1ZiwgbmJ5dGVzLCBvZmYsIHNldF9y ZXNvdXJjZV9oaWdoKTsKK30KKwogc3RhdGljIGludCBkbWVtX2Nncm91cF9yZWdpb25fbWF4X3No b3coc3RydWN0IHNlcV9maWxlICpzZiwgdm9pZCAqdikKIHsKIAlyZXR1cm4gZG1lbWNnX2xpbWl0 X3Nob3coc2YsIHYsIGdldF9yZXNvdXJjZV9tYXgpOwogfQogCiBzdGF0aWMgc3NpemVfdCBkbWVt X2Nncm91cF9yZWdpb25fbWF4X3dyaXRlKHN0cnVjdCBrZXJuZnNfb3Blbl9maWxlICpvZiwKLQkJ CQkgICAgICBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMsIGxvZmZfdCBvZmYpCisJCQkJCSAgY2hh ciAqYnVmLCBzaXplX3QgbmJ5dGVzLCBsb2ZmX3Qgb2ZmKQogewogCXJldHVybiBkbWVtY2dfbGlt aXRfd3JpdGUob2YsIGJ1ZiwgbmJ5dGVzLCBvZmYsIHNldF9yZXNvdXJjZV9tYXgpOwogfQpAQCAt ODY4LDYgKzg5NSwxMiBAQCBzdGF0aWMgc3RydWN0IGNmdHlwZSBmaWxlc1tdID0gewogCQkuc2Vx X3Nob3cgPSBkbWVtX2Nncm91cF9yZWdpb25fbG93X3Nob3csCiAJCS5mbGFncyA9IENGVFlQRV9O T1RfT05fUk9PVCwKIAl9LAorCXsKKwkJLm5hbWUgPSAiaGlnaCIsCisJCS53cml0ZSA9IGRtZW1f Y2dyb3VwX3JlZ2lvbl9oaWdoX3dyaXRlLAorCQkuc2VxX3Nob3cgPSBkbWVtX2Nncm91cF9yZWdp b25faGlnaF9zaG93LAorCQkuZmxhZ3MgPSBDRlRZUEVfTk9UX09OX1JPT1QsCisJfSwKIAl7CiAJ CS5uYW1lID0gIm1heCIsCiAJCS53cml0ZSA9IGRtZW1fY2dyb3VwX3JlZ2lvbl9tYXhfd3JpdGUs CkBAIC04NzcsNiArOTEwLDMxIEBAIHN0YXRpYyBzdHJ1Y3QgY2Z0eXBlIGZpbGVzW10gPSB7CiAJ eyB9IC8qIFplcm8gZW50cnkgdGVybWluYXRlcy4gKi8KIH07CiAKK3ZvaWQgX19kbWVtX2Nncm91 cF9oYW5kbGVfb3Zlcl9oaWdoKHZvaWQpCit7CisJc3RydWN0IGRtZW1jZ19zdGF0ZSAqZG1lbWNz OworCXN0cnVjdCBkbWVtX2Nncm91cF9wb29sX3N0YXRlICpwb29sOworCisJZG1lbWNzID0gY3Nz X3RvX2RtZW1jcyh0YXNrX2dldF9jc3MoY3VycmVudCwgZG1lbV9jZ3JwX2lkKSk7CisJaWYgKCFk bWVtY3MpCisJCXJldHVybjsKKworCXJjdV9yZWFkX2xvY2soKTsKKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3JjdShwb29sLCAmZG1lbWNzLT5wb29scywgY3NzX25vZGUpIHsKKwkJdW5zaWduZWQgbG9u ZyB1c2FnZSwgaGlnaDsKKworCQl1c2FnZSA9IHBhZ2VfY291bnRlcl9yZWFkKCZwb29sLT5jbnQp OworCQloaWdoID0gUkVBRF9PTkNFKHBvb2wtPmNudC5oaWdoKTsKKworCQlpZiAodXNhZ2UgPiBo aWdoKQorCQkJc2NoZWR1bGVfdGltZW91dF9raWxsYWJsZShIWiAvIDEwKTsKKwl9CisJcmN1X3Jl YWRfdW5sb2NrKCk7CisKKwljc3NfcHV0KCZkbWVtY3MtPmNzcyk7Cit9CitFWFBPUlRfU1lNQk9M X0dQTChfX2RtZW1fY2dyb3VwX2hhbmRsZV9vdmVyX2hpZ2gpOworCiBzdHJ1Y3QgY2dyb3VwX3N1 YnN5cyBkbWVtX2NncnBfc3Vic3lzID0gewogCS5jc3NfYWxsb2MJPSBkbWVtY3NfYWxsb2MsCiAJ LmNzc19mcmVlCT0gZG1lbWNzX2ZyZWUsCgotLS0KYmFzZS1jb21taXQ6IGFiNWZjZTg3YTc3OGNi NzgwYTA1OTg0YTJjYTQ0OGYyYjQxYWFmYmYKY2hhbmdlLWlkOiAyMDI2MDUxOS1mZWF0dXJlLWRt ZW0taGlnaC0xNjk5NzE0OGRjMzgKCkJlc3QgcmVnYXJkcywKLS0gClFpbGlhbmcgWXVhbiA8cmVh bHd1amluZ0BnbWFpbC5jb20+Cgo=