From nobody Tue May 7 09:40:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78896+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78896+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628451643; cv=none; d=zohomail.com; s=zohoarc; b=YfHP8SSzGUhlxMUahr9C/0cPKupZwfaGCLp1FJ2nCD7NSZIu/wkvu7opiXwnLDnbl+8NfmKCTKx1ybK/3hHt93sWfEglvuSALaqkNYUPrnBuYaZeyJUpFyKe0GEKoMFc9ThM9UzQXsW7BU2wWiAp+Y1OBAOD+QpVVeLMQAXG88g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628451643; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=Cnz1DDidqkWiBccU+r+JndvQv569yVYNMvKQeiwyRHQ=; b=OOfZeL/KcGj+BYIa9BdDM1SNR8MPDdTUFSWjuRRz2deSKTzlSUS8bVDbNGLH9DGM0V1kZ9cYQWT+PeNreEHNtmi4nMUt6Sc9tj/nLuy76HcWW5lqIXR2gpChIzYW2c8vHw94JPcy5hb/a6zcQeFpjwszzAeESIQzQLodieLL7Po= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78896+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628451643738892.7361124569469; Sun, 8 Aug 2021 12:40:43 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ua9eYY1788612xbmiaCypT9P; Sun, 08 Aug 2021 12:40:43 -0700 X-Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web10.13767.1628451642032059951 for ; Sun, 08 Aug 2021 12:40:42 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 6FAB7240026 for ; Sun, 8 Aug 2021 21:40:40 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4GjV1g6Y7kz6tm6; Sun, 8 Aug 2021 21:40:39 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Vitaly Cheptsov Subject: [edk2-devel] [PATCH] BaseTools/CommonLib: Fix unaligned API prototypes Date: Sun, 8 Aug 2021 19:39:54 +0000 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: X3OpOHPmOK5AkD0Ahkz3kzzix1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628451643; bh=jS88XB+VkDI6Kr5gKdcyhDXem+Kfp4fuVQZd6ZkCDXo=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=nVVwYfWivmuyqdeVf8z+lx0WV7j18Kr12vDWo5imoKEU3B2++P/u3yFZS3VxD1gpiUj +7ulX3/QN3zLs3qB2xK78jWEu7OGSR4nOhUlx6m9Xbfuuicj97tcUSdJNPixvutqBLbiD w9rXvRTAnkFIz80ZsXCEiX2vRFTHPzEw62s= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628451643960100075 Content-Type: text/plain; charset="utf-8" C prohibits not only dereferencing but also casting to unaligned pointers. Thus, the current set of unaligned APIs cannot be called safely. Update their prototypes to take VOID * pointers, which must be able to represent any valid pointer. Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- BaseTools/Source/C/Common/CommonLib.c | 16 ++++++++-------- BaseTools/Source/C/Common/CommonLib.h | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/BaseTools/Source/C/Common/CommonLib.c b/BaseTools/Source/C/Com= mon/CommonLib.c index 7fb4ab764fcd..f1223fb2ae0a 100644 --- a/BaseTools/Source/C/Common/CommonLib.c +++ b/BaseTools/Source/C/Common/CommonLib.c @@ -1154,23 +1154,23 @@ StrSize ( =20 UINT64 ReadUnaligned64 ( - CONST UINT64 *Buffer + CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer; + return *(CONST UINT64 *) Buffer; } =20 UINT64 WriteUnaligned64 ( - UINT64 *Buffer, + VOID *Buffer, UINT64 Value ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer =3D Value; + return *(UINT64 *) Buffer =3D Value; } =20 =20 @@ -2018,23 +2018,23 @@ AllocatePool ( =20 UINT16 WriteUnaligned16 ( - UINT16 *Buffer, + VOID *Buffer, UINT16 Value ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer =3D Value; + return *(UINT16 *) Buffer =3D Value; } =20 UINT16 ReadUnaligned16 ( - CONST UINT16 *Buffer + CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer; + return *(CONST UINT16 *) Buffer; } /** Return whether the integer string is a hex string. diff --git a/BaseTools/Source/C/Common/CommonLib.h b/BaseTools/Source/C/Com= mon/CommonLib.h index 0f05d88db206..67c42a91765d 100644 --- a/BaseTools/Source/C/Common/CommonLib.h +++ b/BaseTools/Source/C/Common/CommonLib.h @@ -238,13 +238,13 @@ CopyGuid ( =20 UINT64 WriteUnaligned64 ( - UINT64 *Buffer, + VOID *Buffer, UINT64 Value ); =20 UINT64 ReadUnaligned64 ( - CONST UINT64 *Buffer + CONST VOID *Buffer ); =20 UINTN @@ -363,13 +363,13 @@ AllocatePool ( =20 UINT16 WriteUnaligned16 ( - UINT16 *Buffer, + VOID *Buffer, UINT16 Value ); =20 UINT16 ReadUnaligned16 ( - CONST UINT16 *Buffer + CONST VOID *Buffer ); =20 VOID * --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78896): https://edk2.groups.io/g/devel/message/78896 Mute This Topic: https://groups.io/mt/84754071/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-