From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8EE9721C8EFB5 for ; Fri, 23 Nov 2018 01:40:05 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 718123154861; Fri, 23 Nov 2018 09:40:04 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-112.rdu2.redhat.com [10.10.120.112]) by smtp.corp.redhat.com (Postfix) with ESMTP id F20B783EA1; Fri, 23 Nov 2018 09:39:59 +0000 (UTC) To: Ard Biesheuvel Cc: "edk2-devel@lists.01.org" , Leif Lindholm , Thomas Panakamattam Abraham , Nariman Poushin , =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= References: <20181122172645.20819-1-ard.biesheuvel@linaro.org> <20181122172645.20819-5-ard.biesheuvel@linaro.org> From: Laszlo Ersek Message-ID: Date: Fri, 23 Nov 2018 10:39:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Fri, 23 Nov 2018 09:40:04 +0000 (UTC) Subject: Re: [PATCH edk2-platforms 4/4] Platform/ARM/BdsLib: maintain alignment for DevicePaths X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Nov 2018 09:40:05 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 11/23/18 09:35, Ard Biesheuvel wrote: > On Thu, 22 Nov 2018 at 19:35, Laszlo Ersek wrote: >> [...] > Indeed. I am updating the second patch to get rid of everything in > BdsLib we are not currently using. Thanks! > Looking at 56bed2f41022afcbadecc9f2d537bd31c3d44cbc ("^W never mind > ... heh :) > the intent appears to be that device path struct members do appear > naturally aligned, even if the size of the data structure is not a > multiple of the max alignment we expect to encounter. > > Presumably, this is why CoreConnectController () does the same in this > regard. Yeah, that's certainly for working around bugs elsewhere in the firmware. The UEFI spec 2.7 says in "10.3.1 Generic Device Path Structures": A Device Path is a series of generic Device Path nodes. The first Device Path node starts at byte offset zero of the Device Path. The next Device Path node starts at the end of the previous Device Path node. Therefore all nodes are byte-packed data structures that may appear on any byte boundary. *All code references to device path notes must assume all fields are unaligned.* (Emphasis mine. And yes, the exact sentence that I'm quoting this section for contains a typo, s/notes/nodes/.) [...] Thanks! Laszlo