From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010005.outbound.protection.outlook.com [52.101.61.5]) (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 9A2481E51EE for ; Fri, 16 Jan 2026 21:30:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.5 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768599045; cv=fail; b=m/an4ehDB5msgGDH+1XqH4HkJ9JXz1EVmEinEInJLfPQcdJ7Z8K2a2QWdvbAh/74yhts/+sqZYCiAEEU+u3BInfDMDw3JXxdMLHdVWaOFTMwJMIwy96CojhckCpvIKRbwM+p0CXKSbhKyDhFO7ey3f/01zJvyO0YIGCFRPxibKw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768599045; c=relaxed/simple; bh=fLJyI9gtBjuDAS6w7u06+er6hedYgmo/v+Kr2crGJh4=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=oyHzv+3Y4mLlX8ejVsdj9mzt90B0xlpQ8ThhGJr5XR99AokewvDREhAf58iJWc9ZEPxiTgwZDnebMJAfL8wVDUHxT/ArcJT1Zvid4OkuGGmB/YCwdmWRxBxAN+mL6LkqaoFA9sJMpjkrfIVox23Q1oScxi6nSEYEL71D0IXap38= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=hH2uxCgK; arc=fail smtp.client-ip=52.101.61.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="hH2uxCgK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=s/TmJ896leVmpUCkgXgOPmUArFpBtIUtlEJtzyclei/KN44L1jybDhFq/eBtdn9/jM8b7MOlm4VnknfYSa/aMTqRlinfKwDC5esc3g6vPrBk6KLdQaq/Yml2oLQkcT7MgLxKGOnGcbQzlMxhLVv71i8KQLIhhZNlDEW+4LLOK/U3DKF8z0TQ5o+eEzh6vj8jb9RRYIcBzqWFebME8HLrUCMzj81sX6MIlJC71suYi7g/UNd8grgH9fSI2pwgIj8AGXgO42rbEua3a85GKluiavYaLiZLQ+l6cULoV5HgTa3hQePlZvaPsFRS1qbvPXBVU3f1wxPE2625b+KQKtCKJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LhfTSRt4SUAaUz/fcO56FKIuknSzuErgRfgCCr1hx/c=; b=HtJncEnBST/FispK623QCpMJOrXgSpszm5ijGxeczAL5o38WW0LAE9kC2MfXN4WINmXzwlJeaPOfWzf26wNa6SfrayEs6PyDKtagnqi+1THhlCNinhAw0t4wyyxjgHjFUQbyCOg316gV7JfXu6vdffmQGS+3i/BbPz/L7ufjPL6ysK/DMTOEkoPBrEkuHeSKLaVW18tZ3Z3Emh7xG92lDq/84FiV9PwfIte2Z2k1c6BPwoE8LOsjIaLqeYle6WMBxHiX9UxEJptMuaLiLY3GvHj++oN4igvZTO6kCcP4E+gIH8fTg8qMpeqBy3cl7/DDWtBk8wwZHmMMO3DMYufPKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LhfTSRt4SUAaUz/fcO56FKIuknSzuErgRfgCCr1hx/c=; b=hH2uxCgK2p7NJMqTHKcaTyDijfm6EhyHjIFhZhkCAA9yWx1D1Kr58Xxf9mGIXVP7oecoQAo2dJIxGHxR5DxahnYjtP3jFX4JgACjB5awsfpUos82CvLJm2tB8Of0jFcG33EDsPfkiduWO3zzi97d+eWW5gdKXdaLfHVuNPeTaqM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from IA1PR12MB6354.namprd12.prod.outlook.com (2603:10b6:208:3e2::11) by CY8PR12MB7121.namprd12.prod.outlook.com (2603:10b6:930:62::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 21:30:41 +0000 Received: from IA1PR12MB6354.namprd12.prod.outlook.com ([fe80::1d15:ff5e:339:c009]) by IA1PR12MB6354.namprd12.prod.outlook.com ([fe80::1d15:ff5e:339:c009%4]) with mapi id 15.20.9520.005; Fri, 16 Jan 2026 21:30:41 +0000 Date: Fri, 16 Jan 2026 16:30:32 -0500 From: Yazen Ghannam To: "Mario Limonciello (AMD)" Cc: Jean Delvare , linux-kernel@vger.kernel.org, Borislav Petkov Subject: Re: [PATCH v3 5/5] firmware: dmi: Read additional information when decoding DMI table Message-ID: <20260116213032.GC471170@yaz-khff2.amd.com> References: <20260110134835.1296600-1-superm1@kernel.org> <20260110134835.1296600-6-superm1@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260110134835.1296600-6-superm1@kernel.org> X-ClientProxiedBy: BN9P221CA0027.NAMP221.PROD.OUTLOOK.COM (2603:10b6:408:10a::21) To IA1PR12MB6354.namprd12.prod.outlook.com (2603:10b6:208:3e2::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR12MB6354:EE_|CY8PR12MB7121:EE_ X-MS-Office365-Filtering-Correlation-Id: e586d4dd-d092-4146-abc3-08de55467fb4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dmEvcmhZQ0VPTDRKbTF1MVBVb2Rqd3hTYmptSGVPaVhkQ1VGTldYd2hPOFpl?= =?utf-8?B?cDZpZ3Bad0FldVFZcFJnTEpsOEY3aTEvUGVoODNzM0NySlNQdDdWdlRmSlVW?= =?utf-8?B?SmxNbGh6QW43SFpWbVNwMlhoYkhid1hPZ0NvRlhKVEoyRmlVc1BEOXhWRWFP?= =?utf-8?B?c0RuYzNlVkhlaGVmL095UWcvZWtQVlh4MGxsTnB3dVBwT2NvU2dmckhIREpX?= =?utf-8?B?UFA4QVE3YU9heGEwOVZNQ1gwMlA5VHdYYnczT2E0cndSNEZrSmlvSkJaTStw?= =?utf-8?B?QzlBb2t0RnI5RVpNNEJmYmJUTXQybDRGNzVYVHJSM0RUdkRFeVpZc1JvQnJJ?= =?utf-8?B?RjYybThrRDh6dVBoSjQzWEFrY1I2ZnB4VnoxRk95TEtYWXgrbFN2L2wwMjl0?= =?utf-8?B?K0lJdW1LNGgvQnVSTkxvYVFnVTBCcWoxT3JtUXBuSGVGaEtnTm5jYmRrd1Ru?= =?utf-8?B?NERtSExjTy9MOTdNUDEvS1RUVVg1QkdHd0FpUEZpRzV6cGFXcm14SDNpdG1C?= =?utf-8?B?SkpvZXh5bEl3YVZBcUlCY24zb1llVTVaZVZ0dW56d09ZbGtpREpRY3IvT1ZR?= =?utf-8?B?OTY3K1Rta2d2L3pnazVaWDVDRU5LVExESFpENG9rMCtqNENFNDYxNkhjd0Jh?= =?utf-8?B?VnFUSU5DRGl4M01qU0IxY25uakNrRllIMW00b0RiN2JmWjNzOWlSZzYwbmlE?= =?utf-8?B?MkVnT29nSThPQjV3Ukc0VTUyd00zSWY2VFQxc1RIQm9ES0xxRHRkL1UyODd4?= =?utf-8?B?bXIwQ3orSDVMV3grZFJTUmxzQmpVYnVSbGM5MlZJK2J2QmpBSmQ4b05lOXFC?= =?utf-8?B?em5PbVRrTjI0WWtuRSt1d1A5RVNxRHZKdy9vVVh4NG9YZVRsUXhNRWpJS2xC?= =?utf-8?B?bFVsSWtMVU5mYVlCaXEzd3NJWkhKNzlPbTlZZldGNTY0amFGN2xpZHdHUUpy?= =?utf-8?B?WWI2VWFrMlRMUmRnSVdlc0JDa256akZjZ3EwdHVMZjMydGZOZWlCNzdqWDUx?= =?utf-8?B?bHFrS0VPWHU3YWZtc1UzbFF5c1B3Q3BuZW1VMkZQNmpGanEwdy8zZkd4U29H?= =?utf-8?B?WE01NnFETDg3Z1FVM2luakdZM05NK0x1ZnB2QjJjTXRIMTlYWlgvS2Zjdkxw?= =?utf-8?B?VzNWVFJoVkw4MFVscGhralFaTGI0M3ZkR2prZlBnQWcxV3dhTUpUVFVObDh2?= =?utf-8?B?aFVESGNLVjd4bEh6ZE9abDhiVkExeEY1eDkvdTZGcW1sNjFPbWd1RjRTcUJv?= =?utf-8?B?bjJPT3ZSTVRNSHVFNVZiaFgrZ0gxS3Z5TGxzR083Z1ZYdnM5alcxbFM0SjNL?= =?utf-8?B?V3lIOWlDeDNWTTBzR0lMcFo5SnZUS2o5eUJ0bGZsSlY3ZVZzV3ZlUjdDK1ZU?= =?utf-8?B?aXVVQ0o5c3g5cjlWRThRc25tYmNhZzNBL3p4WFRSaWNxZU1wY1RxZ3BMa1Jl?= =?utf-8?B?Q0JXMFhrY2pXVkh3ZWRla2Z4T3ZEY3B4cXNiR0d5R1pKTUI2UzFtZ0thWG9L?= =?utf-8?B?blJxNUg2WUlZY1ZMT3FkRDN2d2tVRkc4N2REUXB1dTlhSGdzdVMyZ2RjZGJC?= =?utf-8?B?KzFlb2E3Q0tLMVZiODMzMGlwSHdyd1ltc2lrTkE0WEcydEdnZ2cycTVLYmRn?= =?utf-8?B?V0h6eUN2L0tCNkJpUXJOMEZuZ1lYZWl6QWx4M1UxZjkwWW9rczBFWDlza21S?= =?utf-8?B?a1JteHI5Tm1xOXBscmFRd256N215QkJ4alNhRkxIbk9NeG5kMVVhYXhWWE0r?= =?utf-8?B?SzVFVldBbVhseVV1OGJNa2JzU0didHBCNGJ5ZHBzbjJmeVZDRG1EV1YyUklH?= =?utf-8?B?ZHFvMUQ4TktXblZMeWE4MkJqWDBINDhVRjBqTmY4K2NJRFNSdE5PNUlMcHVZ?= =?utf-8?B?VjJ6aC83Wm9YUWhWSW9TWTZTNFJSMDcwVHkwaW5LNVZBZjhFWHdFREttTjhX?= =?utf-8?B?UkVJYzRVaTlqRlNPNWcxeXZhajF0cDNQUGUzbFFReitLZCtkdlJZYVM4SzRw?= =?utf-8?B?L1VOM0l4eEl3OUlrR1cwbTRldW8xenZxWkdGeVZIajhXTjNwcEZMSE0vSmNC?= =?utf-8?B?cGtRRkRocmVYWTRlTjhZSDBGTWZhczlOSFpialkwZHJ4WDA1MWJsckZBbHZK?= =?utf-8?Q?4o0k=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB6354.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TlpuR3BZNTM5dXZzQzNJOUR1Mjg2d1V2MmpNQlVVS3pabGdNMWdSa0NSZ2wr?= =?utf-8?B?OEp6bUFqK281ME81UUZIaCticWJXdFFwUFFjZ01TZXEwWEUxME1YRmpXdzVq?= =?utf-8?B?SmRVY2FDSXZWeXFuUjVaRVhjdmVsYmhqR1JWd3lQa01mRXFUOTdkMUZCVks0?= =?utf-8?B?ZzVwUXdsUHdOR3ZZQkxhY3VvbC9JTnNWOGV0c0l2UTY0RlhLbmVyaGtlWGxy?= =?utf-8?B?Z1V1b1pZUWZQaFdVZlc3ZFh3TXVTSkp4dmhQaE9XeVpXTjdCNE9RcURYa251?= =?utf-8?B?eGhLL0Z0Nmp5a0w0SWhCR3JLZlRtcWNCUzFCUnFlRkIyTHkyaVErME1vZGNU?= =?utf-8?B?Zmc4Q2FUNDFqM1pYMFNsY3AydElsNHB2dlJDbWN6RWJNUGVBNVpsRVh6VkI4?= =?utf-8?B?dklHYXR6dk5yRVEzQUQwaWp4OWxTbDd0K0pDOTQ2Q29uamNkZm1BcjU1RGJM?= =?utf-8?B?STdHOUFnZmxjYXF1QzlyVmVxZkZlT0VMUDFySFY4VEk2ZmlQNFhFT3hyK3ox?= =?utf-8?B?d3R2U2JoSUNnOUhyamVINmVWVGxhZmZPSEltdlZtekk4d0tUbzhSTDUvZ3kz?= =?utf-8?B?Y3Z3eWFwR0R5STUzZU1DNS9ETnFnbnlsbTN5YlpLNVU2WEU0NFF0dUFIMUhi?= =?utf-8?B?WlRCUlBrdURYbVJxdjR2ZForczl1RjljSUdOVzlzb2h3ZytXN3RZd3lLbUJ6?= =?utf-8?B?UXo0TGFBelB5cTB3cUhKLzMrMm02Q1U5MGFvcFNrWkNnSWM5elJkbGdlNE5H?= =?utf-8?B?RVEwVktYTGc4UEdTMmtrekM4NnRoaEFyT25JYzE4enN1OU1MTUFMakJRWlQw?= =?utf-8?B?WEVUZHZVVHUvSy9RWmlJRFVsUnpIUmdGR2tMSHN6ZWQ4TW1BRXZKKzRnSnJY?= =?utf-8?B?ckJaUWhkV2NpZ0Q4NG5RV1RKTGpiQmNPWmVvTVVwZGN2Nm5INTIwZGJqWUky?= =?utf-8?B?MktaSlpOb25oWTVWL1R0SGhiYVN2YnlOc2lnVzYrejZDZW1LYUs3M2NLT0Ir?= =?utf-8?B?R2YreWcxc0ltQWJONHZub25HRllmZWZIKzhzR244UjFLOGxzenNrSDZHOTJD?= =?utf-8?B?R042cjF2RHFCNWJCRTdIUE1KaEdBVG5xc0hYZGRmYVZMWW1hOGlhSnJocUNR?= =?utf-8?B?OWFCcEJRcUZtT2x5Sko4VFl3Y2F1WFkwdnVGbUg5dUI3c1VzWDhFMWtDTW1P?= =?utf-8?B?SU9MOVIyRUVrMU45a1FuU21xeUE2Qk0xVUZhbFhnL25nNmJRYVZ4YXk4VldP?= =?utf-8?B?UW9ybjZBTlpRZTRXVWFPQmVIR0d0ZkxsVSsvRXJJSjZpSFl5UjhKQ2NSNkps?= =?utf-8?B?QUVDa0VQRmJjK3YzbXYzbWhlTTZJckJLZE1YM2l1U29wT3RSM1ZNblhQWWxU?= =?utf-8?B?cURyUzFmVDRpa1VNa0tpTVoxUjJXMzJkVmR6bWpGM0srUFp0YXdVUTdLS0NG?= =?utf-8?B?bFVrK3ZBaWtXSG50dGw3RzRxNzA0MkN1YnUvK0Z2UVB1eHMwNUUxTko2WHlR?= =?utf-8?B?TVNpdDlvMnQzN1Nqdm1FVTVQb29uYlhDZGlKdEcxbG0yMzhPZnBlVFg0bHlB?= =?utf-8?B?djQ5NFA2WG5tNlFVRENSMXdhMUFzZlB1SFBXdEFicEJUNnU1SHBDRENlRllu?= =?utf-8?B?MEFIMWFEWlFyb01qWWlIL2dGU1pwcEJsK3NrYS9VTjJheFJneUdHKzFZNmVD?= =?utf-8?B?UDNUeFEvWDkrVUdCYlRVY2xkL1JIdDVhL2xTS1RFU2lhS0x4OGlYMWx1azVt?= =?utf-8?B?dVcyeVhJcW5PMnJ2UXZpUVlXVkVTenhWUW5nR1dKYlhYTG9LdVl0NkhYSUVB?= =?utf-8?B?ckV1WWhQMDFBYnMwMlZpNlNLVm91aVpmRm5TZXFuSEd5bWpJZUNuMjRPOXR3?= =?utf-8?B?K3JMUk5iZ1lIbmpwV3BscGcxMFo5Y25KVlM1UDA0cEt0b3l6d2JlRzc0SVBH?= =?utf-8?B?d3REYTE3REMzQzNCRElqbXNPbFhLdStFek81R1VwNWc5ckFrQWlscldVMjF3?= =?utf-8?B?dGxsUy9Va1YrQWRna3EvSXBwMlhKd3N4cVh5NXRCaS9JdWJMRmRNd2tvOUNy?= =?utf-8?B?YnlVZFlQNTZsRi9lTm9vekJzSDg1QjBTL3U4ZEFhazkwdVk2VUY4UHo2Mmdy?= =?utf-8?B?dGNEZWxEMnhreUcvbHFkNjRqMjR3ODlGWkZFNzVGMXdjNlZnam92SWhDeUkv?= =?utf-8?B?L2VWbGJGUFFPZUlVTG1iVkszSWx1MGR1R3I5cXgrbGw1cEZHUHhlOEl5aytt?= =?utf-8?B?V3ZKM2hydUIrOW40eXZxQ1FuZnFBZUVVSW5zTjQrdklsUDVrSDVOdGZ2dkhy?= =?utf-8?B?UGl5SmtVcXVUNEYyblBsaHZRaUNRbnNVaUJnRm05d2lDRE12cm1EQT09?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: e586d4dd-d092-4146-abc3-08de55467fb4 X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB6354.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 21:30:41.3452 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HQoJ99FBZVRGxZbvdWHJD17tkklFV2KOK34g9Ujq+4xjWRcvSpIUlJ5/iy528wyW9g3v/d+FIb+QY7UNkuFzjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7121 On Sat, Jan 10, 2026 at 07:48:34AM -0600, Mario Limonciello (AMD) wrote: > Type 40 entries (Additional information) are summarized in section > 7.41 as part of the SMBIOS specification. These entries aren't > all interesting enough to save, but on some AMD Zen systems the > AGESA version is stored here and can be useful to save into > debugging logs for cross referencing issues when reported. > Should have imperative voice. > Signed-off-by: Mario Limonciello (AMD) > --- > v3: > * Merge patch to show AGESA version (Jean) > * Don't save strings (Jean) > * Avoid out of bounds (Jean) > --- > drivers/firmware/dmi_scan.c | 32 ++++++++++++++++++++++++++++++++ > include/linux/dmi.h | 7 +++++++ > 2 files changed, 39 insertions(+) > > diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c > index caa09ddf0dfa7..e1125d011d24b 100644 > --- a/drivers/firmware/dmi_scan.c > +++ b/drivers/firmware/dmi_scan.c > @@ -396,6 +396,34 @@ static void __init dmi_save_dev_pciaddr(int instance, int segment, int bus, > list_add(&dev->dev.list, &dmi_devices); > } > > +static void __init dmi_scan_additional(const struct dmi_additional_info *info) > +{ > + const u8 *data; > + int i; > + > + if (!info || info->header.length < 5) > + return; > + > + data = info->entries; > + > + for (i = 0; i < info->count; i++) { > + u8 string_num = data[i * 5 + 4]; > + const char *string_ptr; > + int len; > + > + string_ptr = dmi_string_nosave(&info->header, string_num); > + if (!string_ptr || !*string_ptr) > + continue; > + > + len = strlen(string_ptr); > + if (len == 0) > + continue; > + > + if (!strncmp(string_ptr, "AGESA", 5)) > + pr_info("%s\n", string_ptr); > + } > +} > + > static void __init dmi_save_extended_devices(const struct dmi_header *dm) > { > const char *name; > @@ -529,8 +557,12 @@ static void __init dmi_decode(const struct dmi_header *dm, void *dummy) > case DMI_ENTRY_IPMI_DEV: > dmi_save_ipmi_device(dm); > break; > + case DMI_ENTRY_ADDITIONAL: > + dmi_scan_additional((const struct dmi_additional_info *)dm); > + break; > case DMI_ENTRY_ONBOARD_DEV_EXT: > dmi_save_extended_devices(dm); > + break; > } > } > > diff --git a/include/linux/dmi.h b/include/linux/dmi.h > index 2eedf44e68012..4bb1b7882237f 100644 > --- a/include/linux/dmi.h > +++ b/include/linux/dmi.h > @@ -24,6 +24,7 @@ enum dmi_device_type { > DMI_DEV_TYPE_OEM_STRING = -2, > DMI_DEV_TYPE_DEV_ONBOARD = -3, > DMI_DEV_TYPE_DEV_SLOT = -4, > + DMI_DEV_TYPE_ADDITIONAL = -5, > }; > > enum dmi_entry_type { > @@ -91,6 +92,12 @@ struct dmi_device { > void *device_data; /* Type specific data */ > }; > > +struct dmi_additional_info { > + struct dmi_header header; > + u8 count; > + u8 entries[]; > +} __packed; This is wrong. The "entries" are not u8. They are structs with this format: Table 119 – Additional Information Entry format struct dmi_additional_info_entry { u8 length; u16 handle; u8 offset; u8 string /* Variable length "Value" */ } __packed; ACPI tables do this a lot. So there are examples of iterating over variable length entries. Thanks, Yazen