From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 850432DEA62; Sat, 14 Mar 2026 17:57:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.20 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773511038; cv=none; b=lZW2oVxYOyPSdjtkQogVPDkvzNh+YNB1eF0R6iQLGCm37RMi9qC2NovfA5d5HEk2IjxlOgXmdBD25He20o3vQmYNfY/jtgO2+8djvpmLOBpTq94FPqKp/NyQ/061LRhSQxsWglIvNpzMdjcRMPRAeO/W5mkfsDopJs2sBaxJoAg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773511038; c=relaxed/simple; bh=Rj7n8RuHqzUod14XxO32l+f1cKNn2qtfR1eIJ4baVRc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=vGUI3CeX29APFYeuu+MdNK+U7V5eOwb3kVANLUdYP0eraDz3qxcayygOI5ztG8I4wanSeEwhzVaUgnTG2R0I3aZu9skloBmJAIMdYhyVRPxXvFxjk71B9BK4vb3uUWDuGig3XnVzZDPhR5DgHWu1dZLLjhJHc7hcf7ykniGaKOo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=nGftgk2Q; arc=none smtp.client-ip=212.227.17.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="nGftgk2Q" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1773511008; x=1774115808; i=w_armin@gmx.de; bh=Rj7n8RuHqzUod14XxO32l+f1cKNn2qtfR1eIJ4baVRc=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=nGftgk2QtzA+tG/Ymp5xZwOXkZfn9hFp91MqS1mnITECYz6sC61/JWInPbUG9ci+ 3qpVRfvIKeRk0rZiMRQKHNwbhW4JQ4ZX4wX5ac7TS+UmYWRgCU9jD0/a881fhtFDD R6jwBnWneOUnCEDoTMgARqhFpeeFHirdiqeHztRxKSWoIfnN1Kb4bgWjRgCneR7L+ T+76GD5EOYBMdD99xWZzQcr69e+SslsBGQ5Jftrx0OG8O2S7ijGf9T8tn+Jq/oFwG mTYKF4wYjwvct8g5lQ1IkbOOUnMf75eXeeqowB9RPHCIyaFrq8R+uRGHzB7PhfQWQ SEjXWAFsTLWP1qMkTw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MzQgC-1vfQ8F45vE-00yvaZ; Sat, 14 Mar 2026 18:56:48 +0100 Message-ID: Date: Sat, 14 Mar 2026 18:56:45 +0100 Precedence: bulk X-Mailing-List: linux-hwmon@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 9/9] modpost: Handle malformed WMI GUID strings To: Mario Limonciello , Dell.Client.Kernel@dell.com, pali@kernel.org, mjg59@srcf.ucam.org Cc: hansg@kernel.org, ilpo.jarvinen@linux.intel.com, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, linux@roeck-us.net, linux-hwmon@vger.kernel.org References: <20260308002522.4185-1-W_Armin@gmx.de> <20260308002522.4185-10-W_Armin@gmx.de> <7f61364f-c860-49b6-91c3-9aeca6744eac@amd.com> Content-Language: en-US From: Armin Wolf In-Reply-To: <7f61364f-c860-49b6-91c3-9aeca6744eac@amd.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:CKikZbtgjPXdmLmwbsh2GGzbhKwEpKO71GeN+FhibeyF7I9/J48 bQzYT8uEG/WqGfH7apnASknGiLm1kg4qFPn/+cyn3E44ubsXlaDMeIxnYkNaqwWlR7x1Sa0 ZUD1dP0BP1GtO16z/azdzLwEHUgAKJ40lXvDvwt1pPMGxVe2qq6rCq11tV+239GQE8VBvX1 vvqzAIoQ8U+lsa/3zw6TA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:N2Ojrvig6vw=;cRMLgUf5BsR24VnY2P0d3oWfhth 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 2+d2ttzsgak QW0gMDkuMDMuMjYgdW0gMTc6MDcgc2NocmllYiBNYXJpbyBMaW1vbmNpZWxsbzoNCg0KPg0KPg0K PiBPbiAzLzcvMjAyNiA2OjI1IFBNLCBBcm1pbiBXb2xmIHdyb3RlOg0KPj4gU29tZSBXTUkgR1VJ RHMgZm91bmQgaW5zaWRlIGJpbmFyeSBNT0YgZmlsZXMgY29udGFpbiBib3RoDQo+PiB1cHBlcmNh c2UgYW5kIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLiBCbGluZGx5IGNvcHlpbmcgc3VjaA0KPj4gR1VJ RHMgd2lsbCBwcmV2ZW50IHRoZSBhc3NvY2lhdGVkIFdNSSBkcml2ZXIgZnJvbSBsb2FkaW5nDQo+ PiBhdXRvbWF0aWNhbGx5IGJlY2F1c2UgdGhlIFdNSSBHVUlEIGZvdW5kIGluc2lkZSBXTUkgZGV2 aWNlIGlkcw0KPj4gYWx3YXlzIGNvbnRhaW5zIHVwcGVyY2FzZSBjaGFyYWN0ZXJzLg0KPj4NCj4+ IEF2b2lkIHRoaXMgaXNzdWUgYnkgYWx3YXlzIGNvbnZlcnRpbmcgV01JIEdVSUQgc3RyaW5ncyB0 bw0KPj4gdXBwZXJjYXNlLiBBbHNvIHZlcmlmeSB0aGF0IHRoZSBXTUkgR1VJRCBzdHJpbmcgYWN0 dWFsbHkgbG9va3MNCj4+IGxpa2UgYSB2YWxpZCBHVUlELg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6 IEFybWluIFdvbGYgPFdfQXJtaW5AZ214LmRlPg0KPj4gLS0tDQo+PiDCoCAuLi4vd21pL2RyaXZl ci1kZXZlbG9wbWVudC1ndWlkZS5yc3TCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKy0NCj4+IMKg IHNjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDI4ICsrKysrKysrKysrKysrKysrKy0NCj4+IMKgIDIgZmlsZXMgY2hhbmdl ZCwgMjggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEv RG9jdW1lbnRhdGlvbi93bWkvZHJpdmVyLWRldmVsb3BtZW50LWd1aWRlLnJzdCANCj4+IGIvRG9j dW1lbnRhdGlvbi93bWkvZHJpdmVyLWRldmVsb3BtZW50LWd1aWRlLnJzdA0KPj4gaW5kZXggZmJj MmQ5YjEyZmU5Li43NGJiMTU2YWQ5Y2MgMTAwNjQ0DQo+PiAtLS0gYS9Eb2N1bWVudGF0aW9uL3dt aS9kcml2ZXItZGV2ZWxvcG1lbnQtZ3VpZGUucnN0DQo+PiArKysgYi9Eb2N1bWVudGF0aW9uL3dt aS9kcml2ZXItZGV2ZWxvcG1lbnQtZ3VpZGUucnN0DQo+PiBAQCAtNTQsNyArNTQsNyBAQCB0byBt YXRjaGluZyBXTUkgZGV2aWNlcyB1c2luZyBhIHN0cnVjdCANCj4+IHdtaV9kZXZpY2VfaWQgdGFi bGU6DQo+PiDCoCA6Og0KPj4gwqAgwqDCoMKgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd21pX2Rldmlj ZV9pZCBmb29faWRfdGFibGVbXSA9IHsNCj4+IC3CoMKgwqDCoMKgwqDCoMKgIC8qIE9ubHkgdXNl IHVwcGVyY2FzZSBsZXR0ZXJzISAqLw0KPj4gK8KgwqDCoMKgwqDCoMKgwqAgLyogVXNpbmcgb25s eSB1cHBlcmNhc2UgbGV0dGVycyBpcyByZWNvbW1lbmRlZCAqLw0KPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqAgeyAiOTM2REEwMUYtOUFCRC00RDlELTgwQzctMDJBRjg1QzgyMkE4IiwgTlVMTCB9LA0K Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyB9DQo+PiDCoMKgwqAgfTsNCj4+IGRpZmYgLS1naXQg YS9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMgYi9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMNCj4+ IGluZGV4IDRlOTkzOTNhMzVmMS4uMjBlNTQyYTg4OGM0IDEwMDY0NA0KPj4gLS0tIGEvc2NyaXB0 cy9tb2QvZmlsZTJhbGlhcy5jDQo+PiArKysgYi9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMNCj4+ IEBAIC0xMjUzLDYgKzEyNTMsOCBAQCBzdGF0aWMgdm9pZCBkb190ZWVfZW50cnkoc3RydWN0IG1v ZHVsZSAqbW9kLCANCj4+IHZvaWQgKnN5bXZhbCkNCj4+IMKgIHN0YXRpYyB2b2lkIGRvX3dtaV9l bnRyeShzdHJ1Y3QgbW9kdWxlICptb2QsIHZvaWQgKnN5bXZhbCkNCj4+IMKgIHsNCj4+IMKgwqDC oMKgwqAgREVGX0ZJRUxEX0FERFIoc3ltdmFsLCB3bWlfZGV2aWNlX2lkLCBndWlkX3N0cmluZyk7 DQo+PiArwqDCoMKgIGNoYXIgcmVzdWx0W3NpemVvZigqZ3VpZF9zdHJpbmcpXTsNCj4+ICvCoMKg wqAgaW50IGk7DQo+PiDCoCDCoMKgwqDCoMKgIGlmIChzdHJsZW4oKmd1aWRfc3RyaW5nKSAhPSBV VUlEX1NUUklOR19MRU4pIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB3YXJuKCJJbnZhbGlkIFdN SSBkZXZpY2UgaWQgJ3dtaTolcycgaW4gJyVzJ1xuIiwNCj4+IEBAIC0xMjYwLDcgKzEyNjIsMzEg QEAgc3RhdGljIHZvaWQgZG9fd21pX2VudHJ5KHN0cnVjdCBtb2R1bGUgKm1vZCwgDQo+PiB2b2lk ICpzeW12YWwpDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPj4gwqDCoMKgwqDCoCB9 DQo+PiDCoCAtwqDCoMKgIG1vZHVsZV9hbGlhc19wcmludGYobW9kLCBmYWxzZSwgV01JX01PRFVM RV9QUkVGSVggIiVzIiwgDQo+PiAqZ3VpZF9zdHJpbmcpOw0KPj4gK8KgwqDCoCBmb3IgKGkgPSAw OyBpIDwgVVVJRF9TVFJJTkdfTEVOOyBpKyspIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBjaGFyIHZh bHVlID0gKCpndWlkX3N0cmluZylbaV07DQo+PiArwqDCoMKgwqDCoMKgwqAgYm9vbCB2YWxpZCA9 IGZhbHNlOw0KPj4gKw0KPj4gK8KgwqDCoMKgwqDCoMKgIGlmIChpID09IDggfHwgaSA9PSAxMyB8 fCBpID09IDE4IHx8IGkgPT0gMjMpIHsNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICh2 YWx1ZSA9PSAnLScpDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbGlkID0g dHJ1ZTsNCj4+ICvCoMKgwqDCoMKgwqDCoCB9IGVsc2Ugew0KPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgaWYgKGlzeGRpZ2l0KHZhbHVlKSkNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgdmFsaWQgPSB0cnVlOw0KPj4gK8KgwqDCoMKgwqDCoMKgIH0NCj4+ICsNCj4+ICvCoMKg wqDCoMKgwqDCoCBpZiAoIXZhbGlkKSB7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3YXJu KCJJbnZhbGlkIGNoYXJhY3RlciAlYyBpbnNpZGUgV01JIEdVSUQgc3RyaW5nICclcycgDQo+PiBp biAnJXMnXG4iLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbHVlLCAq Z3VpZF9zdHJpbmcsIG1vZC0+bmFtZSk7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm47DQo+PiArwqDCoMKgwqDCoMKgwqAgfQ0KPj4gKw0KPj4gK8KgwqDCoMKgwqDCoMKgIC8qIFNv bWUgR1VJRHMgZnJvbSBCTU9GIGRlZmluaXRpb25zIGNvbnRhaW4gbG93ZXJjYXNlIA0KPj4gY2hh cmFjdGVycyAqLw0KPj4gK8KgwqDCoMKgwqDCoMKgIHJlc3VsdFtpXSA9IHRvdXBwZXIodmFsdWUp Ow0KPj4gK8KgwqDCoCB9DQo+DQo+IE1pbm9yIGxvZ2ljIGNoYW5nZSB0aGF0IGNvdWxkIGRyb3Ag dGhlIGJvb2xlYW4gdmFyaWFibGUgaW4gdGhlIGZvciBsb29wOg0KPg0KPiBmb3IgKGkgPSAwOyBp IDwgVVVJRF9TVFJJTkdfTEVOOyBpKyspIHsNCj4gwqDCoMKgwqBjaGFyIHZhbHVlID0gKCpndWlk X3N0cmluZylbaV07DQo+DQo+IMKgwqDCoMKgaWYgKGlzeGRpZ2l0KHZhbHVlKSkgew0KPiDCoMKg wqDCoMKgwqDCoCByZXN1bHRbaV0gPSB0b3VwcGVyKHZhbHVlKTsNCj4gwqDCoMKgwqDCoMKgwqAg Y29udGludWU7DQo+IMKgwqDCoMKgfQ0KDQpUaGlzIHdvdWxkIG5vdCBjYXRjaCBpbnZhbGlkIEdV SUQgc3RyaW5ncyBjb250YWluaW5nIG9ubHkgZGlnaXRzLg0KDQpUaGFua3MsDQpBcm1pbiBXb2xm DQoNCj4NCj4gwqDCoMKgwqBpZiAodmFsdWUgPT0gJy0nICYmIChpID09IDggfHwgaSA9PSAxMyB8 fCBpID09IDE4IHx8IGkgPT0gMjMpKSB7DQo+IMKgwqDCoMKgwqDCoMKgIHJlc3VsdFtpXSA9IHZh bHVlOw0KPiDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsNCj4gwqDCoMKgwqB9DQo+DQo+IMKgwqDC oMKgd2FybigiSW52YWxpZCBjaGFyYWN0ZXIgJWMgaW5zaWRlIFdNSSBHVUlEIHN0cmluZyAnJXMn IGluICclcydcbiIsDQo+IMKgwqDCoMKgwqDCoMKgwqAgdmFsdWUsICpndWlkX3N0cmluZywgbW9k LT5uYW1lKTsNCj4gwqDCoMKgwqByZXR1cm47DQo+IH0NCj4NCj4+ICsNCj4+ICvCoMKgwqAgcmVz dWx0W2ldID0gJ1wwJzsNCj4+ICsNCj4+ICvCoMKgwqAgbW9kdWxlX2FsaWFzX3ByaW50Zihtb2Qs IGZhbHNlLCBXTUlfTU9EVUxFX1BSRUZJWCAiJXMiLCByZXN1bHQpOw0KPj4gwqAgfQ0KPj4gwqAg wqAgLyogTG9va3MgbGlrZTogbWhpOlMgKi8NCj4NCj4NCg==