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 60276CD4F3D for ; Thu, 21 May 2026 13:33:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D2CEF10F327; Thu, 21 May 2026 13:33:40 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="faqBkEGM"; dkim-atps=neutral Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 51FE810F320; Thu, 21 May 2026 13:33:36 +0000 (UTC) Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 7322F44669; Thu, 21 May 2026 13:33:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3FC0C1F01579; Thu, 21 May 2026 13:33:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779370407; bh=xwIDnz4Pf2a/0Wouv4cV1Bk8/fwt1/yHjZ8WyMRsm0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=faqBkEGM4aU15rBNkXIkUKRG5AsCe1S2Aewj2Tv1k/O0IFENHWQB9BDl0qYlYUXx1 yoSYnXrOdkYgaAvt93OzOSpjQt1HbLSZILUsO+WwAhtrliX5J0FzgX8CuujFmAl5jz X8uTF9W4laMnV0lw73DuAepv0e1Z18zWI5AlF6sh7C8rwcqpQzvp1cimaV2in+YUgi OE4BwyWmDWxhcTmmdjqIRpFm9oVrWPKzXOPW22NTkxkdTVTWD9EOmYqsfX8zmiSFqR Z0nWrODWYXeXSYKufMtwTaK1WxYbFWleRdtaUyw1XtWk0UguQM98XV3sxBpbdWcKqK 7ltRkG3vLauMQ== From: Kees Cook To: Luis Chamberlain Cc: Kees Cook , Pengpeng Hou , Petr Pavlu , Richard Weinberger , Anton Ivanov , Johannes Berg , "Rafael J. Wysocki" , Len Brown , Corey Minyard , Gabriel Somlo , "Michael S. Tsirkin" , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Simona Vetter , Bart Van Assche , Jason Gunthorpe , Leon Romanovsky , Laurent Pinchart , Hans de Goede , Mauro Carvalho Chehab , Bjorn Helgaas , Hannes Reinecke , "James E.J. Bottomley" , "Martin K. Petersen" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Greg Kroah-Hartman , Jiri Slaby , Alan Stern , Jason Wang , Xuan Zhuo , =?UTF-8?q?Eugenio=20P=C3=A9rez?= , Jason Baron , Jim Cromie , Tiwei Bie , Benjamin Berg , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , "David E. Box" , "Maciej W. Rozycki" , Srinivas Pandruvada , Peter Zijlstra , Heiko Carstens , Vasily Gorbik , Sean Christopherson , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Vinod Koul , Frank Li , Daniel Gomez , Sami Tolvanen , Aaron Tomlin , Alexander Potapenko , Marco Elver , Dmitry Vyukov , Andrew Morton , John Johansen , Paul Moore , James Morris , "Serge E. Hallyn" , Andy Shevchenko , Georgia Garcia , kvm@vger.kernel.org, dmaengine@vger.kernel.org, linux-modules@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, apparmor@lists.ubuntu.com, linux-security-module@vger.kernel.org, linux-um@lists.infradead.org, linux-acpi@vger.kernel.org, openipmi-developer@lists.sourceforge.net, qemu-devel@nongnu.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-rdma@vger.kernel.org, linux-media@vger.kernel.org, linux-pci@vger.kernel.org, linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-serial@vger.kernel.org, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: [PATCH 11/11] moduleparam: Drop legacy kernel_param_ops .get_str field and dispatch logic Date: Thu, 21 May 2026 06:33:24 -0700 Message-Id: <20260521133326.2465264-11-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260521133315.work.845-kees@kernel.org> References: <20260521133315.work.845-kees@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=6078; i=kees@kernel.org; h=from:subject; bh=cZc+JELjQTK8ycLqZtLTkP9aHNuVqrWgrD/YlzSeCsM=; b=owGbwMvMwCVmps19z/KJym7G02pJDFn8nEvufDYVreO77zyVZ9nKv/dmtn67mvlTQuv4kafPq puKFFykO0pZGMS4GGTFFFmC7NzjXDzetoe7z1WEmcPKBDKEgYtTACZyUpThn+GuD2261nV35Y9v WCSkdjztcECEh/yOmilbnsu+Me2RqGb4X3Y7PuFYwqXlesy7khtcFv4xWB144Q33rOMlXKUF6Yq CDAA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 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" QWxsIHN0cnVjdCBrZXJuZWxfcGFyYW1fb3BzIC5nZXQgY2FsbGJhY2tzIGhhdmUgYmVlbiBtaWdy YXRlZCB0byB1c2luZwpzdHJ1Y3Qgc2VxX2J1Zi4gRHJvcCB0aGUgbWlncmF0aW9uIHNjYWZmb2xk aW5nLgoKU2lnbmVkLW9mZi1ieTogS2VlcyBDb29rIDxrZWVzQGtlcm5lbC5vcmc+Ci0tLQogaW5j bHVkZS9saW51eC9tb2R1bGVwYXJhbS5oIHwgMzcgKystLS0tLS0tLS0tLS0tLS0tLS0tLQoga2Vy bmVsL3BhcmFtcy5jICAgICAgICAgICAgIHwgNjIgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21vZHVsZXBhcmFtLmggYi9pbmNsdWRl L2xpbnV4L21vZHVsZXBhcmFtLmgKaW5kZXggMzhhY2I1YWVmNTZiLi5lNmFmNmYwNTFjOTMgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW9kdWxlcGFyYW0uaAorKysgYi9pbmNsdWRlL2xpbnV4 L21vZHVsZXBhcmFtLmgKQEAgLTY2LDE1ICs2Niw4IEBAIHN0cnVjdCBrZXJuZWxfcGFyYW1fb3Bz IHsKIAkvKgogCSAqIEZvcm1hdCB0aGUgcGFyYW1ldGVyJ3MgdmFsdWUgaW50byBAcy4gIFJldHVy biAwIG9uIHN1Y2Nlc3MKIAkgKiAobGVuZ3RoIGRlcml2ZWQgZnJvbSBzZXFfYnVmX3VzZWQoKSkg b3IgLWVycm5vIG9uIGVycm9yLgotCSAqIEV4YWN0bHkgb25lIG9mIC5nZXQgYW5kIC5nZXRfc3Ry IHNob3VsZCBiZSBzZXQ7IHRoZSBkaXNwYXRjaGVyCi0JICogV0FSTnMgYW5kIHByZWZlcnMgLmdl dCBpZiBib3RoIGFyZS4KIAkgKi8KIAlpbnQgKCpnZXQpKHN0cnVjdCBzZXFfYnVmICpzLCBjb25z dCBzdHJ1Y3Qga2VybmVsX3BhcmFtICprcCk7Ci0JLyoKLQkgKiBSZXR1cm5zIGxlbmd0aCB3cml0 dGVuIG9yIC1lcnJuby4gIEJ1ZmZlciBpcyA0ayAoaWUuIGJlIHNob3J0ISkuCi0JICogRGVwcmVj YXRlZDogY2FsbGJhY2tzIHNob3VsZCBpbXBsZW1lbnQgLmdldCBpbnN0ZWFkLgotCSAqLwotCWlu dCAoKmdldF9zdHIpKGNoYXIgKmJ1ZmZlciwgY29uc3Qgc3RydWN0IGtlcm5lbF9wYXJhbSAqa3Ap OwogCS8qIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIGZyZWUga3AtPmFyZyB3aGVuIG1vZHVsZSB1bmxv YWRlZC4gKi8KIAl2b2lkICgqZnJlZSkodm9pZCAqYXJnKTsKIH07CkBAIC04NCwzMyArNzcsMTEg QEAgc3RydWN0IGtlcm5lbF9wYXJhbV9vcHMgewogICogYW55IHJlcXVpcmVkIHZpc2liaWxpdHkg cXVhbGlmaWVycyAodHlwaWNhbGx5ICJzdGF0aWMiKToKICAqCiAgKiAgIHN0YXRpYyBERUZJTkVf S0VSTkVMX1BBUkFNX09QUyhteV9vcHMsIG15X3NldCwgbXlfZ2V0KTsKLSAqCi0gKiBAX2dldCBt YXkgYmUgZWl0aGVyIG9mOgotICogICBpbnQgKCopKHN0cnVjdCBzZXFfYnVmICosIGNvbnN0IHN0 cnVjdCBrZXJuZWxfcGFyYW0gKikgKHNlcV9idWYpCi0gKiAgIGludCAoKikoY2hhciAqLCBjb25z dCBzdHJ1Y3Qga2VybmVsX3BhcmFtICopICAgICAgICAgICAobGVnYWN5KQotICoKLSAqIFRoZSBt YWNybyB1c2VzIF9HZW5lcmljIHRvIHJvdXRlIHRoZSBmdW5jdGlvbiBwb2ludGVyIHRvIHRoZQot ICogbWF0Y2hpbmcgZmllbGQgKC5nZXQgb3IgLmdldF9zdHIpIGF0IGNvbXBpbGUgdGltZSwgbGVh dmluZyB0aGUKLSAqIG90aGVyIGZpZWxkIE5VTEwuIEVhY2ggaGVscGVyIG1hdGNoZXMgdGhlIHdy b25nIHByb3RvdHlwZSBzaWduYXR1cmUKLSAqIGFuZCByZXR1cm5zIE5VTEwsIGZhbGxpbmcgdGhy b3VnaCB0byB0aGUgZGVmYXVsdCBicmFuY2ggb3RoZXJ3aXNlOwotICogaWYgQF9nZXQgaGFzIG5l aXRoZXIgZXhwZWN0ZWQgc2lnbmF0dXJlIHRoZSBhc3NpZ25tZW50IHRvIHRoZQotICogZmllbGRz IGdldHMgYSBub3JtYWwgY29tcGlsZS10aW1lIHR5cGUtbWlzbWF0Y2ggZXJyb3IuCiAgKi8KLSNk ZWZpbmUgX0tFUk5FTF9QQVJBTV9PUFNfR0VUKF9nZXQpCQkJCQlcCi0JX0dlbmVyaWMoKF9nZXQp LAkJCQkJCVwKLQkgICAgaW50ICgqKShjaGFyICosIGNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW0g Kik6IE5VTEwsCQlcCi0JICAgIGRlZmF1bHQ6IChfZ2V0KSkKLQotI2RlZmluZSBfS0VSTkVMX1BB UkFNX09QU19HRVRfU1RSKF9nZXQpCQkJCQlcCi0JX0dlbmVyaWMoKF9nZXQpLAkJCQkJCVwKLQkg ICAgaW50ICgqKShzdHJ1Y3Qgc2VxX2J1ZiAqLCBjb25zdCBzdHJ1Y3Qga2VybmVsX3BhcmFtICop OiBOVUxMLCBcCi0JICAgIGRlZmF1bHQ6IChfZ2V0KSkKLQogI2RlZmluZSBERUZJTkVfS0VSTkVM X1BBUkFNX09QUyhfbmFtZSwgX3NldCwgX2dldCkJCQlcCiAJY29uc3Qgc3RydWN0IGtlcm5lbF9w YXJhbV9vcHMgX25hbWUgPSB7CQkJCVwKIAkJLnNldCA9IChfc2V0KSwJCQkJCQlcCi0JCS5nZXQg PSBfS0VSTkVMX1BBUkFNX09QU19HRVQoX2dldCksCQkJXAotCQkuZ2V0X3N0ciA9IF9LRVJORUxf UEFSQU1fT1BTX0dFVF9TVFIoX2dldCksCQlcCisJCS5nZXQgPSAoX2dldCksCQkJCQkJXAogCX0K IAogLyogQXMgREVGSU5FX0tFUk5FTF9QQVJBTV9PUFMsIHdpdGggS0VSTkVMX1BBUkFNX09QU19G TF9OT0FSRyBzZXQuICovCkBAIC0xMTgsMTYgKzg5LDE0IEBAIHN0cnVjdCBrZXJuZWxfcGFyYW1f b3BzIHsKIAljb25zdCBzdHJ1Y3Qga2VybmVsX3BhcmFtX29wcyBfbmFtZSA9IHsJCQkJXAogCQku ZmxhZ3MgPSBLRVJORUxfUEFSQU1fT1BTX0ZMX05PQVJHLAkJCVwKIAkJLnNldCA9IChfc2V0KSwJ CQkJCQlcCi0JCS5nZXQgPSBfS0VSTkVMX1BBUkFNX09QU19HRVQoX2dldCksCQkJXAotCQkuZ2V0 X3N0ciA9IF9LRVJORUxfUEFSQU1fT1BTX0dFVF9TVFIoX2dldCksCQlcCisJCS5nZXQgPSAoX2dl dCksCQkJCQkJXAogCX0KIAogLyogQXMgREVGSU5FX0tFUk5FTF9QQVJBTV9PUFMsIHdpdGggYW4g YWRkaXRpb25hbCAuZnJlZSBjYWxsYmFjay4gKi8KICNkZWZpbmUgREVGSU5FX0tFUk5FTF9QQVJB TV9PUFNfRlJFRShfbmFtZSwgX3NldCwgX2dldCwgX2ZyZWUpCQlcCiAJY29uc3Qgc3RydWN0IGtl cm5lbF9wYXJhbV9vcHMgX25hbWUgPSB7CQkJCVwKIAkJLnNldCA9IChfc2V0KSwJCQkJCQlcCi0J CS5nZXQgPSBfS0VSTkVMX1BBUkFNX09QU19HRVQoX2dldCksCQkJXAotCQkuZ2V0X3N0ciA9IF9L RVJORUxfUEFSQU1fT1BTX0dFVF9TVFIoX2dldCksCQlcCisJCS5nZXQgPSAoX2dldCksCQkJCQkJ XAogCQkuZnJlZSA9IChfZnJlZSksCQkJCQlcCiAJfQogCmRpZmYgLS1naXQgYS9rZXJuZWwvcGFy YW1zLmMgYi9rZXJuZWwvcGFyYW1zLmMKaW5kZXggMjVmMGM4ZDVkMTlmLi42YjQxMDE4OTI5N2Ig MTAwNjQ0Ci0tLSBhL2tlcm5lbC9wYXJhbXMuYworKysgYi9rZXJuZWwvcGFyYW1zLmMKQEAgLTQ2 MSw4ICs0NjEsNyBAQCBzdGF0aWMgaW50IHBhcmFtX2FycmF5X2dldChzdHJ1Y3Qgc2VxX2J1ZiAq cywgY29uc3Qgc3RydWN0IGtlcm5lbF9wYXJhbSAqa3ApCiB7CiAJY29uc3Qgc3RydWN0IGtwYXJh bV9hcnJheSAqYXJyID0ga3AtPmFycjsKIAlzdHJ1Y3Qga2VybmVsX3BhcmFtIHAgPSAqa3A7Ci0J Y2hhciAqZWxlbV9idWYgPSBOVUxMOwotCWludCBpLCByZXQgPSAwOworCWludCBpLCByZXQ7CiAK IAlmb3IgKGkgPSAwOyBpIDwgKGFyci0+bnVtID8gKmFyci0+bnVtIDogYXJyLT5tYXgpOyBpKysp IHsKIAkJc2l6ZV90IGJlZm9yZSA9IHMtPmxlbjsKQEAgLTQ3MCwyMyArNDY5LDkgQEAgc3RhdGlj IGludCBwYXJhbV9hcnJheV9nZXQoc3RydWN0IHNlcV9idWYgKnMsIGNvbnN0IHN0cnVjdCBrZXJu ZWxfcGFyYW0gKmtwKQogCQlwLmFyZyA9IGFyci0+ZWxlbSArIGFyci0+ZWxlbXNpemUgKiBpOwog CQljaGVja19rcGFyYW1fbG9ja2VkKHAubW9kKTsKIAotCQlpZiAoYXJyLT5vcHMtPmdldCkgewot CQkJcmV0ID0gYXJyLT5vcHMtPmdldChzLCAmcCk7Ci0JCQlpZiAocmV0IDwgMCkKLQkJCQlnb3Rv IG91dDsKLQkJfSBlbHNlIHsKLQkJCWlmICghZWxlbV9idWYpIHsKLQkJCQllbGVtX2J1ZiA9IGtt YWxsb2MoUEFHRV9TSVpFLCBHRlBfS0VSTkVMKTsKLQkJCQlpZiAoIWVsZW1fYnVmKSB7Ci0JCQkJ CXJldCA9IC1FTk9NRU07Ci0JCQkJCWdvdG8gb3V0OwotCQkJCX0KLQkJCX0KLQkJCXJldCA9IGFy ci0+b3BzLT5nZXRfc3RyKGVsZW1fYnVmLCAmcCk7Ci0JCQlpZiAocmV0IDwgMCkKLQkJCQlnb3Rv IG91dDsKLQkJCXNlcV9idWZfcHV0bWVtKHMsIGVsZW1fYnVmLCByZXQpOwotCQl9CisJCXJldCA9 IGFyci0+b3BzLT5nZXQocywgJnApOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CiAK IAkJLyogTm90aGluZyBnb3Qgd3JpdHRlbiAoZS5nLiBvdmVyZmxvdykg4oCUIHN0b3AuICovCiAJ CWlmIChzLT5sZW4gPT0gYmVmb3JlKQpAQCAtNDk2LDEwICs0ODEsNyBAQCBzdGF0aWMgaW50IHBh cmFtX2FycmF5X2dldChzdHJ1Y3Qgc2VxX2J1ZiAqcywgY29uc3Qgc3RydWN0IGtlcm5lbF9wYXJh bSAqa3ApCiAJCWlmIChpICYmIHMtPmJ1ZmZlcltiZWZvcmUgLSAxXSA9PSAnXG4nKQogCQkJcy0+ YnVmZmVyW2JlZm9yZSAtIDFdID0gJywnOwogCX0KLQlyZXQgPSAwOwotb3V0OgotCWtmcmVlKGVs ZW1fYnVmKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCBwYXJh bV9hcnJheV9mcmVlKHZvaWQgKmFyZykKQEAgLTU3MCwzMiArNTUyLDIyIEBAIHN0YXRpYyBzc2l6 ZV90IHBhcmFtX2F0dHJfc2hvdyhjb25zdCBzdHJ1Y3QgbW9kdWxlX2F0dHJpYnV0ZSAqbWF0dHIs CiAJaW50IGNvdW50OwogCWNvbnN0IHN0cnVjdCBwYXJhbV9hdHRyaWJ1dGUgKmF0dHJpYnV0ZSA9 IHRvX3BhcmFtX2F0dHIobWF0dHIpOwogCWNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW1fb3BzICpv cHMgPSBhdHRyaWJ1dGUtPnBhcmFtLT5vcHM7CisJc3RydWN0IHNlcV9idWYgczsKIAotCWlmICgh b3BzLT5nZXQgJiYgIW9wcy0+Z2V0X3N0cikKKwlpZiAoIW9wcy0+Z2V0KQogCQlyZXR1cm4gLUVQ RVJNOwogCi0JV0FSTl9PTl9PTkNFKG9wcy0+Z2V0ICYmIG9wcy0+Z2V0X3N0cik7Ci0KIAlrZXJu ZWxfcGFyYW1fbG9jayhtay0+bW9kKTsKLQlpZiAob3BzLT5nZXQpIHsKLQkJc3RydWN0IHNlcV9i dWYgczsKLQotCQlzZXFfYnVmX2luaXQoJnMsIGJ1ZiwgUEFHRV9TSVpFKTsKLQkJY291bnQgPSBv cHMtPmdldCgmcywgYXR0cmlidXRlLT5wYXJhbSk7Ci0JCWlmIChjb3VudCA+PSAwKSB7Ci0JCQlX QVJOX09OX09OQ0UoY291bnQgPiAwKTsKLQkJCWNvdW50ID0gc2VxX2J1Zl91c2VkKCZzKTsKLQkJ CS8qIE1ha2Ugc3VyZSBzdHJpbmcgaXMgdGVybWluYXRlZC4gKi8KLQkJCXNlcV9idWZfc3RyKCZz KTsKLQkJCS8qCi0JCQkgKiBJZiBvdmVyZmxvd2VkLCByZWR1Y2UgY291bnQgYnkgMSBmb3IgdHJh aWxpbmcKLQkJCSAqIE5VTCBieXRlLgotCQkJICovCi0JCQlpZiAoc2VxX2J1Zl9oYXNfb3ZlcmZs b3dlZCgmcykpCi0JCQkJY291bnQtLTsKLQkJfQotCX0gZWxzZSB7Ci0JCWNvdW50ID0gb3BzLT5n ZXRfc3RyKGJ1ZiwgYXR0cmlidXRlLT5wYXJhbSk7CisJc2VxX2J1Zl9pbml0KCZzLCBidWYsIFBB R0VfU0laRSk7CisJY291bnQgPSBvcHMtPmdldCgmcywgYXR0cmlidXRlLT5wYXJhbSk7CisJaWYg KGNvdW50ID49IDApIHsKKwkJV0FSTl9PTl9PTkNFKGNvdW50ID4gMCk7CisJCWNvdW50ID0gc2Vx X2J1Zl91c2VkKCZzKTsKKwkJLyogTWFrZSBzdXJlIHN0cmluZyBpcyB0ZXJtaW5hdGVkLiAqLwor CQlzZXFfYnVmX3N0cigmcyk7CisJCS8qIElmIG92ZXJmbG93ZWQsIHJlZHVjZSBjb3VudCBieSAx IGZvciB0cmFpbGluZyBOVUwgYnl0ZS4gKi8KKwkJaWYgKHNlcV9idWZfaGFzX292ZXJmbG93ZWQo JnMpKQorCQkJY291bnQtLTsKIAl9CiAJa2VybmVsX3BhcmFtX3VubG9jayhtay0+bW9kKTsKIAly ZXR1cm4gY291bnQ7Ci0tIAoyLjM0LjEKCg==