Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp4046720pxy; Tue, 4 May 2021 16:40:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1nFG6uMpA4kGO8l61MX8/p3T/mEDkgzM11uZAptfsxJKraaM6QsBfYoN5hHICZIugdpM4 X-Received: by 2002:a17:907:2bc7:: with SMTP id gv7mr24381910ejc.187.1620171643095; Tue, 04 May 2021 16:40:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620171643; cv=none; d=google.com; s=arc-20160816; b=oBkJZc0Ujnx8iVfZSWEeVQU9JYxq48KkhZgDqj2DYJoMsrEN9Vp8d4O6/9jm0XgK+U HKdbG8S+9A8tWIEzOqBPj6NpQkp8gCx4QhOE6R7yVpZtznfjH2iqtDr4Tk3Nh7tt4eYF W18CPam1f0B76dwpRcQoseUsRlLoS/0TWsnpU2tWub2AsgUgwLvqavEFCJQYrW7r4cAx DepM88IQCCK88yAsxU5E9Wa7I38Cytf/d6RpTz+NN3M28FISuFzuBZJlwUJRbqHoM2gH 6bObPWbAPc9wwge0kI5EA8QETRpf4CyBy8PVOPg2Avs8/rgYpdR6niBstJAWfy4lcrfA vU9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature:dkim-filter; bh=iPiRNYpjRwzimrh0K0tYcnGX1TG+68HNv8cU+qTFNlE=; b=pit3GZnwpePyS4P8DbgVAiMsFumcQ33kDCNITzK+yVHxklkkrswX40dB6Jr/0opzji m/BdbwPJbnztzlWqDb2rJn4pMGZYy7ueqhWXiiA0RGDn8+e3trGU+A2yBbYugBuZ4IX0 EoP+uoXyOpPmelIGtJ/vtiswuDWHEwwXASJ5SIWLJDzEeprRR234/wcDyhwzKCPgBWiN 6s8mQyfXfSpfh+bw5ClE1uFZrZkbqwt18zIaqBcv+h3W8mWSdXoGylmh5nQ43CCX6wCp DLhzNf6o0YStQuIwUDIen7gENkNLOr0+NKV3i6FljpACjVZqhhyHqR+DkA8myJRGzyzv FLyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=MHuTR0PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s21si4184286edt.606.2021.05.04.16.40.19; Tue, 04 May 2021 16:40:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=MHuTR0PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231146AbhEDXOh (ORCPT + 99 others); Tue, 4 May 2021 19:14:37 -0400 Received: from linux.microsoft.com ([13.77.154.182]:60436 "EHLO linux.microsoft.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229960AbhEDXOg (ORCPT ); Tue, 4 May 2021 19:14:36 -0400 Received: from [192.168.254.32] (unknown [47.187.223.33]) by linux.microsoft.com (Postfix) with ESMTPSA id 596C820B7178; Tue, 4 May 2021 16:13:40 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 596C820B7178 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1620170021; bh=iPiRNYpjRwzimrh0K0tYcnGX1TG+68HNv8cU+qTFNlE=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=MHuTR0PCggMxKIWmmSaj3Dkz01I4Csml3R14Taa2MwE5x0SRFnY4FdtVQb7ULnW2d m+1Q7clUEvTyxL4XXv1SEZ8Qf2Ok2fgI8qBqjfxB4qeKGLDgL2gZAS+xz8O5bVjv+i /IknZDpVFHJpXgCGE0Z/5oFwcmKkm74n9etbKHJY= Subject: Re: [RFC PATCH v3 1/4] arm64: Introduce stack trace reliability checks in the unwinder To: Josh Poimboeuf Cc: broonie@kernel.org, mark.rutland@arm.com, jthierry@redhat.com, catalin.marinas@arm.com, will@kernel.org, jmorris@namei.org, pasha.tatashin@soleen.com, linux-arm-kernel@lists.infradead.org, live-patching@vger.kernel.org, linux-kernel@vger.kernel.org References: <65cf4dfbc439b010b50a0c46ec500432acde86d6> <20210503173615.21576-1-madvenka@linux.microsoft.com> <20210503173615.21576-2-madvenka@linux.microsoft.com> <20210504215248.oi3zay3memgqri33@treble> From: "Madhavan T. Venkataraman" Message-ID: Date: Tue, 4 May 2021 18:13:39 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210504215248.oi3zay3memgqri33@treble> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/4/21 4:52 PM, Josh Poimboeuf wrote: > On Mon, May 03, 2021 at 12:36:12PM -0500, madvenka@linux.microsoft.com wrote: >> @@ -44,6 +44,8 @@ int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame) >> unsigned long fp = frame->fp; >> struct stack_info info; >> >> + frame->reliable = true; >> + > > Why set 'reliable' to true on every invocation of unwind_frame()? > Shouldn't it be remembered across frames? > This is mainly for debug purposes in case a caller wants to print the whole stack and also print which functions are unreliable. For livepatch, it does not make any difference. It will quit as soon as it encounters an unreliable frame. > Also, it looks like there are several error scenarios where it returns > -EINVAL but doesn't set 'reliable' to false. > I wanted to make a distinction between an error situation (like stack corruption where unwinding has to stop) and an unreliable situation (where unwinding can still proceed). E.g., when a stack trace is taken for informational purposes or debug purposes, the unwinding will try to proceed until either the stack trace ends or an error happens. Madhavan