From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.2 Received: from mother.openwall.net (mother.openwall.net [195.42.179.200]) by inbox.vuxu.org (OpenSMTPD) with SMTP id e667514d for ; Wed, 26 Feb 2020 19:54:51 +0000 (UTC) Received: (qmail 24190 invoked by uid 550); 26 Feb 2020 19:54:49 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 24162 invoked from network); 26 Feb 2020 19:54:48 -0000 From: Florian Weimer To: Rich Felker Cc: musl@lists.openwall.com References: <20200226052448.GA2769@voyager> <20200226173621.GA11469@brightrain.aerifal.cx> <87a7556vo8.fsf@mid.deneb.enyo.de> <20200226190042.GB11469@brightrain.aerifal.cx> Date: Wed, 26 Feb 2020 20:53:03 +0100 In-Reply-To: <20200226190042.GB11469@brightrain.aerifal.cx> (Rich Felker's message of "Wed, 26 Feb 2020 14:00:42 -0500") Message-ID: <874kvd6s80.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [musl] [PATCH] Add REL_COPY size change detection * Rich Felker: > On Wed, Feb 26, 2020 at 07:38:31PM +0100, Florian Weimer wrote: >> * Rich Felker: >> >> > At the very least I think we ought to catch and error on the case >> > where def.sym->st_size>sym->st_size, since we can't honor it and >> > failure to honor it can produce silent memory corruption. I'm less >> > sure about what to do if def.sym->st_sizest-size; this case >> > seems safe and might be desirable not to break (I vaguely recall an >> > intent that it be ok), but if you think there are reasons it's >> > dangerous I'm ok with disallowing it too. I'm having a hard time now >> > thinking of a reason it would really help to support that, anyway. >> >> Unfortunately the Mozilla NSS people disagree that size mismatches for >> global symbols are an ABI break. I don't know if this is relevant in >> the musl context, but it means that for glibc, we probably can't make >> it a hard error. >> >> I want to have better diagnostics for this in glibc, but the current >> warning (which is poorly worded at that) is in the >> architecture-specific code, and I got side-tracked when I tried to >> clean this up the last time. > > Thanks for the feedback. Do you have a source where we could read more > about this? What non-broken behavior do they expect to get when sizes > don't match? There's an NSS bug report: It seems that the NSS situation is better than what I remembered. > As an aside, I think we should be encouraging distros that are using > PIE to get rid of copy relocations by passing whatever options are > needed (or building gcc with whatever options are needed) to avoid > emitting them in PIE. IIRC I looked this up once but I can't remember > what I found. If I recall correctly, the optimization was a factor when rolling out PIE-by-default in Fedora. I do not know if we can revert it without switching back to fixed-address builds. Even if we did that, the ABI incompatibility will still be there. There is also a similar truncation issue for TLS variables, I think.