From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753606AbbDQI4K (ORCPT ); Fri, 17 Apr 2015 04:56:10 -0400 Received: from cantor2.suse.de ([195.135.220.15]:37317 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751779AbbDQI4G (ORCPT ); Fri, 17 Apr 2015 04:56:06 -0400 Date: Fri, 17 Apr 2015 10:56:02 +0200 From: Jean Delvare To: LKML Cc: Zhenzhong Duan , Ben Hutchings , Artem Savkov , Ivan Khoronzhuk , Matt Fleming Subject: Re: [PATCH v2] firmware: dmi_scan: Fix ordering of product_uuid Message-ID: <20150417105602.09da156a@endymion.delvare> In-Reply-To: <20150417101325.296fc081@endymion.delvare> References: <20150417101325.296fc081@endymion.delvare> Organization: SUSE Linux X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.23; x86_64-suse-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 17 Apr 2015 10:13:25 +0200, Jean Delvare wrote: > In function dmi_present(), dmi_walk_early() calls dmi_table(), which > calls dmi_decode(), which ultimately calls dmi_save_uuid(). This last > function makes a decision based on the value of global variable > dmi_ver. The problem is that this variable is set right _after_ > dmi_walk_early() returns. So dmi_save_uuid() always sees dmi_ver == 0 > regardless of the actual version implemented. > > This causes /sys/class/dmi/id/product_uuid to always use the old > ordering even on systems implementing DMI/SMBIOS 2.6 or later, which > should use the new ordering. > > This is broken since kernel v3.8 for legacy DMI implementations and > since kernel v3.10 for SMBIOS 2 implementations. SMBIOS 3 > implementations with the 64-bit entry point are not affected. > > The first breakage does not matter much as in practice legacy DMI > implementations are always for versions older than 2.6, which is when > the UUID ordering changed. The second breakage is more problematic as > it affects the vast majority of x86 systems manufactured since 2009. > > Signed-off-by: Jean Delvare > Fixes: 9f9c9cbb6057 ("drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists") > Fixes: 79bae42d51a5 ("dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()") > Acked-by: Zhenzhong Duan > Cc: Ben Hutchings > Cc: Artem Savkov > Cc: Ivan Khoronzhuk > Cc: Matt Fleming > Cc: stable@vger.kernel.org [v3.10+] > --- > Changes since v1: > * Rebased on torvalds/linux/master. Bah, scratch that, I have come up with a different approach that will make backporting this fix easier. Sorry for the noise. -- Jean Delvare SUSE L3 Support