From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752555AbdEHIRW (ORCPT ); Mon, 8 May 2017 04:17:22 -0400 Received: from jablonecka.jablonka.cz ([91.219.244.36]:35870 "EHLO jablonecka.jablonka.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751558AbdEHIRV (ORCPT ); Mon, 8 May 2017 04:17:21 -0400 X-Greylist: delayed 1583 seconds by postgrey-1.27 at vger.kernel.org; Mon, 08 May 2017 04:17:20 EDT Date: Mon, 8 May 2017 09:50:54 +0200 From: Vojtech Pavlik To: Josh Poimboeuf Cc: hpa@zytor.com, Ingo Molnar , Linus Torvalds , Jiri Slaby , Andrew Morton , live-patching@vger.kernel.org, Linux Kernel Mailing List , Thomas Gleixner , Ingo Molnar , the arch/x86 maintainers , Andy Lutomirski , Jiri Kosina Subject: Re: [PATCH 7/7] DWARF: add the config option Message-ID: <20170508075054.GA24008@suse.com> References: <20170505122200.31436-1-jslaby@suse.cz> <20170505122200.31436-7-jslaby@suse.cz> <20170507165524.cdxfuwbd5alr7v6k@treble> <20170507175915.ggwfusgvbwfqsvtz@gmail.com> <3980F538-919F-4A51-B7FE-4EC6E86AA259@zytor.com> <20170507214836.62odebycv42fzngm@treble> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170507214836.62odebycv42fzngm@treble> X-Bounce-Cookie: It's a lemon tree, dear Watson! User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, May 07, 2017 at 04:48:36PM -0500, Josh Poimboeuf wrote: > > Can objtool verify the unwinder at each address in the kernel, or is that an AI-complete problem? > > It can't verify the *unwinder*, but it can verify the data which is fed > to the unwinder (either DWARF or the structs I proposed above). For > each function, it follows every possible code path, and it can keep > track of the stack pointer while doing so. In that case, the kernel build process can verify the DWARF data and its compatibility with the kernel unwinder by running the unwinder against each kernel code address verifying the output and bail if there is a bug in the toolchain that affects it. -- Vojtech Pavlik Director SuSE Labs