From patchwork Thu Apr 22 19:00:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Puthukattukaran X-Patchwork-Id: 1469412 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=fwts-devel-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=oracle.com header.i=@oracle.com header.a=rsa-sha256 header.s=corp-2020-01-29 header.b=ZlU73BIp; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-oracle-onmicrosoft-com header.b=K8LMiQAi; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FR9Bb3wTpz9sSs for ; Fri, 23 Apr 2021 07:13:26 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1lZgdU-0006VB-St; Thu, 22 Apr 2021 21:13:20 +0000 Received: from userp2130.oracle.com ([156.151.31.86]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lZgEu-0005Iy-0d for fwts-devel@lists.ubuntu.com; Thu, 22 Apr 2021 20:47:56 +0000 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 13MIqIkq104260 for ; Thu, 22 Apr 2021 19:00:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=NRtPpPu/6uOnzrRbV0EWfJMKZy9SJCFL5VZbk/YjMkg=; b=ZlU73BIpjZqUiHYnQQb0MM+53G0ATaMUA8HCigZphPE0vcq0MrPIf1T3U0mrE4N9D8OZ GWrqmaVu7qRxaYnRTyuFA34HHpSs3ICFw4zT7bS7k2dJztOawVKwfDZjLqfGBtGDVrJZ u2N0vvrzHvCy4+D7c0M/RuDF/ZCECX/yVQ9tD+rnPzldsQmEA6Zzo9JySYjVS5e8k2xJ C4rLbE3D2K7j3XTqwh7erBv81ZQEXDJT/BtRgoA7D3UZB/YLyem1Gsk0GSRK7ich5zJ8 pBlJlfyozB2AoR2lSKeKFfvMKE2Mdf+UksTA6bzOC3/oLufbNB908VmXc64BlrmHofZj bg== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 37yveap23p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 22 Apr 2021 19:00:29 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 13MIxx3D031465 for ; Thu, 22 Apr 2021 19:00:28 GMT Received: from nam04-sn1-obe.outbound.protection.outlook.com (mail-sn1nam04lp2056.outbound.protection.outlook.com [104.47.44.56]) by userp3020.oracle.com with ESMTP id 383cg9exrb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 22 Apr 2021 19:00:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bvsp6dWAI3u5qvLBUcgWfXSpcul762X4fNjSfdICZPRxW56zL1qfcxgISB94Oj6zRvGWtx1s8XnhdVFSzZpSbyqEc6W1qq+0G7Mt7l5H+KPuUpQXjwW0iKdSP+Knq5FgzWMnqJNHEx51Y9qXQ82XfS7aQoLR/qbgrw8QUpDmj7h8mvudCTpvKeHTmXIEjtvOHE7aLTSmMX5aRDwq7vkCpqI2P/kyAfOQZo6XrSFxjb43myjS1ch3GsF09eKFL2lclsEG6Dn1CaQYKG90GLPIaa8EObG/BUVeVA0+d596/HxpR0pdBNoH8tTVqP1cziUMBVlqjBt5j0JzhJ8/UAbSsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NRtPpPu/6uOnzrRbV0EWfJMKZy9SJCFL5VZbk/YjMkg=; b=AGsyOE8g4+iyvWjeyolh2JuSNDJ1NfJ/GZ6feosalwe9MtU0e48M9/5VPM8q9AILheWHoUuOoLUt67a6JNLMD7Vq/lMIGvb6JPWlwb/lLnmxr5rL2BYHM1TNnROqZQFY6ijD/2uxRxocOKIcqP49XK34lr2crkw+bcYl74dRIBpLCF6LJWiil1NJtrtTnML3qJAWSNVMirnGuC8Jt+imcJwQDnRmbPTtqOYXmA1Up4OGuCCYddeGTSm7eTUnpFUY02g7udzIwxDeH2r56oIE52eGgWPat7J83BNnjKtD57G3vRnQ5t4vWqfz3gWuxNEE4151P+8R38kccOHw7LIU9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NRtPpPu/6uOnzrRbV0EWfJMKZy9SJCFL5VZbk/YjMkg=; b=K8LMiQAixwKpPruonZXuuMHejFTEBORi/RORxrw0BY8aUeQ27fQzQIg8jYxXxfqbuikVo/5zE09sOGInasTH63VOVTbP+QNPnCW1DqYZc77YeaYFXIpmgnuhFsmZTafW7CmIU5C0e80E9vKJKJgro3ZEZ0eHLaS9FefMfH8j8+4= Received: from BN8PR10MB4083.namprd10.prod.outlook.com (2603:10b6:408:b6::13) by BN0PR10MB5077.namprd10.prod.outlook.com (2603:10b6:408:12e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Thu, 22 Apr 2021 19:00:27 +0000 Received: from BN8PR10MB4083.namprd10.prod.outlook.com ([fe80::4517:d2e8:3a76:dd7a]) by BN8PR10MB4083.namprd10.prod.outlook.com ([fe80::4517:d2e8:3a76:dd7a%6]) with mapi id 15.20.4065.021; Thu, 22 Apr 2021 19:00:27 +0000 From: James Puthukattukaran To: "fwts-devel@lists.ubuntu.com" Subject: [PATCH] dmi: dmicheck: return from dmi_table_smbios*() functions if signature test fails Thread-Topic: [PATCH] dmi: dmicheck: return from dmi_table_smbios*() functions if signature test fails Thread-Index: Adc3qZ5m/USnni3QTKaGiHK7oUsehA== Date: Thu, 22 Apr 2021 19:00:27 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: lists.ubuntu.com; dkim=none (message not signed) header.d=none;lists.ubuntu.com; dmarc=none action=none header.from=oracle.com; x-originating-ip: [173.76.5.239] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f4746a50-acbc-4bb2-372c-08d905c0e45d x-ms-traffictypediagnostic: BN0PR10MB5077: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SvJUVzjBWztNn3P7YJRxulHBw7LPTIwctk9KdNSFNDEEJNCTtxy8XqpnLhzf08X57qwzCMNmTQBUrNdk36CUk5y54b37lO7DpHNCdRGZxLhXFIBoI4WMlsMLRMyRquZy9MvFIpgQyIQMyEmomwmP9/g8QXilW+AsdXJrnQs3D8M7LKDAJHaVS6keULwdr+OLsnj6HN/Gb8we7Ir6c9Pblzk/A8PXRht9Bfk8vsqAtG7N3QyTkL2Vqv+kQRxv767B9ul+cYogFE4kBSKuuXMEp3s7TvvHxpfVeGUmsH4vCa2EIaV0qY9YRX+opa9ugyW51ne3ojMHpcn68388g0zykMMivuWeo/5M9mjyocLikxf7IOQD8ZNg5QWYKq0eUCfWPgRnpnI2bkrI/TaRV9hAQ3AGQmSYA3SE+bYTZYIgyHLEZiiQMGjhLdG5k0gHpPGE0IYKwC941sKx9nSF2cE4koqX5UbFvCWmaLaE0h+hD2l6gUaqLzGujwaEYL8/Jf4+F8jnc7xkoNSjXBO629QSOSiFNd4PO/2YtSDaTJLToP5mWu3XECzt8LpcGFxKNAnWaWybDWZVf8DMXEgZqPfzfZyyWeeAulFU//39lbIq0kE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR10MB4083.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(39860400002)(396003)(376002)(366004)(136003)(71200400001)(52536014)(33656002)(55016002)(316002)(9686003)(66476007)(86362001)(83380400001)(2906002)(5660300002)(44832011)(122000001)(76116006)(478600001)(8936002)(8676002)(186003)(6506007)(7696005)(66946007)(66556008)(64756008)(26005)(38100700002)(66446008)(6916009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: inCeN6SffkTjFa7e4s72/B3p8t0YS/hxHQfBmPFRBMtbm/WQCwXVivbaEmQnxc66d9nHPROwarmpYeM9BsdwKC4aBaggIxlTCxH+E0yqbWQHkgbDMB/zPRJ8IpERxAVMLxBuOVTRaPu02k2p2+pvkp5PyVaIck6cDz+3Gn4rWWQVfbRdnCizksf8zdVLCY2uEZjCA1NWOFqKqdkS8TcgAz1naSNWPBIh818AONkdR5QGNFLdJSd9Y2vNkZZi37A2md0po4M3gccRh+XxSqhMe1fb8ucTLZFfyiCLQVGSvHzvXOX0AtiCR8AWc0be7oVYMAL4UfSzTX3+6x1FXalzFBe5DELATDIqNEPVnEAarwVBKu4sxWcuBp7ZSHYRXLNr0l77ZAj4JJmAkZ0sobgjk5KDBS/nBon1fh0oBVxvUYoUARgRH8TRQ94Bi+YbNXLKPz6PHQHMnPof2obCn7E48L4wJi5q5fII4FVa31pXcyM0CgkHhVfo9rlpSsvxzGUP8sj1czallZ3Qxv4BY/RrETMmvHZEenXxUzWRWfWaLt28Fi2aHRpd1YnU6SF0SGqgkbArym+dXwqj6mNESVayPTS/FZzYzYt0CMiLlk6bVA81+oW6bYiRKFcXXA43qrnklWBjc9+K/wmXlqK9NACjgfec6AG/I6YZfaKJaG0PPzU8lWeA5x2v9ACr/PYlgWeXLzVFzPO9dvheh+J70jTDIbC5WCuIl6Tvxm6g2tddkeJ6GDlDBrZw/lSFbYnYnAFB8/GrXuWEOTJZf5SNWsUNf6CGnEL95Dz9tEPCa4kY0kM4oU84nNnKPkJk+uEKKJ15hHrnYxut5hWMm6OyBoEhSN2ExP3kgx0UZ+BZQKMFxLMeLMNRdXOKBB7WtRtMFibhbex2KZpeTXa2sNUMVqzgpG5cqarZfKQiCkboRQOORl93/qbOizQfKqXHztbD9jbX8+yr8RBKFi8/tfY5ObfZRflZh9Fkje2BE5HrWa6i0zPsh6qBTxrlP/swxuRAF3qxRdYAc4uRScZfJZFsv3Njb0F7dldUa0WUJavGX6G2bS4p90h23ge7wMjr1tGKYrF+qgYbwH4OUUlPpe66ZZP2rIg2J/oz7Se/IdiUJKcgrIqGZeE/BwemLmN6K4FBzz7B3WRkVlDBC2w0+4GlxLu0MpXLOT9BUy7klYFKYlTb1nB2L66bW1N0RU+yrE09o3n2s1yMAOesi4+H3plSoyLAngQ1omKrem8+voBU+YsUTDQ5kd15NSfWwGrB1qqfi6wI7f2MTZZlp+MquJGWCU8v1xZtY2+uTstRh6+pAVtSkY3OUYZsYQLhkX5f7zYjif3C x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR10MB4083.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4746a50-acbc-4bb2-372c-08d905c0e45d X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2021 19:00:27.1750 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +XwLIBk4k61sEzs1pbmx+956VsEgDgi/IH9mjs+RknRdL0bU1e38chrvyc2p76KXzgr+nCkguTa+Kedn0sY3CHu8JJ1M0z5/r7ugDhYIx0ugb1NsDn4IXY/7meIuuauO X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5077 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9962 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104220140 X-Proofpoint-GUID: XFqPj8MO9gXWC6gBBg4U3T66e9gk_rbb X-Proofpoint-ORIG-GUID: XFqPj8MO9gXWC6gBBg4U3T66e9gk_rbb X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9962 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 phishscore=0 mlxscore=0 suspectscore=0 lowpriorityscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 adultscore=0 malwarescore=0 clxscore=1011 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104220139 X-Mailman-Approved-At: Thu, 22 Apr 2021 21:13:20 +0000 X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: "fwts-devel" If the dmi_table_smbios*() functions don't match the signature for the paticular table, then return. Signed-off-by: James Puthukattukaran --- src/dmi/dmicheck/dmicheck.c | 46 +++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) } + free(table); + mem = fwts_mmap(addr, length); if (mem != FWTS_MAP_FAILED) { @@ -418,16 +421,19 @@ static void* dmi_table_smbios30(fwts_framework *fw, fwts_s mbios30_entry *entry) } if (dmi_load_file("/sys/firmware/dmi/tables/smbios_entry_point", anchor, 5) == FWTS_OK - && strncmp(anchor, "_SM3_", 5) == 0) { - table = malloc(length); - if (!table) - return NULL; - if (dmi_load_file_variable_size("/sys/firmware/dmi/tables/DMI", table, &length) == FWTS_OK) { - fwts_log_info(fw, "SMBIOS30 table loaded from /sys/firmw are/dmi/tables/DMI"); - return table; - } - free(table); + && strncmp(anchor, "_SM3_", 5) != 0) + return NULL; + + + table = malloc(length); + if (!table) + return NULL; + if (dmi_load_file_variable_size("/sys/firmware/dmi/tables/DMI", table, & length) == FWTS_OK) { + fwts_log_info(fw, "SMBIOS30 table loaded from /sys/firmware/dmi/ tables/DMI"); + return table; } + free(table); + mem = fwts_mmap(addr, length); if (mem != FWTS_MAP_FAILED) { @@ -648,6 +654,8 @@ static int smbios_entry_check(fwts_framework *fw) */ if (dmi_sane(fw, &entry) == FWTS_OK) fwts_passed(fw, "SMBIOS Table Entry Structure Table Addr ess and Length looks valid."); + else + return FWTS_ERROR; } return FWTS_OK; @@ -769,6 +777,8 @@ static int smbios30_entry_check(fwts_framework *fw) */ if (dmi_smbios30_sane(fw, &entry) == FWTS_OK) fwts_passed(fw, "SMBIOS 3.0 Table Entry Structure Table Address and Length looks valid."); + else + return FWTS_ERROR; } return FWTS_OK; -- 1.8.3.1 diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c index a240365..99cb893 100644 --- a/src/dmi/dmicheck/dmicheck.c +++ b/src/dmi/dmicheck/dmicheck.c @@ -370,16 +370,19 @@ static void* dmi_table_smbios(fwts_framework *fw, fwts_smb ios_entry *entry) } if (dmi_load_file("/sys/firmware/dmi/tables/smbios_entry_point", anchor, 4) == FWTS_OK - && strncmp(anchor, "_SM_", 4) == 0) { - table = malloc(length); - if (!table) - return NULL; - if (dmi_load_file("/sys/firmware/dmi/tables/DMI", table, length) == FWTS_OK) { - fwts_log_info(fw, "SMBIOS table loaded from /sys/firmwar e/dmi/tables/DMI"); - return table; - } - free(table); + && strncmp(anchor, "_SM_", 4) != 0) + return NULL; + + + table = malloc(length); + if (!table) + return NULL; + if (dmi_load_file("/sys/firmware/dmi/tables/DMI", table, length) == FWTS _OK) { + fwts_log_info(fw, "SMBIOS table loaded from /sys/firmware/dmi/ta bles/DMI"); + return table;