From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751205AbdEaBnV (ORCPT ); Tue, 30 May 2017 21:43:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39180 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750993AbdEaBnU (ORCPT ); Tue, 30 May 2017 21:43:20 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com F212C80B22 Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=bhe@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com F212C80B22 Date: Wed, 31 May 2017 09:43:15 +0800 From: Baoquan He To: Arnd Bergmann Cc: Ingo Molnar , the arch/x86 maintainers , "H. Peter Anvin" , Thomas Gleixner , Kees Cook , Thomas Garnier , Dave Jiang , Linux Kernel Mailing List Subject: Re: [PATCH] x86/KASLR: use the right memcpy Message-ID: <20170531014315.GA8840@x1> References: <20170530091446.1000183-1-arnd@arndb.de> <20170530135656.GA4627@x1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.7.0 (2016-08-17) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Wed, 31 May 2017 01:43:19 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/30/17 at 04:24pm, Arnd Bergmann wrote: > On Tue, May 30, 2017 at 3:56 PM, Baoquan He wrote: > > On 05/30/17 at 11:14am, Arnd Bergmann wrote: > >> The decompressor has its own implementation of the string functions, > >> but has to include the right header to get those, while implicitly > >> including linux/string.h may result in a link error: > >> > >> arch/x86/boot/compressed/kaslr.o: In function `choose_random_location': > >> kaslr.c:(.text+0xf51): undefined reference to `_mmx_memcpy' > >> > >> This has appeared now as kaslr started using memcpy. Other files in the > >> decompressor already do the same thing. > >> > >> Fixes: d52e7d5a952c ("x86/KASLR: Parse all 'memmap=' boot option entries") > >> Signed-off-by: Arnd Bergmann > > > > Thanks for this fix, Arnd! > > > > The linking error didn't happen when I tested the patch of d52e7d5a952c. > > Could you tell in what condition it will be triggered? Not sure if I > > should wait for this fix being merged and do a back porting, or can > > defer it if it's not risky. > > It only happens on 32-bit kernels with CONFIG_X86_USE_3DNOW, maybe > there are additional requirements. Checked code again, in commit d52e7d5a952c "#include "../boot.h" is removed. Not sure if that removal caused the 32-bit kernel link error. While I didn't see boot/string.h is included into the boot/boot.h.