From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756472AbbJAPjK (ORCPT ); Thu, 1 Oct 2015 11:39:10 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:33284 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751123AbbJAPjJ (ORCPT ); Thu, 1 Oct 2015 11:39:09 -0400 Subject: Re: [PATCH v13.1 04/23] x86/stacktool: Compile-time stack metadata validation To: Josh Poimboeuf References: <5904ee9a899cc4c0b3b9be9b96a3b82a278c9612.1442935712.git.jpoimboe@redhat.com> <56028F27.9040309@suse.cz> <56028FA1.1080801@suse.cz> <20150923124220.GA29940@treble.redhat.com> <20151001145050.GA18580@canonical.com> <20151001152553.GB4269@treble.redhat.com> Cc: Jiri Slaby , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, Michal Marek , Peter Zijlstra , Andy Lutomirski , Borislav Petkov , Linus Torvalds , Andi Kleen , Pedro Alves , Namhyung Kim , Bernd Petrovitsch , Andrew Morton From: Chris J Arges X-Enigmail-Draft-Status: N1110 Message-ID: <560D5377.9080308@canonical.com> Date: Thu, 1 Oct 2015 10:38:31 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20151001152553.GB4269@treble.redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/01/2015 10:25 AM, Josh Poimboeuf wrote: > On Thu, Oct 01, 2015 at 09:50:51AM -0500, Chris J Arges wrote: >> >>> + >>> +$(STACKTOOL_IN): FORCE >>> + @$(MAKE) $(build)=stacktool >>> + >>> +$(STACKTOOL): $(STACKTOOL_IN) >>> + @(test -d ../../kernel -a -d ../../tools -a -d ../stacktool && (( \ >>> + diff -I'^#include' arch/x86/insn/insn.c ../../arch/x86/lib/insn.c >/dev/null && \ >>> + diff -I'^#include' arch/x86/insn/inat.c ../../arch/x86/lib/inat.c >/dev/null && \ >>> + diff arch/x86/insn/x86-opcode-map.txt ../../arch/x86/lib/x86-opcode-map.txt >/dev/null && \ >>> + diff arch/x86/insn/gen-insn-attr-x86.awk ../../arch/x86/tools/gen-insn-attr-x86.awk >/dev/null && \ >>> + diff -I'^#include' arch/x86/insn/insn.h ../../arch/x86/include/asm/insn.h >/dev/null && \ >>> + diff -I'^#include' arch/x86/insn/inat.h ../../arch/x86/include/asm/inat.h >/dev/null && \ >>> + diff -I'^#include' arch/x86/insn/inat_types.h ../../arch/x86/include/asm/inat_types.h >/dev/null) \ >>> + || echo "Warning: stacktool: x86 instruction decoder differs from kernel" >&2 )) || true >>> + $(QUIET_LINK)$(CC) $(STACKTOOL_IN) $(LDFLAGS) -o $@ >>> + >>> +clean: >>> + $(call QUIET_CLEAN, stacktool) $(RM) $(STACKTOOL) >>> + $(Q)find $(OUTPUT) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete >>> + $(Q)$(RM) $(OUTPUT)arch/x86/insn/inat-tables.c >>> + >>> +FORCE: >>> + >>> +.PHONY: clean FORCE >> >> Josh, >> >> I'm getting the following error when the above makefile is called: >> Warning: stacktool: x86 instruction decoder differs from kernel > > It's just a warning, not an error, right? Just want to make sure it > didn't fail the build. The files are in sync on tip/master. > Correct just a warning. And once I rebased correctly things are in sync. Thanks and sorry for the noise. --chris >> This was seen with your patches rebased on v4.3-rc2. >> >> It is failing on this diff: >> diff arch/x86/insn/x86-opcode-map.txt ../../arch/x86/lib/x86-opcode-map.txt >> >> And the output is as follows: >> 902,904d890 >> < 3: xrstors >> < 4: xsavec >> < 5: xsaves >> 949,950c935,936 >> < 6: XSAVEOPT | clwb (66) | mfence (11B) >> < 7: clflush | clflushopt (66) | sfence (11B) | pcommit (66),(11B) >> --- >>> 6: XSAVEOPT | mfence (11B) >>> 7: clflush | sfence (11B) >> >> Why do these files essentially need to be duplicated? Would it be possible to >> point Make at the files that are already in ../../arch/x86/*? > > They're duplicated because the "tools" dir is supposed to be source > independent from the rest of the kernel tree. >