From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cmx-torrgo001.bell.net (mta-tor-003.bell.net [209.71.212.30]) by sourceware.org (Postfix) with ESMTP id DA9E23888C6B for ; Wed, 16 Mar 2022 16:50:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DA9E23888C6B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=bell.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bell.net X-RG-CM-BuS: 0 X-RG-CM-SC: 0 X-RG-CM: Clean X-Originating-IP: [70.50.7.94] X-RG-Env-Sender: dave.anglin@bell.net X-RG-Rigid: 6228049100A576C9 X-CM-Envelope: MS4xfJ+Ow+SEaagrR8Y43d6UMhMgYAlucHdX0M4c3mqj/zcV5t4YTnKlvMtHYxNT9CdfvOJhtCvBGoDQ18mJ97p0E+T7146ZmmEli3f8XwQVgWoOz/443j+K MpJZQKZgL744jZI+yxa6hNFSO+CDxaubVsllYXw+2VlaWDMlq+oqtkLsv55TnFerQSynVV8e9Jzf5NksJMWnPnpGv8RgP9428OlugDuWUQINB+2wvDDKl159 zB3nk8roSY9QX4FKOe+1OIGcVCmzDO7JCT9Ctl4y030= X-CM-Analysis: v=2.4 cv=B8zabMhM c=1 sm=1 tr=0 ts=62321549 a=9k1bCY7nR7m1ZFzoCuQ56g==:117 a=9k1bCY7nR7m1ZFzoCuQ56g==:17 a=IkcTkHD0fZMA:10 a=FBHGMhGWAAAA:8 a=nh15xg6AHbW6TjJyD_gA:9 a=QEXdDO2ut3YA:10 a=9gvnlMMaQFpL9xblJ6ne:22 Received: from [192.168.2.49] (70.50.7.94) by cmx-torrgo001.bell.net (5.8.807) (authenticated as dave.anglin@bell.net) id 6228049100A576C9; Wed, 16 Mar 2022 12:50:17 -0400 Message-ID: <4559f033-adcf-792f-d6dc-02fb4f09cdd2@bell.net> Date: Wed, 16 Mar 2022 12:50:18 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v3, resend] Fix misaligned accesses to fields in HEADER struct defined in Content-Language: en-US To: Andreas Schwab Cc: libc-alpha@sourceware.org References: <87k0ctdgbb.fsf@igel.home> From: John David Anglin In-Reply-To: <87k0ctdgbb.fsf@igel.home> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, NICE_REPLY_A, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Mar 2022 16:50:25 -0000 On 2022-03-16 12:15 p.m., Andreas Schwab wrote: > On Mär 15 2022, John David Anglin wrote: > >> diff --git a/resolv/res_mkquery.c b/resolv/res_mkquery.c >> index 5bc5b41531..9b82c82157 100644 >> --- a/resolv/res_mkquery.c >> +++ b/resolv/res_mkquery.c >> @@ -193,6 +193,15 @@ context_mkquery_common (struct resolv_context *ctx, >> return result; >> } >> >> +/* The structure HEADER is normally aligned to a word boundary and its >> + fields are accessed using word loads and stores. We need to access >> + this structure when it is aligned on a byte boundary. This can cause >> + problems on machines with strict alignment. So, we create a new >> + typedef to reduce its alignment to one. This ensures the fields are >> + accessed with byte loads and stores. */ >> +typedef HEADER __attribute__ ((__aligned__(1))) UHEADER; >> +#define HEADER UHEADER >> + > The only use of HEADER below that point is in __res_nopt, and AFACS the > only caller __res_context_query always uses aligned memory. Yes, it appears the callers of __res_nopt always use aligned memory.  I'll check if this hunk can be removed. -- John David Anglin dave.anglin@bell.net